<?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 wodne ogrzewanie podłogowe - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/wodne-ogrzewanie-podlogowe/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/wodne-ogrzewanie-podlogowe/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Mon, 22 Jun 2026 11:42:29 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa wodne ogrzewanie podłogowe - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/wodne-ogrzewanie-podlogowe/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Rozstaw rur w wodnym ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 25 Jan 2026 08:32:32 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Projekty techniczne]]></category>
		<category><![CDATA[Rodzaje rur grzewczych]]></category>
		<category><![CDATA[Rozstaw rur ogrzewania]]></category>
		<category><![CDATA[Rozstaw rur podłogówki]]></category>
		<category><![CDATA[Rozstaw rur w podłogówce]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[delta t]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[moc ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3301</guid>

					<description><![CDATA[<p>Planując wodne ogrzewanie podłogowe, wielu inwestorów skupia się na źródle ciepła, zapominając o kluczowym parametrze, jakim jest rozstaw rur w wodnym ogrzewaniu podłogowym. To właśnie on w największym stopniu decyduje o mocy systemu, równomierności grzania oraz realnym komforcie użytkowania. W artykule krok po kroku wyjaśniamy, jak fizyka, straty ciepła budynku, rodzaj posadzki i geometria pętli wpływają na optymalny rozstaw rur. Pokazujemy konkretne liczby, przykłady techniczne, symulacje oraz pułapki projektowe, które mogą kosztować drogie błędy na etapie eksploatacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Rozstaw rur w wodnym ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Planując instalację wodnego ogrzewania podłogowego, jednym z najważniejszych i najczęściej analizowanych parametrów jest&nbsp;<strong>rozstaw rur</strong>. Od tego, w jakiej odległości od siebie ułożymy pętle grzewcze, zależy nie tylko końcowy komfort cieplny, ale także efektywność i równomierność ogrzewania całej powierzchni. Wbrew pozorom, nie ma jednej uniwersalnej wartości, którą można zastosować w każdym budynku.&nbsp;<strong>Optymalny rozstaw rur</strong>&nbsp;jest wypadkową wielu zmiennych: od projektu architektonicznego przez parametry techniczne budynku po oczekiwania użytkowników. W tym artykule, przeznaczonym zarówno dla osób planujących inwestycję, jak i dla wykonawców, dogłębnie przeanalizujemy wszystkie czynniki wpływające na ten kluczowy aspekt projektowy, popierając teorię praktycznymi wyliczeniami i przykładami.</p>



<h2 class="wp-block-heading">Podstawy fizyki grzania: dlaczego rozstaw ma tak ogromne znaczenie?</h2>



<p class="wp-block-paragraph">Aby zrozumieć, jak&nbsp;<strong>odległość między rurami</strong>&nbsp;wpływa na pracę systemu, musimy wyobrazić sobie pole grzewcze jako źródło ciepła o określonej mocy. <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">Rury</a>, przez które płynie gorąca woda, oddają ciepło do otaczającego je jastrychu (płyty betonowej). Ciepło następnie przewodzone jest przez warstwy podłogi na jej powierzchnię. Im rury są bliżej siebie, tym&nbsp;<strong>strumień cieplny</strong>&nbsp;na powierzchni podłogi jest bardziej równomierny, a tzw.&nbsp;<strong>efekt „stopy słonia”</strong>&nbsp;(czyli wyczuwalnych, naprzemiennych pasów ciepła i chłodu) jest eliminowany.</p>



<p class="wp-block-paragraph"><strong>Gęstość ułożenia <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a></strong>&nbsp;bezpośrednio przekłada się na&nbsp;<strong>moc grzewczą</strong>&nbsp;jednostki powierzchni, wyrażaną w Watach na metr kwadratowy [W/m²]. Dla standardowej rury 16&#215;2 mm i typowych parametrów pracy (temp. zasilania 40°C, powrotu 35°C, temp. pomieszczenia 20°C) przyjmuje się następujące, przybliżone wartości mocy:</p>



<ul class="wp-block-list">
<li>Przy&nbsp;<strong>rozstawie 10 cm</strong>: ok.&nbsp;<strong>100 W/m²</strong></li>



<li>Przy&nbsp;<strong>rozstawie 15 cm</strong>: ok.&nbsp;<strong>80 W/m²</strong></li>



<li>Przy&nbsp;<strong>rozstawie 20 cm</strong>: ok.&nbsp;<strong>65 W/m²</strong></li>



<li>Przy&nbsp;<strong>rozstawie 25 cm</strong>: ok.&nbsp;<strong>55 W/m²</strong></li>
</ul>



<p class="wp-block-paragraph">Jak widać, zmniejszając&nbsp;<strong>odstęp między przewodami</strong>&nbsp;z 20 cm do 10 cm, teoretycznie podwajamy moc grzewczą podłogi. To kluczowa informacja przy doborze systemu do pomieszczeń o dużych stratach ciepła.</p>



<h3 class="wp-block-heading">Główne czynniki decydujące o wyborze odpowiedniego rozstawu.</h3>



<p class="wp-block-paragraph">Proces ustalania&nbsp;<strong>odległości między rurami</strong>&nbsp;w instalacji podłogowej to zawsze praca inżynierska, polegająca na bilansowaniu poniższych elementów.</p>



<h4 class="wp-block-heading">1. Straty ciepła pomieszczenia i wymagana moc grzewcza.</h4>



<p class="wp-block-paragraph">To punkt wyjścia każdego projektu.&nbsp;<strong>Zapotrzebowanie na ciepło</strong>&nbsp;dla danego pomieszczenia oblicza się zgodnie z normą <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831</a>, biorąc pod uwagę:</p>



<ul class="wp-block-list">
<li>Powierzchnię i kubaturę.</li>



<li>Jakość izolacji przegród zewnętrznych (ścian, dachu, podłogi na gruncie).</li>



<li>Powierzchnię i charakter okien oraz drzwi.</li>



<li>Strefę klimatyczną.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład techniczny:</strong>&nbsp;Dla nowobudowanego, dobrze ocieplonego domu (współczynnik przenikania ciepła dla ścian U≈0,15 W/m²K) straty ciepła w salonie o powierzchni 30 m² mogą wynosić ok. 40-50 W/m². W takim przypadku&nbsp;<strong>rozstaw rur na poziomie 15-20 cm</strong>&nbsp;będzie w zupełności wystarczający. W starej, nieocieplonej kamienicy straty tego samego pomieszczenia mogą sięgać 120-150 W/m². Tu konieczne będzie&nbsp;<strong>bardzo gęste ułożenie przewodów</strong>, nawet co 10 cm, a często również uzupełnienie systemu grzejnikami.</p>



<h4 class="wp-block-heading">2. Rodzaj pokrycia podłogowego i jego opór cieplny.</h4>



<p class="wp-block-paragraph">Materiał wykończeniowy podłogi jest swoistym&nbsp;<strong>„filtrem”</strong>&nbsp;dla ciepła. Jego&nbsp;<strong>opór cieplny R [m²K/W]</strong>&nbsp;decyduje o tym, jak efektywnie ciepło z płyty grzewczej przedostanie się do pomieszczenia.</p>



<ul class="wp-block-list">
<li><strong>Płytki ceramiczne, kamień naturalny:</strong>&nbsp;Mają niski opór cieplny (R≈0.01 m²K/W). Doskonale przewodzą ciepło, pozwalając na stosowanie standardowych lub nawet nieco wyższych temperatur podłogi (do 29°C w strefie stałego przebywania). Dają dużą swobodę w doborze&nbsp;<strong>rozstawu rurek</strong>.</li>



<li><strong>Panele winylowe (LVT), wykładzina cienka:</strong>&nbsp;Opór nieco wyższy, ale wciąż akceptowalny.</li>



<li><strong>Panele laminowane, deska warstwowa, parkiet:</strong>&nbsp;Tutaj opór jest znaczący (R może przekraczać 0.15 m²K/W). Producenci materiałów drewnopochodnych jasno określają maksymalną temperaturę podłogi (często 27°C) i maksymalny&nbsp;<strong>opór całkowity</strong>&nbsp;wszystkich warstw. Aby uzyskać wymaganą moc przy niższej temperaturze powierzchni, często&nbsp;<strong>należy zagęścić rozstaw rur</strong>.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład wyliczenia:</strong>&nbsp;Dla pomieszczenia o zapotrzebowaniu 80 W/m² i podłodze z paneli (dopuszczalna temp. podłogi 27°C) może się okazać, że przy rozstawie 20 cm temperatura wody potrzebna do uzyskania tej mocy przekroczy dopuszczalną wartość, prowadząc do uszkodzenia posadzki lub dyskomfortu. Rozwiązaniem jest&nbsp;<strong>zmniejszenie odległości między pętlami</strong>&nbsp;do 15 cm lub 10 cm, co pozwoli uzyskać tę samą moc przy niższej temperaturze zasilania.</p>



<h4 class="wp-block-heading">3. Konfiguracja pomieszczenia i strefowanie.</h4>



<p class="wp-block-paragraph">Nie w każdym pomieszczeniu&nbsp;<strong>odstęp pomiędzy rurami</strong>&nbsp;jest stały na całej powierzchni. Kluczową zasadą jest&nbsp;<strong>strefowanie grzewcze</strong>.</p>



<ul class="wp-block-list">
<li><strong>Strefa brzegowa (obwodowa):</strong>&nbsp;Pas o szerokości około 1 metra wzdłuż ścian zewnętrznych, zwłaszcza tych z dużymi przeszkleniami. To tutaj straty ciepła są największe. W tej strefie standardowo&nbsp;<strong>zagęszcza się rozstaw rur</strong>&nbsp;(np. do 10-12 cm) w stosunku do strefy centralnej (gdzie można zastosować 20 cm). Zapobiega to wychłodzeniu strefy przyokiennej i poprawia komfort.</li>



<li><strong>Strefy stałego przebywania:</strong>&nbsp;W łazience szczególnie ważne jest równomierne ciepło przy umywalce czy w kabinie prysznicowej. Często układa się tam rury gęściej.</li>



<li><strong>Miejsca z ograniczonym przekazywaniem ciepła:</strong>&nbsp;Pod stałymi zabudowami meblowymi (szafy wnękowe, kredensy), pod wanną czy dużymi urządzeniami AGD&nbsp;<strong>nie układa się rur</strong>. Zmniejsza to bezużyteczne straty ciepła i nie naraża mebli na przesuszenie.</li>
</ul>



<h3 class="wp-block-heading">Projekt ogrzewania podłogowego – serce dobrze działającej instalacji.</h3>



<p class="wp-block-paragraph">W kontekście omawianego&nbsp;<strong>rozstawu rur</strong>, projekt jest dokumentem absolutnie kluczowym i nie wolno go pomijać.&nbsp;<strong>Amatorskie „szacowanie” odległości między pętlami</strong>&nbsp;prowadzi do szeregu problemów: nierównomiernego grzania, wiecznie zimnych pomieszczeń, przegrzewania innych, a wreszcie – do wysokich rachunków za energię.</p>



<p class="wp-block-paragraph">Profesjonalny projekt hydrauliczno-cieplny obejmuje:</p>



<ol start="1" class="wp-block-list">
<li><strong>Obliczenie strat ciepła</strong>&nbsp;dla każdego pomieszczenia osobno.</li>



<li><strong>Dobór rozstawu rur</strong>&nbsp;(często zmiennego w obrębie jednego pomieszczenia) oraz schematu ich ułożenia (meander lub ślimak) tak, aby uzyskać wymaganą moc grzewczą.</li>



<li><strong>Podział na pętle grzewcze</strong>&nbsp;o zbliżonej długości (dla rur 16&#215;2 mm optymalnie 80-100 m, max 120 m), co zapewnia zrównoważenie hydrauliczne systemu.</li>



<li><strong>Dobór rozdzielacza</strong>&nbsp;z odpowiednią liczbą odgałęzień oraz elementami regulacyjnymi.</li>



<li><strong>Określenie parametrów pracy</strong>&nbsp;(temperatury zasilania, projektowy przepływ).</li>
</ol>



<p class="wp-block-paragraph">Inwestycja w <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekt</a> (koszt kilkuset do kilku tysięcy złotych w zależności od metrażu) zwraca się wielokrotnie w trakcie eksploatacji poprzez oszczędności na paliwie i uniknięcie kosztownych przeróbek.&nbsp;<strong>Rozstaw rur odczytany z takiego projektu jest wartością wiążącą i optymalną.</strong></p>



<h3 class="wp-block-heading">Przykłady techniczne i symulacje.</h3>



<p class="wp-block-paragraph">Poniższa tabela ilustruje przybliżony dobór&nbsp;<strong>rozstawu pętli grzewczych</strong>&nbsp;dla różnych typów pomieszczeń w budynku standardowym (średnio ocieplonym).</p>



<style>
.table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 30px 0;
}

.tech-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  min-width: 900px;
}

.tech-table th,
.tech-table td {
  padding: 14px 12px;
  border: 1px solid #e0e0e0;
  vertical-align: top;
}

.tech-table th {
  background: #1f2933;
  color: #ffffff;
  font-weight: 600;
  text-align: left;
}

.tech-table tr:nth-child(even) {
  background: #f9fafb;
}

.tech-table strong {
  color: #111827;
}

@media (max-width: 768px) {
  .tech-table {
    font-size: 14px;
  }
}
</style>

<div class="table-wrap">
<table class="tech-table">
<thead>
<tr>
<th>Pomieszczenie</th>
<th>Charakterystyka</th>
<th>Szacowane straty ciepła [W/m²]</th>
<th>Zalecany rozstaw rur (16×2 mm)</th>
<th>Uzasadnienie techniczne i uwagi</th>
</tr>
</thead>

<tbody>

<tr>
<td><strong>Łazienka</strong></td>
<td>
Małe pomieszczenie, wymagające szybkiego nagrzania i wysokiego komfortu cieplnego
(ogrzewanie podstawowe). Często posadzka z płytek.
</td>
<td>90 – 120+</td>
<td><strong>5 cm – 10 cm</strong></td>
<td>
Rozstaw 5 cm to rozwiązanie ekstremalne, stosowane przy wymaganiach bardzo wysokiej
mocy grzewczej (&gt;120 W/m²) przy niskiej temperaturze zasilania (np. 35°C).
Zapewnia idealnie równomierną temperaturę podłogi – kluczowe przy chodzeniu boso.
Wymaga krótkich pętli ze względu na duże opory hydrauliczne.
</td>
</tr>

<tr>
<td><strong>Salon (przy dużym przeszkleniu)</strong></td>
<td>
Pomieszczenie o wysokich stratach przez szyby,
wymagające kompensacji zimnego promieniowania.
</td>
<td>70 – 100</td>
<td>
<strong>Strefa brzegowa:</strong> 5–10 cm<br>
<strong>Strefa centralna:</strong> 10–15 cm
</td>
<td>
Zagęszczenie do 5 cm w pasie ok. 1–1,5 m od okna/ściany szklanej jest celową
inwestycją w komfort – eliminuje uczucie chłodu i przeciągów.
W strefie centralnej wystarczy 10–15 cm.
Układ mieszany (spiralny) jest tu obowiązkowy.
</td>
</tr>

<tr>
<td><strong>Sypialnia (ściany wewnętrzne)</strong></td>
<td>
Pomieszczenie o niskich stratach,
gdzie priorytetem jest niska temperatura powierzchni podłogi.
</td>
<td>35 – 50</td>
<td><strong>10 cm – 20 cm</strong></td>
<td>
Rozstaw 10 cm pozwala utrzymać bardzo niską temperaturę zasilania (30–33°C),
idealną dla pomp ciepła i kotłów kondensacyjnych.
Wersja 20 cm to standard dla domów pasywnych i energooszczędnych.
</td>
</tr>

<tr>
<td><strong>Hol / Przedpokój</strong></td>
<td>
Pomieszczenie z drzwiami wejściowymi,
narażone na krótkotrwałe, duże straty ciepła.
</td>
<td>60 – 85</td>
<td><strong>10 cm – 20 cm</strong></td>
<td>
Gęsty rozstaw (10 cm) w strefie progu drzwi wejściowych
(na głębokości 1,5–2 m) działa jak efektywna kurtyna cieplna,
minimalizując wychłodzenie przy wietrzeniu.
W głębi pomieszczenia można przejść na 20 cm.
</td>
</tr>

<tr>
<td><strong>Garaż ogrzewany</strong></td>
<td>
Przestrzeń o bardzo wysokich wymaganiach izolacyjnych podłogi
i dużych, okresowych stratach ciepła.
</td>
<td>40 – 60</td>
<td><strong>20 cm – 30 cm</strong></td>
<td>
Rozstaw 30 cm dopuszczalny wyłącznie w garażach bardzo dobrze ocieplonych,
traktowanych jako pomieszczenia użytkowe o stałej, umiarkowanej temperaturze (np. 15°C).
Przy wyższych temperaturach lub słabszej izolacji zalecane 15–20 cm.
Kluczowe jest użycie rur z barierą antydyfuzyjną (EVOH)
i izolacji o wysokiej odporności na ściskanie (min. 200 kPa).
</td>
</tr>

</tbody>
</table>
</div>



<p class="wp-block-paragraph"><strong>Wykres: Zależność mocy grzewczej od rozstawu rur i temperatury czynnika</strong><br>*(Interpretacja danych dla rury 16&#215;2 mm, delta T = różnica między średnią temp. wody a temp. w pomieszczeniu)*</p>



<style>
.table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 30px 0;
}

.tech-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  min-width: 700px;
}

.tech-table th,
.tech-table td {
  padding: 14px 12px;
  border: 1px solid #e0e0e0;
  text-align: center;
}

.tech-table th {
  background: #1f2933;
  color: #ffffff;
  font-weight: 600;
}

.tech-table tr:nth-child(even) {
  background: #f9fafb;
}

.tech-table td:first-child,
.tech-table th:first-child {
  text-align: left;
  font-weight: 600;
}

.tech-note {
  font-size: 14px;
  color: #4b5563;
  margin-top: 10px;
  font-style: italic;
}

@media (max-width: 768px) {
  .tech-table {
    font-size: 14px;
  }
}
</style>

<h3>Wykres: Zależność mocy grzewczej od rozstawu rur i temperatury czynnika</h3>

<div class="table-wrap">
<table class="tech-table">
<thead>
<tr>
<th>Rozstaw rur [cm]</th>
<th>Moc grzewcza przy ΔT = 10 K<br>[W/m²]</th>
<th>Moc grzewcza przy ΔT = 15 K<br>[W/m²]</th>
<th>Moc grzewcza przy ΔT = 20 K<br>[W/m²]</th>
</tr>
</thead>

<tbody>
<tr>
<td>5</td>
<td>~45</td>
<td>~68</td>
<td>~90</td>
</tr>

<tr>
<td>10</td>
<td>~55</td>
<td>~82</td>
<td>~110</td>
</tr>

<tr>
<td>15</td>
<td>~50</td>
<td>~75</td>
<td>~100</td>
</tr>

<tr>
<td>20</td>
<td>~40</td>
<td>~60</td>
<td>~80</td>
</tr>
</tbody>
</table>
</div>

<p class="tech-note">
*Interpretacja danych dla rury 16×2 mm. ΔT oznacza różnicę pomiędzy średnią temperaturą wody grzewczej
a temperaturą powietrza w pomieszczeniu. Wartości orientacyjne – rzeczywista moc zależy m.in.
od rodzaju posadzki, grubości wylewki i oporu cieplnego warstw.*
</p>



<p class="wp-block-paragraph"><em>Paradoks wykresu:</em>&nbsp;Zwróć uwagę, że przy bardzo małej różnicy temperatur (ΔT=10K),&nbsp;<strong>rozstaw 10 cm daje wyższą moc niż rozstaw 5 cm</strong>. Dzieje się tak, ponieważ przy ekstremalnie gęstym ułożeniu&nbsp;<strong>wzrasta opór hydrauliczny</strong>, a sama rura oddaje ciepło na bardzo krótkim odcinku, co może nieznacznie obniżać średnią temperaturę czynnika w pętli. To potwierdza, że&nbsp;<strong>rozstaw 5 cm ma sens tylko w systemach zaprojektowanych na niską ΔT, ale z wysokim przepływem</strong>, co wymaga precyzyjnej regulacji hydrauliczej.</p>



<p class="wp-block-paragraph"><strong>Obliczenie długości pętli dla łazienki z rozstawem 5 cm:</strong><br>Dla łazienki 4 m² (2m x 2m) z rozstawem 5 cm (0.05 m) i obwodem 8 m, przybliżona długość rury wyniesie:<br><code>L ≈ (A / s) * 2 + (2 * O) = (4 / 0.05) * 2 + (2*8) = 160 + 16 = 176 metrów.</code><br>Jest to długość&nbsp;<strong>niedopuszczalna dla jednej pętli</strong>&nbsp;(maks. 100-120m). Rozwiązaniem jest podział na&nbsp;<strong>dwie niezależne pętle</strong>&nbsp;po ok. 88 m każda, co pozwala utrzymać odpowiedni przepływ i uniknąć zbyt wysokich oporów. To pokazuje, że&nbsp;<strong>skrajnie gęsty rozstaw rur pociąga za sobą konieczność zmiany koncepcji rozdzielacza i zwiększenia liczby pętli</strong>.</p>



<p class="wp-block-paragraph"><strong>Podsumowanie tej sekcji:</strong>&nbsp;Przedstawione wartości&nbsp;<strong>5-10 cm</strong>&nbsp;są poprawne i stosowane w&nbsp;<strong>wysokoparametrowych instalacjach</strong>, gdzie priorytetem jest maksymalna moc przy niskiej temperaturze, absolutna równomierność grzania lub kompensacja ekstremalnych strat ciepła (przeszklenia). Każda taka decyzja&nbsp;<strong>musi być poprzedzona dokładnym projektem hydraulicznym</strong>, który zweryfikuje długości pętli, opory i dobierze odpowiednią pompa obiegowa. W przeciwnym razie, zamiast wysokiego komfortu, uzyskamy niewydolny, głośny i drogi w eksploatacji system.</p>



<h2 class="wp-block-heading">Geometria pętli zamiast podnoszenia temperatury.</h2>



<style>
.chart-container {
  max-width: 900px;
  margin: 40px auto;
}

.chart-title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
}

.chart-subtitle {
  font-size: 14px;
  color: #4b5563;
  margin-bottom: 18px;
  font-style: italic;
}

.legend {
  display: flex;
  gap: 20px;
  margin-top: 12px;
  font-size: 14px;
}

.legend span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.legend i {
  width: 14px;
  height: 3px;
  display: inline-block;
}

.legend .dt10 i { background: #2563eb; }
.legend .dt15 i { background: #f97316; }
.legend .dt20 i { background: #16a34a; }

svg {
  width: 100%;
  height: auto;
}
</style>

<div class="chart-container">

<div class="chart-title">
Zależność mocy grzewczej od rozstawu rur (zakres projektowy)
</div>

<div class="chart-subtitle">
Zakres od 10 cm wzwyż – obszar, w którym wzrost rozstawu powoduje spadek mocy.
Dane orientacyjne dla rury 16×2 mm.
</div>

<svg viewBox="0 0 800 420" role="img" aria-label="Wykres mocy grzewczej ogrzewania podłogowego">
  
  <!-- osie -->
  <line x1="80" y1="40" x2="80" y2="350" stroke="#333"/>
  <line x1="80" y1="350" x2="760" y2="350" stroke="#333"/>

  <!-- opisy osi -->
  <text x="400" y="400" text-anchor="middle" font-size="14">Rozstaw rur [cm]</text>
  <text x="20" y="200" text-anchor="middle" font-size="14" transform="rotate(-90 20 200)">
    Moc grzewcza [W/m²]
  </text>

  <!-- skala Y -->
  <g font-size="12" fill="#444">
    <text x="55" y="355">40</text>
    <text x="55" y="305">60</text>
    <text x="55" y="255">80</text>
    <text x="50" y="205">100</text>
    <text x="50" y="155">110</text>
  </g>

  <!-- skala X -->
  <g font-size="12" fill="#444">
    <text x="220" y="370">10</text>
    <text x="420" y="370">15</text>
    <text x="620" y="370">20</text>
  </g>

  <!-- ΔT = 10 K -->
  <polyline fill="none" stroke="#2563eb" stroke-width="3"
    points="220,290 420,300 620,330"/>
  <circle cx="220" cy="290" r="5" fill="#2563eb"/>
  <circle cx="420" cy="300" r="5" fill="#2563eb"/>
  <circle cx="620" cy="330" r="5" fill="#2563eb"/>

  <!-- ΔT = 15 K -->
  <polyline fill="none" stroke="#f97316" stroke-width="3"
    points="220,240 420,260 620,300"/>
  <circle cx="220" cy="240" r="5" fill="#f97316"/>
  <circle cx="420" cy="260" r="5" fill="#f97316"/>
  <circle cx="620" cy="300" r="5" fill="#f97316"/>

  <!-- ΔT = 20 K -->
  <polyline fill="none" stroke="#16a34a" stroke-width="3"
    points="220,180 420,210 620,260"/>
  <circle cx="220" cy="180" r="5" fill="#16a34a"/>
  <circle cx="420" cy="210" r="5" fill="#16a34a"/>
  <circle cx="620" cy="260" r="5" fill="#16a34a"/>

</svg>

<div class="legend">
  <span class="dt10"><i></i> ΔT = 10 K</span>
  <span class="dt15"><i></i> ΔT = 15 K</span>
  <span class="dt20"><i></i> ΔT = 20 K</span>
</div>

</div>



<p class="wp-block-paragraph">Na osi poziomej (X) znajduje się <strong>rozstaw rur ogrzewania podłogowego [cm]</strong>, natomiast na osi pionowej (Y) <strong>uzyskiwana moc grzewcza [W/m²]</strong>. Każda z krzywych reprezentuje inną różnicę temperatur ΔT pomiędzy średnią temperaturą wody w pętli a temperaturą powietrza w pomieszczeniu.</p>



<p class="wp-block-paragraph"><strong>Od rozstawu 10 cm wzwyż wszystkie krzywe mają charakter malejący.</strong><br>Oznacza to, że <strong>zwiększanie rozstawu rur powyżej 10 cm prowadzi do systematycznego spadku możliwej do uzyskania mocy grzewczej</strong>, niezależnie od temperatury czynnika.</p>



<p class="wp-block-paragraph">Jednocześnie wyraźnie widać drugi mechanizm sterujący: <strong>krzywe dla wyższej temperatury wody przebiegają znacznie wyżej</strong>. Podniesienie ΔT (czyli temperatury zasilania) pozwala zwiększyć moc przy tym samym rozstawie rur, jednak odbywa się to kosztem sprawności źródła ciepła i większych obciążeń termicznych posadzki.</p>



<p class="wp-block-paragraph">W praktyce projektowej istnieją więc dwie drogi zwiększania mocy ogrzewania podłogowego:</p>



<ul class="wp-block-list">
<li><strong>zagęszczenie rozstawu rur (≤ 10 cm)</strong>,</li>



<li><strong>podniesienie temperatury zasilania</strong>.</li>
</ul>



<p class="wp-block-paragraph">Z punktu widzenia trwałości instalacji, komfortu cieplnego i efektywności energetycznej — szczególnie w systemach z pompą ciepła — <strong>pierwsza strategia jest rozwiązaniem zdecydowanie lepszym i długoterminowo bezpieczniejszym</strong>. Gęstszy rozstaw pozwala osiągnąć wymaganą moc przy niskich temperaturach zasilania, poprawia równomierność temperatury podłogi i ogranicza naprężenia termiczne w warstwach posadzki.</p>



<p class="wp-block-paragraph"><strong>Dlatego poprawnie zaprojektowane ogrzewanie podłogowe zaczyna się od geometrii pętli, a nie od „podkręcania” temperatury na źródle ciepła.</strong></p>



<h3 class="wp-block-heading">Układanie rur: od projektu do realizacji.</h3>



<p class="wp-block-paragraph">Sam proces montażu, przy <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">prawidłowo przygotowanym projekcie</a>, staje się niemal rzemieślniczą realizacją założeń.&nbsp;<strong>Odległość między rurami</strong>&nbsp;jest precyzyjnie wymierzana i utrzymywana dzięki szynom montażowym lub specjalnym matom z wypustkami. Szczególną uwagę zwraca się na:</p>



<ul class="wp-block-list">
<li><strong>Prowadzenie rur w zakrętach:</strong>&nbsp;Promień gięcia nie może być zbyt mały (zazwyczaj min. 5x średnica zewnętrzna rury).</li>



<li><strong>Zagęszczenie w strefach brzegowych:</strong>&nbsp;Pomiary muszą być tu szczególnie dokładne.</li>



<li><strong>Długość pętli:</strong>&nbsp;Każda pętla przed zatłoczeniem betonem powinna być zmierzona i porównana z projektem.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład obliczeniowy długości pętli:</strong>&nbsp;Dla pomieszczenia 5m x 4m (20 m²) przy&nbsp;<strong>rozstawie rur 15 cm</strong>&nbsp;(0.15 m) i obwodzie pomieszczenia 18 m, przybliżoną długość rury w pętli można oszacować ze wzoru:&nbsp;<code>L = (A / s) * 2 + (2 * O)</code>, gdzie A to powierzchnia, s to rozstaw, O to obwód.&nbsp;<code>L = (20 / 0.15) * 2 + (2*18) ≈ 267 + 36 = 303 m</code>. Jest to wartość zbyt wysoka dla jednej pętli! To pokazuje, że dla takiego rozstawu i powierzchni konieczny jest podział na dwie, a nawet trzy niezależne pętle o długości ok. 100 m każda. Praktycznie stosuje się dokładniejsze metody, ale przykład unaocznia potrzebę precyzyjnego projektowania.</p>



<h2 class="wp-block-heading">FAQ – Najczęstsze pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1769329073507"><strong class="schema-faq-question"><strong>Jaki rozstaw rur w ogrzewaniu podłogowym jest najlepszy?</strong></strong> <p class="schema-faq-answer">Nie ma jednej uniwersalnej wartości. Optymalny rozstaw zależy od strat ciepła pomieszczenia, rodzaju posadzki oraz temperatury zasilania. Najczęściej stosuje się zakres od 10 do 20 cm.</p> </div> <div class="schema-faq-section" id="faq-question-1769329085064"><strong class="schema-faq-question"><strong>Czy mniejszy rozstaw rur zawsze oznacza lepsze ogrzewanie?</strong></strong> <p class="schema-faq-answer">Mniejszy rozstaw zwiększa moc i równomierność grzania, ale powoduje też większe opory hydrauliczne i dłuższe pętle. Dlatego gęsty rozstaw wymaga dokładnego projektu.</p> </div> <div class="schema-faq-section" id="faq-question-1769329094344"><strong class="schema-faq-question"><strong>Dlaczego rozstaw 10 cm jest często punktem granicznym?</strong></strong> <p class="schema-faq-answer">Od rozstawu 10 cm wzwyż wzrost odległości między rurami powoduje wyraźny spadek mocy grzewczej. Poniżej tej wartości system wchodzi w zakres instalacji wysokoparametrowych.</p> </div> <div class="schema-faq-section" id="faq-question-1769329119610"><strong class="schema-faq-question"><strong>Jak posadzka wpływa na dobór rozstawu rur?</strong></strong> <p class="schema-faq-answer">Im większy opór cieplny posadzki (np. panele, drewno), tym gęstszy rozstaw rur jest wymagany, aby uzyskać tę samą moc przy bezpiecznej temperaturze podłogi.</p> </div> <div class="schema-faq-section" id="faq-question-1769329126408"><strong class="schema-faq-question"><strong>Czy można samodzielnie dobrać rozstaw rur bez projektu?</strong></strong> <p class="schema-faq-answer">Teoretycznie tak, ale w praktyce prowadzi to często do błędów: nierównego grzania, zbyt długich pętli lub wysokich kosztów eksploatacji. Profesjonalny <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">projekt</a> jest kluczowy.</p> </div> </div>



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



<p class="wp-block-paragraph">Dobranie właściwego&nbsp;<strong>rozstawu rur w wodnym ogrzewaniu podłogowym</strong>&nbsp;nie jest celem samym w sobie, ale jednym z najważniejszych etapów procesu projektowania sprawnego i komfortowego systemu. Jak pokazano, zależy on od&nbsp;<strong>bilansu cieplnego budynku</strong>,&nbsp;<strong>właściwości posadzki</strong>&nbsp;oraz&nbsp;<strong>konfiguracji przestrzeni</strong>.&nbsp;<strong>Zagęszczenie pętli grzewczych</strong>&nbsp;jest najskuteczniejszym narzędziem do zwiększenia mocy układu bez niebezpiecznego podnoszenia temperatury powierzchni podłogi.</p>



<p class="wp-block-paragraph">Pamiętajmy, że nawet najlepiej dobrany&nbsp;<strong>odstęp między przewodami</strong>&nbsp;nie zdziała cudów w źle zaizolowanym domu. Dopiero połączenie dobrej izolacji budynku, profesjonalnego projektu uwzględniającego&nbsp;<strong>optymalny rozstaw rur</strong>, starannego wykonawstwa i odpowiedniego źródła ciepła (jak pompa ciepła, która uwielbia niskie temperatury zasilania) daje gwarancję sukcesu – czyli ciepłego, zdrowego i taniego w eksploatacji domu. Nie warto zatem oszczędzać na wiedzy i profesjonalizmie na etapie planowania, gdyż decyzje podjęte na początku inwestycji będą nam towarzyszyć przez długie dekady użytkowania.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="InOHZNCO2a"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=B0gffQFdTM#?secret=InOHZNCO2a" data-secret="InOHZNCO2a" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Rozstaw rur w wodnym ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jakie ogrzewanie podłogowe wybrać – wodne czy elektryczne?</title>
		<link>https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 23 Oct 2025 08:56:54 +0000</pubDate>
				<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Ogrzewanie wodne]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[Systemy ogrzewania]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[elektryczne ogrzewanie podłogowe]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[montaż ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[porównanie]]></category>
		<category><![CDATA[remont]]></category>
		<category><![CDATA[system grzewczy]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<category><![CDATA[wybór ogrzewania]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2822</guid>

					<description><![CDATA[<p>Planujesz budowę domu lub gruntowny remont i marzysz o przyjemnym cieple bijącym od podłogi? Decyzja, jakie ogrzewanie podłogowe wybrać – wodne czy elektryczne, jest kluczowa dla przyszłego komfortu i kosztów utrzymania. Oba systemy zapewniają równomierną temperaturę i wysoki standard użytkowania, ale radykalnie różnią się zasadą działania, ceną i przeznaczeniem. W naszym kompleksowym artykule rozkładamy na czynniki pierwsze obie technologie. Znajdziesz szczegółowe porównanie kosztów inwestycyjnych i eksploatacyjnych, analizę trudności montażu oraz konkretne wskazówki, które pomogą Ci dobrać idealny system do Twojego projektu, budżetu i potrzeb. Dowiesz się, czy inwestycja w "hydronikę" się opłaca i kiedy zdecydowanie lepiej sprawdzi się prostsze rozwiązanie elektryczne.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/">Jakie ogrzewanie podłogowe wybrać – wodne czy elektryczne?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-blue-light: #f0f9ff;
    --rk-intro-gray: #64748b;
    --rk-intro-gray-light: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-bg: #ffffff;
    --rk-intro-accent: #d97706;
}

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

/* Sekcja Hooka i Nagłówka */
.rk-hook-section {
    padding: 40px 50px 30px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.rk-hook-section h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 15px 0;
    line-height: 1.25;
    letter-spacing: -0.5px;
}

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

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

/* Szybka Odpowiedź (Direct Answer Box) */
.rk-quick-answer {
    margin: 0 50px 30px;
    padding: 25px 30px;
    background: var(--rk-intro-blue-light);
    border: 1px solid rgba(2, 132, 199, 0.2);
    border-radius: 12px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

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

.rk-qa-content h3 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-qa-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-intro-dark);
}

.rk-qa-content a {
    color: var(--rk-intro-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid var(--rk-intro-blue);
}

/* Narzędzia (Teaser) */
.rk-tools-teaser {
    padding: 30px 50px 40px;
    border-top: 1px solid var(--rk-intro-border);
    background: #ffffff;
}

.rk-tools-teaser h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-tools-grid {
    display: flex;
    background: var(--rk-intro-gray-light);
    border-radius: 12px;
    padding: 6px;
    gap: 6px;
}

.rk-tool-tab {
    flex: 1;
    padding: 16px 15px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-intro-gray);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-tool-tab.is-active {
    background: #ffffff;
    color: var(--rk-intro-blue);
    border-color: var(--rk-intro-border);
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}

/* Treść Narzędzi */
.rk-tool-info {
    display: none;
    margin-top: 20px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
    border-left: 4px solid var(--rk-intro-blue);
}

.rk-tool-info.is-visible {
    display: block;
}

.rk-tool-info p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-intro-gray);
}

.rk-tool-info strong {
    color: var(--rk-intro-dark);
}

/* Mobile RWD */
@media (max-width: 768px) {
    .rk-intro-wrap { margin: 20px auto; border-radius: 16px; border-left-width: 4px; }
    .rk-hook-section { padding: 30px 20px 20px; }
    .rk-hook-section h2 { font-size: 24px; }
    .rk-quick-answer { margin: 0 20px 25px; padding: 20px; flex-direction: column; gap: 15px; }
    .rk-qa-icon { width: 40px; height: 40px; }
    .rk-tools-teaser { padding: 25px 20px 30px; }
    .rk-tools-grid { flex-direction: column; }
    .rk-tool-tab { justify-content: flex-start; padding: 14px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-wstep-glowny",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Jakie ogrzewanie podłogowe wybrać – wodne czy elektryczne?",
    "description": "Błyskawiczna odpowiedź dla inwestorów na temat wyboru systemu grzewczego. Kompendium wiedzy inżynieryjnej, kalkulatory przepływów i symulatory kosztów dla normy WT 2021.",
    "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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-wstep",
    "name": "Wytyczne Doboru Ogrzewania Podłogowego Wodne vs Elektryczne",
    "description": "Zestawienie twardych rekomendacji doboru źródła i dystrybucji ciepła na podstawie gabarytów i norm termoizolacyjnych budynków (WT 2021).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jakie ogrzewanie podłogowe wybrać wodne czy elektryczne",
      "ogrzewanie wodne w nowym domu",
      "elektryczne ogrzewanie podłogowe czy się opłaca",
      "kalkulator kosztów ogrzewania prądem",
      "wybór pompy ciepła a instalacja"
    ],
    "measurementTechnique": "Określenie progu opłacalności systemów poprzez analizę wskaźnika EU (poniżej 15 kWh/m2 dla prądu, do 40 kWh/m2 dla systemów wodnych).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Nowe domy > 80m2 (WT 2021): Bezwzględna rekomendacja systemu wodnego z pompą ciepła w celu minimalizacji OPEX.",
        "Domy pasywne < 15 kWh/m2*rok lub łazienki: Rekomendacja mat elektrycznych z racji znikomego zapotrzebowania."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-kompendium-narzedzi",
    "name": "Przewodnik Inżynieryjny po Ogrzewaniu Podłogowym",
    "description": "Zintegrowane środowisko edukacyjno-obliczeniowe oferujące inwestorom bezpośredni dostęp do symulatorów przepływu, kalkulatorów zwrotu z inwestycji (ROI) oraz audytów energetycznych w czasie rzeczywistym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-wrap" id="wstep-ogrzewanie">
    
    <div class="rk-hook-section">
        <h2>Jakie ogrzewanie podłogowe wybrać – wodne czy elektryczne?</h2>
        <p>Budowa lub modernizacja domu to tysiące decyzji, ale błąd w wyborze systemu grzewczego to <strong>finansowa pętla na szyi przez kolejne 30 lat</strong>. Inwestorzy nieustannie pytają, które rozwiązanie jest lepsze. Prawda jest taka, że odpowiedź na to pytanie nie kryje się w folderach reklamowych instalatorów, lecz w twardej matematyce, fizyce budowli i dokładnym <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeniu OZC</a>.</p>
    </div>

    <div class="rk-quick-answer">
        <div class="rk-qa-icon">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
        </div>
        <div class="rk-qa-content">
            <h3>Szybka Odpowiedź Inżyniera</h3>
            <p>Do nowego domu w standardzie WT 2021 (powyżej 80 m²) <strong>zawsze wybieraj wodne ogrzewanie podłogowe z pompą ciepła</strong> – to gwarancja najniższych rachunków. Ogrzewanie elektryczne (maty, kable) opłaca się wyłącznie w małych mieszkaniach po remoncie, pojedynczych łazienkach lub w skrajnie energooszczędnych domach pasywnych (zapotrzebowanie poniżej 15 kWh/m²).</p>
        </div>
    </div>

    <div class="rk-tools-teaser">
        <h4>
            <svg width="20" height="20" 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>
            Co znajdziesz w tym inżynieryjnym poradniku?
        </h4>
        
        <div class="rk-tools-grid">
            <button class="rk-tool-tab is-active" id="btnTool1">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                Kalkulator Parametrów
            </button>
            <button class="rk-tool-tab" id="btnTool2">
                <svg width="18" height="18" 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>
                Kalkulator ROI (Zwrotu)
            </button>
            <button class="rk-tool-tab" id="btnTool3">
                <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="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>
                Katalog Błędów
            </button>
        </div>

        <div class="rk-tool-info is-visible" id="infoTool1">
            <p>Nie "lejemy wody". W dalszej części artykułu udostępniam Ci <strong>interaktywny kalkulator oparty na normie PN-EN 1264</strong>. Samodzielnie obliczysz niezbędny strumień przepływu wody i sprawdzisz bezpieczną moc emisyjną dla swojej posadzki.</p>
        </div>
        
        <div class="rk-tool-info" id="infoTool2">
            <p>Skończmy ze zgadywaniem. Za pomocą <strong>symulatora stopy zwrotu (ROI)</strong> samodzielnie ustawisz metraż domu i cenę prądu, aby na żywo zobaczyć, po ilu latach zwróci Ci się inwestycja w drogą pompę ciepła w stosunku do mat elektrycznych.</p>
        </div>

        <div class="rk-tool-info" id="infoTool3">
            <p>Zobacz na własne oczy <strong>Interaktywny Detektor Błędów</strong>. Pokażę Ci inżynieryjne studium przypadku z fali mrozów, abyś nie powielił kosztownych pomyłek instalatorów, za które inwestorzy płacą tysiące złotych miesięcznie.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var b1 = document.getElementById('btnTool1');
    var b2 = document.getElementById('btnTool2');
    var b3 = document.getElementById('btnTool3');
    
    var i1 = document.getElementById('infoTool1');
    var i2 = document.getElementById('infoTool2');
    var i3 = document.getElementById('infoTool3');

    function resetTools() {
        if (b1 !== null) { b1.classList.remove('is-active'); }
        if (b2 !== null) { b2.classList.remove('is-active'); }
        if (b3 !== null) { b3.classList.remove('is-active'); }
        
        if (i1 !== null) { i1.classList.remove('is-visible'); }
        if (i2 !== null) { i2.classList.remove('is-visible'); }
        if (i3 !== null) { i3.classList.remove('is-visible'); }
    }

    if (b1 !== null) {
        b1.addEventListener('click', function() {
            resetTools();
            b1.classList.add('is-active');
            if (i1 !== null) { i1.classList.add('is-visible'); }
        });
    }

    if (b2 !== null) {
        b2.addEventListener('click', function() {
            resetTools();
            b2.classList.add('is-active');
            if (i2 !== null) { i2.classList.add('is-visible'); }
        });
    }

    if (b3 !== null) {
        b3.addEventListener('click', function() {
            resetTools();
            b3.classList.add('is-active');
            if (i3 !== null) { i3.classList.add('is-visible'); }
        });
    }
});
</script>



<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0ea5e9;
    --rk-intro-blue-light: #f0f9ff;
    --rk-intro-red: #ef4444;
    --rk-intro-red-light: #fef2f2;
    --rk-intro-gold: #f59e0b;
    --rk-intro-gray: #64748b;
    --rk-intro-border: #e2e8f0;
    --rk-intro-bg: #ffffff;
}

.rk-intro-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-intro-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.08);
    border: 1px solid var(--rk-intro-border);
    overflow: hidden;
}

/* Sekcja Opisowa (Górna) */
.rk-intro-text-section {
    padding: 45px 50px 35px;
    background: #ffffff;
}

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

.rk-intro-text-section p {
    font-size: 16px;
    color: var(--rk-intro-gray);
    line-height: 1.75;
    margin: 0 0 20px 0;
}

.rk-intro-text-section p:last-child {
    margin-bottom: 0;
}

.rk-intro-text-section strong {
    color: var(--rk-intro-dark);
    font-weight: 700;
}

/* Interaktywny Moduł Konsekwencji */
.rk-intro-interactive {
    background: #f8fafc;
    border-top: 1px solid var(--rk-intro-border);
    padding: 40px 50px;
}

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

.rk-consequence-nav {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-cons-btn {
    flex: 1;
    padding: 18px 20px;
    border-radius: 12px;
    border: 2px solid var(--rk-intro-border);
    background: #ffffff;
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-intro-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-cons-btn:hover {
    border-color: #cbd5e1;
    background: #f1f5f9;
}

.rk-cons-btn.active-elec {
    border-color: var(--rk-intro-red);
    background: var(--rk-intro-red-light);
    color: #991b1b;
    box-shadow: 0 8px 15px -5px rgba(239, 68, 68, 0.2);
}

.rk-cons-btn.active-water {
    border-color: var(--rk-intro-gold);
    background: #fffbeb;
    color: #92400e;
    box-shadow: 0 8px 15px -5px rgba(245, 158, 11, 0.2);
}

.rk-cons-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Panele z wynikami */
.rk-cons-panel {
    display: none;
    background: #ffffff;
    border-radius: 16px;
    padding: 35px;
    border: 1px solid var(--rk-intro-border);
    animation: fadeIn 0.4s ease;
}

.rk-cons-panel.is-active {
    display: block;
}

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

.rk-cons-grid {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 25px;
    align-items: start;
}

.rk-cons-badge {
    width: 80px;
    height: 80px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
}

.panel-elec .rk-cons-badge { background: linear-gradient(135deg, var(--rk-intro-red) 0%, #b91c1c 100%); }
.panel-water .rk-cons-badge { background: linear-gradient(135deg, var(--rk-intro-gold) 0%, #b45309 100%); }

.rk-cons-content h4 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 10px 0;
}

.rk-cons-content p {
    font-size: 15px;
    color: var(--rk-intro-gray);
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-cons-data-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f8fafc;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-intro-dark);
    border: 1px solid var(--rk-intro-border);
}

.panel-elec .rk-cons-data-row span { color: var(--rk-intro-red); }
.panel-water .rk-cons-data-row span { color: var(--rk-intro-gold); }

/* Mobile RWD */
@media (max-width: 768px) {
    .rk-intro-container { margin: 20px auto; border-radius: 16px; }
    .rk-intro-text-section, .rk-intro-interactive { padding: 30px 20px; }
    .rk-intro-text-section h2 { font-size: 24px; }
    .rk-consequence-nav { flex-direction: column; gap: 10px; }
    .rk-cons-grid { grid-template-columns: 1fr; text-align: center; justify-items: center; }
    .rk-cons-badge { width: 64px; height: 64px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Jakie ogrzewanie podłogowe wybrać – wodne czy elektryczne do domu jednorodzinnego?",
    "description": "Zależność wyboru systemu grzewczego od wskaźnika energii użytkowej (EU). Konsekwencje montażu elektryki w starym domu oraz błędy rozstawu rur 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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-konsekwencje",
    "name": "Baza Danych: Konsekwencje Błędnego Doboru Ogrzewania",
    "description": "Identyfikacja krytycznych błędów projektowych na etapie wyboru źródła i dystrybucji ciepła, w tym spadek sprawności (COP) i drastyczny wzrost kosztów energii.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "efekt zebry podłogówka",
      "spadek COP pompy ciepła",
      "rachunki za ogrzewanie elektryczne",
      "standard WT 2021 ogrzewanie",
      "darmowe ogrzewanie z fotowoltaiki"
    ],
    "measurementTechnique": "Symulacja korelacji między zapotrzebowaniem EU a doborem dystrybucji, ze szczególnym uwzględnieniem strat hydraulicznych (temperatura zasilania) i finansowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "EU > 100 kWh/m2*rok + ogrzewanie elektryczne = Rachunki rzędu 8 000 - 12 000 PLN rocznie.",
        "Zły rozstaw rur wodnych = Podniesienie temperatury zasilania do 45 st C, co obniża COP pompy o ok. 25%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-symulator-konsekwencji",
    "name": "Symulator Konsekwencji Błędnego Wyboru Systemu Grzewczego",
    "description": "Narzędzie interaktywne ilustrujące wpływ błędnych decyzji instalacyjnych na koszty eksploatacyjne i fizykę działania instalacji płaszczyznowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-module">
    <div class="rk-intro-text-section">
        <h2>Jakie ogrzewanie podłogowe wybrać – wodne czy elektryczne do domu jednorodzinnego?</h2>
        <p>Wybór między wodnym a elektrycznym ogrzewaniem podłogowym zależy od zapotrzebowania budynku na energię użytkową (EU) oraz planowanego budżetu inwestycyjnego. Dla nowych domów o standardzie WT 2021 (<strong>EU ≤ 40 kWh/m²*rok</strong>) optymalnym wyborem długoterminowym jest wodne ogrzewanie podłogowe zasilane niskotemperaturowym źródłem ciepła. Ogrzewanie elektryczne (maty, kable, folie) sprawdza się w budynkach o małym metrażu, domkach letniskowych lub jako system strefowy (np. tylko w łazience), gdzie niski koszt inwestycji rekompensuje wyższe koszty eksploatacji.</p>
        
        <p>Inwestorzy często ulegają emocjom i magii marketingu, wybierając systemy grzewcze na podstawie obietnic o "darmowym ogrzewaniu z fotowoltaiki". Ból pojawia się w pierwszym sezonie grzewczym, gdy okazuje się, że niedowymiarowana instalacja elektryczna generuje gigantyczne rachunki, a brak profesjonalnego projektu hydraulicznego w systemie wodnym skutkuje niedogrzanymi strefami i tzw. efektem „zebry” (naprzemienne pasy ciepłej i zimnej podłogi).</p>

        <p>Wodne ogrzewanie podłogowe działa jako system centralny, gdzie woda (czynnik grzewczy) krąży w rurach PEX/PERT zatopionych w jastrychu, zasilana z pompy ciepła lub kotła gazowego. Ogrzewanie elektryczne działa strefowo i bezpośrednio zamienia energię elektryczną w ciepło za pomocą przewodów oporowych lub powłok węglowych pod wpływem przepływu prądu.</p>
    </div>

    <div class="rk-intro-interactive">
        <h3>Poznaj realne konsekwencje błędnego wyboru systemu</h3>
        
        <div class="rk-consequence-nav">
            <button class="rk-cons-btn active-elec" id="btnConsElec">
                <span class="rk-cons-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"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                </span>
                Elektryka w nieocieplonym domu
            </button>
            <button class="rk-cons-btn" id="btnConsWater">
                <span class="rk-cons-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </span>
                Zły rozstaw rur pompy ciepła
            </button>
        </div>

        <div class="rk-cons-panel panel-elec is-active" id="panelConsElec">
            <div class="rk-cons-grid">
                <div class="rk-cons-badge">
                    <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect><line x1="8" y1="21" x2="16" y2="21"></line><line x1="12" y1="17" x2="12" y2="21"></line></svg>
                </div>
                <div class="rk-cons-content">
                    <h4>Brak izolacji zrujnuje Twój portfel</h4>
                    <p>Instalacja ogrzewania elektrycznego w nieocieplonym lub starym domu (zapotrzebowanie <strong>EA > 100 kWh/m²*rok</strong>) bez wsparcia potężnej i przewymiarowanej instalacji fotowoltaicznej to pułapka finansowa. Koszty eksploatacji rosną lawinowo w miesiącach zimowych, gdy sprawność mat wynosi zawsze 1:1 w stosunku do pobranego prądu.</p>
                    <div class="rk-cons-data-row">
                        Skutek: Rachunki rzędu <span>8 000 – 12 000 PLN</span> rocznie dla metrażu 120 m².
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-cons-panel panel-water" id="panelConsWater">
            <div class="rk-cons-grid">
                <div class="rk-cons-badge">
                    <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                <div class="rk-cons-content">
                    <h4>Spadek wydajności źródła ciepła</h4>
                    <p>Zły dobór rozstawu rur w systemie wodnym (np. zastosowanie rzadkiego rozstawu 20 cm zamiast gęstego 10 cm w wyziębiającej się łazience) wymusza podniesienie temperatury zasilania na pompie ciepła z optymalnych 35°C do wymagających 45°C, aby utrzymać zadaną temperaturę w pomieszczeniu.</p>
                    <div class="rk-cons-data-row">
                        Skutek: Obniżenie współczynnika COP pompy o <span>około 25%</span> i drastyczny wzrost zużycia prądu.
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnElec = document.getElementById('btnConsElec');
    var btnWater = document.getElementById('btnConsWater');
    var panelElec = document.getElementById('panelConsElec');
    var panelWater = document.getElementById('panelConsWater');

    function switchConsPanel(type) {
        if (type === 'elec') {
            if (btnWater !== null) { btnWater.classList.remove('active-water'); }
            if (btnElec !== null) { btnElec.classList.add('active-elec'); }
            
            if (panelWater !== null) { panelWater.classList.remove('is-active'); }
            if (panelElec !== null) { panelElec.classList.add('is-active'); }
        } else if (type === 'water') {
            if (btnElec !== null) { btnElec.classList.remove('active-elec'); }
            if (btnWater !== null) { btnWater.classList.add('active-water'); }
            
            if (panelElec !== null) { panelElec.classList.remove('is-active'); }
            if (panelWater !== null) { panelWater.classList.add('is-active'); }
        }
    }

    if (btnElec !== null) {
        btnElec.addEventListener('click', function() {
            switchConsPanel('elec');
        });
    }

    if (btnWater !== null) {
        btnWater.addEventListener('click', function() {
            switchConsPanel('water');
        });
    }
});
</script>



<style>
:root {
    --rk-cost-dark: #0f172a;
    --rk-cost-blue: #0284c7;
    --rk-cost-blue-light: #f0f9ff;
    --rk-cost-gold: #d97706;
    --rk-cost-gold-light: #fffbeb;
    --rk-cost-gray: #64748b;
    --rk-cost-border: #e2e8f0;
    --rk-cost-bg: #ffffff;
    --rk-cost-green: #10b981;
    --rk-cost-red: #ef4444;
}

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

/* Nagłówek Sekcji */
.rk-cost-header {
    padding: 40px 50px 30px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-cost-border);
}

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

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

.rk-cost-header a {
    color: var(--rk-cost-blue);
    font-weight: 600;
    text-decoration: none;
}

/* Panel Cenowy (Highlight) */
.rk-price-highlight {
    display: flex;
    gap: 20px;
    margin-top: 25px;
}

.rk-price-box {
    flex: 1;
    padding: 20px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid transparent;
}

.rk-price-water {
    background: var(--rk-cost-blue-light);
    border-color: rgba(2, 132, 199, 0.2);
}

.rk-price-elec {
    background: var(--rk-cost-gold-light);
    border-color: rgba(217, 119, 6, 0.2);
}

.rk-price-label {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.rk-price-water .rk-price-label { color: var(--rk-cost-blue); }
.rk-price-elec .rk-price-label { color: var(--rk-cost-gold); }

.rk-price-value {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-cost-dark);
}

.rk-price-value span {
    font-size: 15px;
    font-weight: 600;
    color: var(--rk-cost-gray);
}

/* Interaktywny Komparator Danych */
.rk-cost-comparator {
    padding: 0;
}

.rk-comp-toolbar {
    display: none; /* Widoczne tylko na mobile */
    padding: 15px 20px;
    background: #f1f5f9;
    border-bottom: 1px solid var(--rk-cost-border);
}

.rk-comp-toggle {
    display: flex;
    background: #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.rk-comp-btn {
    flex: 1;
    padding: 12px;
    border: none;
    background: transparent;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-cost-gray);
    cursor: pointer;
    transition: all 0.3s;
}

.rk-comp-btn.active-w {
    background: var(--rk-cost-bg);
    color: var(--rk-cost-blue);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.rk-comp-btn.active-e {
    background: var(--rk-cost-bg);
    color: var(--rk-cost-gold);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* Tabela jako Grid - ZMODYFIKOWANE PROPORCJE */
.rk-comp-grid {
    display: flex;
    flex-direction: column;
}

.rk-comp-row {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    border-bottom: 1px solid var(--rk-cost-border);
    transition: background 0.2s;
    align-items: stretch;
}

.rk-comp-row:hover {
    background: #f8fafc;
}

.rk-comp-row:last-child {
    border-bottom: none;
}

.rk-comp-header-row {
    background: var(--rk-cost-dark);
    color: #ffffff;
    font-weight: 800;
    font-size: 15px;
}

.rk-comp-header-row:hover {
    background: var(--rk-cost-dark);
}

/* Komórki i zapobieganie łamaniu wierszy */
.rk-comp-cell {
    padding: 20px 25px;
    display: flex;
    align-items: center;
    flex-wrap: wrap; /* Pozwala na płynne opadanie tekstu zamiast zgniatania */
    gap: 8px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--rk-cost-dark);
}

.rk-comp-cell.feature-name {
    font-weight: 700;
    color: var(--rk-cost-gray);
    flex-wrap: nowrap; /* Tytuł cechy trzymamy stabilnie */
}

.rk-cell-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-cost-gray);
    flex-shrink: 0; /* Zapobiega spłaszczaniu ikon */
}

.rk-comp-cell.water-data {
    border-left: 1px solid var(--rk-cost-border);
    font-weight: 500;
}

.rk-comp-cell.elec-data {
    border-left: 1px solid var(--rk-cost-border);
    font-weight: 500;
}

/* Wyróżnienia pozytywne/negatywne - ZABEZPIECZENIE PRZED ŁAMANIEM */
.rk-badge-pro, .rk-badge-con {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 800;
    white-space: nowrap; /* Kluczowe: zapobiega pionowemu tekstowi! */
}

.rk-badge-pro { color: var(--rk-cost-green); }
.rk-badge-con { color: var(--rk-cost-red); }

.rk-badge-pro svg, .rk-badge-con svg {
    flex-shrink: 0;
}

.rk-comp-cell strong {
    font-weight: 800;
    color: var(--rk-cost-dark);
    white-space: nowrap;
}

/* Dolne podsumowanie */
.rk-cost-footer {
    padding: 35px 50px;
    background: #f8fafc;
    border-top: 1px solid var(--rk-cost-border);
}

.rk-cost-footer p {
    font-size: 15px;
    color: var(--rk-cost-gray);
    line-height: 1.7;
    margin: 0;
}

.rk-cost-footer strong {
    color: var(--rk-cost-dark);
}

.rk-cost-footer a {
    color: var(--rk-cost-dark);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Mobile RWD */
@media (max-width: 850px) {
    .rk-cost-container { margin: 20px auto; border-radius: 16px; }
    .rk-cost-header, .rk-cost-footer { padding: 25px 20px; }
    .rk-price-highlight { flex-direction: column; gap: 15px; }
    
    .rk-comp-toolbar { display: block; }
    
    .rk-comp-header-row { display: none; }
    
    .rk-comp-row {
        grid-template-columns: 1fr;
        padding: 15px 20px;
        align-items: start;
    }
    
    .rk-comp-cell { padding: 0; border: none !important; }
    
    .rk-comp-cell.feature-name {
        margin-bottom: 12px;
        font-size: 14px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .rk-comp-cell.water-data, .rk-comp-cell.elec-data {
        font-size: 16px;
        padding-left: 36px;
    }

    .mobile-view-elec .water-data { display: none !important; }
    .mobile-view-water .elec-data { display: none !important; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-koszty-montazu",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Ile kosztuje montaż ogrzewania wodnego w porównaniu do elektrycznego?",
    "description": "Zestawienie kosztów instalacji (CAPEX) oraz parametrów technicznych systemów ogrzewania podłogowego. Woda vs Prąd.",
    "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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-koszty",
    "name": "Zestawienie Kosztów i Parametrów Ogrzewania Podłogowego 2026",
    "description": "Baza danych zawierająca średnie koszty robocizny i materiałów dla instalacji płaszczyznowych oraz ich specyfikacje techniczne.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "cena montażu ogrzewania podłogowego za m2",
      "koszt pompy ciepła cennik 2026",
      "grubość wylewki na podłogówkę",
      "żywotność rur pex instalacja wodna",
      "cena projektu instalacji sanitarnej",
      "bezwładność cieplna wylewki anhydrytowej"
    ],
    "measurementTechnique": "Analiza porównawcza nakładów inwestycyjnych (CAPEX) rynkowych i parametrów fizykochemicznych systemów dystrybucji ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wodne ogrzewanie: 180-260 PLN/m2 + źródło ciepła 25k-45k PLN. Żywotność ponad 50 lat.",
        "Elektryczne ogrzewanie: 110-160 PLN/m2 (komplet z termostatami). Żywotność 20-30 lat."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-komparator",
    "name": "Interaktywny Komparator Systemów Grzewczych",
    "description": "Narzędzie pozwalające na dynamiczne zestawienie cech fizycznych i kosztowych systemów wodnych i elektrycznych na różnych urządzeniach końcowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cost-container" id="rk-cost-comparator">
    <div class="rk-cost-header">
        <h2>Ile kosztuje montaż ogrzewania wodnego w porównaniu do elektrycznego?</h2>
        <p>Aby rzetelnie porównać oba systemy pod kątem finansowym, musimy zestawić parametry techniczne i rozbić koszty na czynniki pierwsze. Należy pamiętać, że system wodny wymaga budowy kotłowni (nowoczesna <a href="https://projekt-ogrzewania.pl/pompa-ciepla-do-ogrzewania-podlogowego/">pompa ciepła</a> to wydatek rzędu 25 000 – 45 000 PLN), co drastycznie podnosi próg wejścia (CAPEX). Przy tak potężnych kwotach inwestycyjnych, optymalizacja nakładów poprzez profesjonalny projekt i dokumentację technologiczną (średnia cena produktu to 550 PLN) staje się fundamentem oszczędności.</p>
        
        <div class="rk-price-highlight">
            <div class="rk-price-box rk-price-water">
                <div class="rk-price-label">Ogrzewanie Wodne (Bez źródła)</div>
                <div class="rk-price-value">180 - 260 PLN <span>/ m²</span></div>
            </div>
            <div class="rk-price-box rk-price-elec">
                <div class="rk-price-label">Ogrzewanie Elektryczne (Komplet)</div>
                <div class="rk-price-value">110 - 160 PLN <span>/ m²</span></div>
            </div>
        </div>
    </div>

    <div class="rk-cost-comparator mobile-view-water" id="compContainer">
        <div class="rk-comp-toolbar">
            <div class="rk-comp-toggle">
                <button class="rk-comp-btn active-w" id="btnShowWater">System Wodny</button>
                <button class="rk-comp-btn" id="btnShowElec">System Elektryczny</button>
            </div>
        </div>

        <div class="rk-comp-grid">
            <div class="rk-comp-row rk-comp-header-row">
                <div class="rk-comp-cell">Parametr porównawczy</div>
                <div class="rk-comp-cell" style="color: #7dd3fc;">Wodne ogrzewanie podłogowe</div>
                <div class="rk-comp-cell" style="color: #fcd34d;">Elektryczne ogrzewanie podłogowe</div>
            </div>

            <div class="rk-comp-row">
                <div class="rk-comp-cell feature-name">
                    <div class="rk-cell-icon"><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="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg></div>
                    Wysokość zabudowy (grubość)
                </div>
                <div class="rk-comp-cell water-data">
                    <span class="rk-badge-con">70 - 90 mm</span> (standardowy jastrych)
                </div>
                <div class="rk-comp-cell elec-data">
                    <span class="rk-badge-pro">3 - 15 mm</span> (pod płytki lub panele)
                </div>
            </div>

            <div class="rk-comp-row">
                <div class="rk-comp-cell feature-name">
                    <div class="rk-cell-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg></div>
                    Bezwładność cieplna układu
                </div>
                <div class="rk-comp-cell water-data">
                    Wysoka (3 - 5 godzin nagrzewania)
                </div>
                <div class="rk-comp-cell elec-data">
                    Niska (30 - 60 minut w układzie bezpośrednim)
                </div>
            </div>

            <div class="rk-comp-row">
                <div class="rk-comp-cell feature-name">
                    <div class="rk-cell-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="14 2 18 6 7 17 3 17 3 13 14 2"></polygon><line x1="3" y1="22" x2="21" y2="22"></line></svg></div>
                    Współpraca z chłodzeniem
                </div>
                <div class="rk-comp-cell water-data">
                    <span class="rk-badge-pro"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Tak</span> (aktywne/pasywne chłodzenie pompą)
                </div>
                <div class="rk-comp-cell elec-data">
                    <span class="rk-badge-con"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" 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> Nie</span> (wyłącznie obieg grzewczy)
                </div>
            </div>

            <div class="rk-comp-row">
                <div class="rk-comp-cell feature-name">
                    <div class="rk-cell-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect><line x1="8" y1="21" x2="16" y2="21"></line><line x1="12" y1="17" x2="12" y2="21"></line></svg></div>
                    Wymóg dodatkowych urządzeń
                </div>
                <div class="rk-comp-cell water-data">
                    Rozdzielacze, grupa pompowa, źródło ciepła
                </div>
                <div class="rk-comp-cell elec-data">
                    Tylko cyfrowe termostaty pokojowe
                </div>
            </div>

            <div class="rk-comp-row">
                <div class="rk-comp-cell feature-name">
                    <div class="rk-cell-icon"><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></div>
                    Żywotność techniczna
                </div>
                <div class="rk-comp-cell water-data">
                    <div>Rury PEX/PERT: <strong>&gt; 50 lat</strong><br>Pompa ciepła: 15 - 20 lat</div>
                </div>
                <div class="rk-comp-cell elec-data">
                    <div>Kable/maty: <strong>20 - 30 lat</strong><br>Termostaty: 5 - 10 lat</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-cost-footer">
        <p>Wodne ogrzewanie podłogowe to <strong>wysoki koszt startowy, ale pełna elastyczność</strong> – za 15 lat możesz wymienić wysłużony kocioł gazowy na pompę ciepła, a sama instalacja w wylewce pozostaje nietknięta. Z kolei elektryczna podłogówka blokuje Cię na jednym, najdroższym nośniku energii (prąd), ale pozwala zaoszczędzić kilkadziesiąt tysięcy złotych na etapie stanu surowego, ponieważ nie budujesz komina, przyłącza gazowego ani skomplikowanego <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego/">osprzętu hydraulicznego</a>.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnWater = document.getElementById('btnShowWater');
    var btnElec = document.getElementById('btnShowElec');
    var container = document.getElementById('compContainer');

    if (btnWater !== null) {
        if (btnElec !== null) {
            if (container !== null) {
                
                btnWater.addEventListener('click', function() {
                    btnElec.classList.remove('active-e');
                    btnWater.classList.add('active-w');
                    
                    container.classList.remove('mobile-view-elec');
                    container.classList.add('mobile-view-water');
                });

                btnElec.addEventListener('click', function() {
                    btnWater.classList.remove('active-w');
                    btnElec.classList.add('active-e');
                    
                    container.classList.remove('mobile-view-water');
                    container.classList.add('mobile-view-elec');
                });
            }
        }
    }
});
</script>



<style>
:root {
    --rk-roi-dark: #0f172a;
    --rk-roi-blue: #0284c7;
    --rk-roi-blue-light: #f0f9ff;
    --rk-roi-electric: #d97706;
    --rk-roi-electric-light: #fef3c7;
    --rk-roi-gray: #64748b;
    --rk-roi-border: #e2e8f0;
    --rk-roi-bg: #ffffff;
    --rk-roi-green: #10b981;
    --rk-roi-red: #ef4444;
}

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

/* Nagłówek */
.rk-roi-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-roi-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

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

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

/* Struktura Kalkulatora */
.rk-roi-app {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

/* Lewa Kolumna - Suwaki */
.rk-roi-controls {
    padding: 40px 50px;
    background: #f8fafc;
    border-right: 1px solid var(--rk-roi-border);
}

.rk-roi-ctrl-group {
    margin-bottom: 30px;
}

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

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

.rk-roi-value {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-roi-blue);
    background: var(--rk-roi-blue-light);
    padding: 4px 12px;
    border-radius: 8px;
    border: 1px solid rgba(2, 132, 199, 0.1);
}

.rk-roi-desc {
    font-size: 12px;
    color: var(--rk-roi-gray);
    margin-top: 8px;
    line-height: 1.4;
}

/* Stylowanie Suwaków */
.rk-slider-roi {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: var(--rk-roi-border);
    outline: none;
    transition: background 0.3s;
}

.rk-slider-roi::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--rk-roi-blue);
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(2, 132, 199, 0.4);
    border: 3px solid #ffffff;
    transition: transform 0.1s;
}

.rk-slider-roi::-webkit-slider-thumb:hover { transform: scale(1.15); }
.rk-slider-roi::-moz-range-thumb {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--rk-roi-blue);
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(2, 132, 199, 0.4);
    border: 3px solid #ffffff;
}

/* Prawa Kolumna - Wyniki */
.rk-roi-results {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-roi-res-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-roi-dark);
    margin: 0 0 25px 0;
    padding-bottom: 15px;
    border-bottom: 2px dashed var(--rk-roi-border);
}

.rk-res-block {
    margin-bottom: 25px;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-roi-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-res-block.water-block { background: var(--rk-roi-blue-light); border-color: rgba(2, 132, 199, 0.2); }
.rk-res-block.elec-block { background: var(--rk-roi-electric-light); border-color: rgba(217, 119, 6, 0.2); }

.rk-res-info h4 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-roi-dark);
}

.rk-res-info p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-roi-gray);
}

.rk-res-numbers {
    text-align: right;
}

.rk-res-numbers .capex {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-roi-gray);
    margin-bottom: 4px;
}

.rk-res-numbers .opex {
    font-size: 22px;
    font-weight: 900;
}

.water-block .opex { color: var(--rk-roi-blue); }
.elec-block .opex { color: var(--rk-roi-electric); }

/* Główny Wynik ROI */
.rk-roi-final {
    margin-top: 35px;
    padding: 30px;
    background: linear-gradient(135deg, var(--rk-roi-green) 0%, #059669 100%);
    border-radius: 16px;
    color: #ffffff;
    text-align: center;
    box-shadow: 0 15px 30px -10px rgba(16, 185, 129, 0.4);
    transform: scale(1.02);
}

.rk-roi-final h3 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #d1fae5;
}

.rk-roi-final .roi-value {
    font-size: 48px;
    font-weight: 900;
    margin: 0 0 5px 0;
    line-height: 1;
}

.rk-roi-final .roi-value span {
    font-size: 20px;
    font-weight: 700;
}

.rk-roi-final p {
    margin: 15px 0 0 0;
    font-size: 14px;
    line-height: 1.5;
    color: #ecfdf5;
}

/* Wnioski końcowe */
.rk-roi-conclusion {
    padding: 30px 50px;
    background: #f8fafc;
    border-top: 1px solid var(--rk-roi-border);
    font-size: 15px;
    color: var(--rk-roi-gray);
    line-height: 1.7;
}

.rk-roi-conclusion strong {
    color: var(--rk-roi-dark);
}

/* Tagi LSI (Niewidoczne dla użytkownika - czyste SEO JSON/Ukryte dane) */
.rk-roi-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.rk-roi-tag {
    background: #e2e8f0;
    color: var(--rk-roi-gray);
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
}

/* Mobile RWD */
@media (max-width: 850px) {
    .rk-roi-container { margin: 20px auto; border-radius: 16px; }
    .rk-roi-app { grid-template-columns: 1fr; }
    .rk-roi-header, .rk-roi-controls, .rk-roi-results, .rk-roi-conclusion { padding: 30px 20px; }
    .rk-roi-controls { border-right: none; border-bottom: 1px solid var(--rk-roi-border); }
    .rk-res-block { flex-direction: column; text-align: center; gap: 15px; }
    .rk-res-numbers { text-align: center; }
    .rk-roi-final .roi-value { font-size: 38px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-kalkulator-roi",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Kalkulator zwrotu z inwestycji (ROI): Ogrzewanie wodne vs elektryczne",
    "description": "Interaktywne zestawienie kosztów instalacji (CAPEX) oraz rocznych rachunków (OPEX). Sprawdź, po ilu latach zwróci się montaż pompy ciepła w stosunku do mat elektrycznych.",
    "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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-koszty-utrzymania",
    "name": "Baza Danych: Koszty Eksploatacji i Stopa Zwrotu (ROI) Systemów Grzewczych",
    "description": "Zestawienie analityczne wykorzystywane do obliczania punktu opłacalności pomiędzy drogą instalacją hydrauliczną z pompą ciepła a tanimi systemami oporowymi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator opłacalności ogrzewania",
      "zwrot z inwestycji w pompę ciepła",
      "koszty roczne podłogówki elektrycznej",
      "zapotrzebowanie energetyczne budynku EU",
      "cena prądu a ogrzewanie podłogowe",
      "CAPEX vs OPEX instalacji"
    ],
    "measurementTechnique": "Algorytm różnicowy dzielący nadwyżkę kosztów instalacji (Delta CAPEX) przez roczne oszczędności na energii (Delta OPEX), bazujący na współczynniku SCOP=3.5 dla pomp ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt instalacji wodnej: Średnio 220 PLN/m2 + źródło ciepła (np. 35 000 PLN).",
        "Koszt instalacji elektrycznej: Średnio 135 PLN/m2.",
        "Roczne zużycie: Powierzchnia x EU (np. 40 kWh/m2/rok dla WT2021) x Cena 1 kWh."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-symulator-roi",
    "name": "Symulator Stopy Zwrotu (ROI) Ogrzewania",
    "description": "Aplikacja inżynieryjna umożliwiająca inwestorom symulację kosztów użytkowania i instalacji w zależności od powierzchni domu, standardu izolacji oraz kosztów źródła ciepła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-roi-container" id="rk-roi-calculator">
    <div class="rk-roi-header">
        <h2>Kalkulator Zwrotu z Inwestycji (ROI)</h2>
        <p>Decyzja o wyborze systemu to czysta matematyka. Oblicz, po ilu latach wyższy koszt montażu pompy ciepła i rur (CAPEX) zwróci się dzięki dramatycznie niższym rachunkom za prąd (OPEX) względem kabli grzewczych.</p>
    </div>

    <div class="rk-roi-app">
        <div class="rk-roi-controls">
            
            <div class="rk-roi-ctrl-group">
                <div class="rk-roi-ctrl-header">
                    <span class="rk-roi-label">Powierzchnia do ogrzania</span>
                    <span class="rk-roi-value" id="valRoiArea">120 m²</span>
                </div>
                <input type="range" class="rk-slider-roi" id="inRoiArea" min="50" max="250" step="5" value="120">
                <div class="rk-roi-desc">Czynna powierzchnia posadzek grzewczych.</div>
            </div>

            <div class="rk-roi-ctrl-group">
                <div class="rk-roi-ctrl-header">
                    <span class="rk-roi-label">Zapotrzebowanie na energię (EU)</span>
                    <span class="rk-roi-value" id="valRoiEu">40 kWh/m²</span>
                </div>
                <input type="range" class="rk-slider-roi" id="inRoiEu" min="15" max="100" step="5" value="40">
                <div class="rk-roi-desc">15 (Dom pasywny), 40 (Standard WT 2021), 100 (Słaba izolacja).</div>
            </div>

            <div class="rk-roi-ctrl-group">
                <div class="rk-roi-ctrl-header">
                    <span class="rk-roi-label">Cena energii elektrycznej</span>
                    <span class="rk-roi-value" id="valRoiPrice">1.15 PLN</span>
                </div>
                <input type="range" class="rk-slider-roi" id="inRoiPrice" min="0.80" max="2.00" step="0.05" value="1.15">
                <div class="rk-roi-desc">Średni koszt 1 kWh wraz z opłatami dystrybucyjnymi.</div>
            </div>

            <div class="rk-roi-ctrl-group" style="margin-bottom: 10px;">
                <div class="rk-roi-ctrl-header">
                    <span class="rk-roi-label">Koszt źródła ciepła (Pompa/Kocioł)</span>
                    <span class="rk-roi-value" id="valRoiHp">35 000 PLN</span>
                </div>
                <input type="range" class="rk-slider-roi" id="inRoiHp" min="10000" max="60000" step="1000" value="35000">
                <div class="rk-roi-desc">Koszt samej kotłowni dla systemu wodnego.</div>
            </div>

        </div>

        <div class="rk-roi-results">
            <h3 class="rk-roi-res-title">Bilans Finansowy Inwestycji</h3>

            <div class="rk-res-block water-block">
                <div class="rk-res-info">
                    <h4>Ogrzewanie Wodne</h4>
                    <p>Pompa Ciepła (SCOP = 3.5)</p>
                </div>
                <div class="rk-res-numbers">
                    <div class="capex">Start: <span id="outCapWater">61 400</span> PLN</div>
                    <div class="opex" id="outOpWater">1 577 <span>PLN / rok</span></div>
                </div>
            </div>

            <div class="rk-res-block elec-block">
                <div class="rk-res-info">
                    <h4>Ogrzewanie Elektryczne</h4>
                    <p>Maty grzewcze (COP = 1.0)</p>
                </div>
                <div class="rk-res-numbers">
                    <div class="capex">Start: <span id="outCapElec">18 200</span> PLN</div>
                    <div class="opex" id="outOpElec">5 520 <span>PLN / rok</span></div>
                </div>
            </div>

            <div class="rk-roi-final" id="roiBox">
                <h3>System wodny zacznie na siebie zarabiać po:</h3>
                <div class="roi-value" id="outRoiYears">10.9 <span>latach</span></div>
                <p id="roiText">Od tego momentu generujesz czysty zysk w postaci niższych rachunków.</p>
            </div>
            
            <div class="rk-roi-tags">
                <span class="rk-roi-tag"># Zapotrzebowanie energetyczne OZC</span>
                <span class="rk-roi-tag"># Bilans CAPEX vs OPEX</span>
                <span class="rk-roi-tag"># Współczynnik SCOP pompy ciepła</span>
            </div>
        </div>
    </div>

    <div class="rk-roi-conclusion">
        <p><strong>Wniosek inżynieryjny:</strong> Jeśli symulacja wykazuje czas zwrotu poniżej 15 lat, instalacja wodna jest bezwzględnie lepszym wyborem kapitałowym. Biorąc pod uwagę, że mówimy o obrocie dziesiątkami tysięcy złotych, inwestycja na poziomie <strong>średnio 550 PLN w profesjonalny projekt dokumentacji instalacyjnej</strong> to ułamek promila kosztów całej inwestycji. To właśnie z rzetelnego opracowania OZC wyniknie dokładne zapotrzebowanie Twojego domu, chroniące Cię przed przewymiarowaniem pompy i przepaleniem budżetu.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var inArea = document.getElementById('inRoiArea');
    var inEu = document.getElementById('inRoiEu');
    var inPrice = document.getElementById('inRoiPrice');
    var inHp = document.getElementById('inRoiHp');

    var valArea = document.getElementById('valRoiArea');
    var valEu = document.getElementById('valRoiEu');
    var valPrice = document.getElementById('valRoiPrice');
    var valHp = document.getElementById('valRoiHp');

    var outCapWater = document.getElementById('outCapWater');
    var outOpWater = document.getElementById('outOpWater');
    var outCapElec = document.getElementById('outCapElec');
    var outOpElec = document.getElementById('outOpElec');
    
    var outRoiYears = document.getElementById('outRoiYears');
    var roiBox = document.getElementById('roiBox');
    var roiText = document.getElementById('roiText');

    function formatPln(number) {
        var str = Math.round(number).toString();
        var result = "";
        var count = 0;
        var i = str.length - 1;
        
        while (i >= 0) {
            result = str.charAt(i) + result;
            count = count + 1;
            if (count === 3) {
                if (i !== 0) {
                    result = " " + result;
                }
                count = 0;
            }
            i = i - 1;
        }
        return result;
    }

    function calculateRoi() {
        var area = parseFloat(inArea.value);
        var eu = parseFloat(inEu.value);
        var price = parseFloat(inPrice.value);
        var hpCost = parseFloat(inHp.value);

        // Aktualizacja etykiet
        valArea.textContent = area + " m²";
        valEu.textContent = eu + " kWh/m²";
        valPrice.textContent = price.toFixed(2) + " PLN";
        valHp.textContent = formatPln(hpCost) + " PLN";

        // Parametry stałe dla instalacji (bez źródła)
        var costInstallWaterM2 = 220; // Rury, jastrych, rozdzielacz
        var costInstallElecM2 = 135;  // Maty, termostaty
        var fixedElecCost = 2000;     // Dodatkowe koszty przyłącza dla elektryki

        var scopHeatPump = 3.5;

        // Obliczenia CAPEX (Koszty startowe)
        var capexWater = (area * costInstallWaterM2) + hpCost;
        var capexElec = (area * costInstallElecM2) + fixedElecCost;

        // Obliczenia OPEX (Roczne zużycie energii)
        var yearlyEnergyDemand = area * eu; // kWh rocznie
        
        // Elektryczne (COP 1)
        var opexElec = yearlyEnergyDemand * price;
        
        // Wodne (Pompa ciepła SCOP 3.5)
        var opexWater = (yearlyEnergyDemand / scopHeatPump) * price;

        // Różnice
        var diffCapex = capexWater - capexElec;
        var diffOpex = opexElec - opexWater;

        // Renderowanie wartości podstawowych
        outCapWater.textContent = formatPln(capexWater);
        outOpWater.innerHTML = formatPln(opexWater) + " <span>PLN / rok</span>";
        
        outCapElec.textContent = formatPln(capexElec);
        outOpElec.innerHTML = formatPln(opexElec) + " <span>PLN / rok</span>";

        // Obliczanie zwrotu (ROI)
        var roiYears = 0;
        
        if (diffOpex > 0) {
            if (diffCapex > 0) {
                roiYears = diffCapex / diffOpex;
                outRoiYears.innerHTML = roiYears.toFixed(1) + " <span>latach</span>";
                
                roiBox.style.background = "linear-gradient(135deg, var(--rk-roi-green) 0%, #059669 100%)";
                roiBox.style.boxShadow = "0 15px 30px -10px rgba(16, 185, 129, 0.4)";
                roiText.textContent = "Od tego momentu generujesz czysty zysk w postaci niższych rachunków.";
            } else {
                // Jeśli wodne jest tańsze w instalacji (bardzo rzadkie, ale możliwe przy taniej pompie i małym domu)
                outRoiYears.innerHTML = "0 <span>lat</span>";
                roiBox.style.background = "linear-gradient(135deg, var(--rk-roi-blue) 0%, #0369a1 100%)";
                roiText.textContent = "System wodny jest tańszy już na etapie inwestycji!";
            }
        } else {
            // Teoretyczny przypadek, gdy prąd jest "darmowy" (np. gigantyczne PV zbilansowane 1:1)
            outRoiYears.innerHTML = "Nigdy";
            roiBox.style.background = "linear-gradient(135deg, var(--rk-roi-red) 0%, #b91c1c 100%)";
            roiText.textContent = "Koszty eksploatacji są równe lub wyższe. Zwrot nie nastąpi.";
        }
    }

    // Nasłuchiwacze eventów
    if (inArea !== null) { inArea.addEventListener('input', calculateRoi); }
    if (inEu !== null) { inEu.addEventListener('input', calculateRoi); }
    if (inPrice !== null) { inPrice.addEventListener('input', calculateRoi); }
    if (inHp !== null) { inHp.addEventListener('input', calculateRoi); }

    // Start
    calculateRoi();
});
</script>



<style>
:root {
    --rk-adv-dark: #0f172a;
    --rk-adv-blue: #0284c7;
    --rk-adv-blue-light: #f0f9ff;
    --rk-adv-gold: #d97706;
    --rk-adv-gold-light: #fffbeb;
    --rk-adv-green: #10b981;
    --rk-adv-green-light: #ecfdf5;
    --rk-adv-red: #ef4444;
    --rk-adv-red-light: #fef2f2;
    --rk-adv-gray: #64748b;
    --rk-adv-border: #e2e8f0;
    --rk-adv-bg: #ffffff;
}

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

/* Nagłówek */
.rk-adv-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-adv-dark) 0%, #1e293b 100%);
    color: #ffffff;
}

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

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

/* Layout Aplikacji */
.rk-adv-app {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

/* Lewa Strona - Suwaki (Sterowanie) */
.rk-adv-controls {
    padding: 40px 50px;
    background: #f8fafc;
    border-right: 1px solid var(--rk-adv-border);
}

.rk-adv-ctrl-group {
    margin-bottom: 35px;
}

.rk-adv-ctrl-group:last-child {
    margin-bottom: 0;
}

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

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

.rk-adv-val-box {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-adv-blue);
    background: var(--rk-adv-blue-light);
    padding: 6px 14px;
    border-radius: 10px;
    border: 1px solid rgba(2, 132, 199, 0.15);
}

.rk-adv-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 10px;
    border-radius: 5px;
    background: var(--rk-adv-border);
    outline: none;
    transition: background 0.3s;
}

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

.rk-adv-slider::-webkit-slider-thumb:hover { transform: scale(1.1); }
.rk-adv-slider::-moz-range-thumb {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-adv-blue);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.4);
    border: 3px solid #ffffff;
}

.rk-adv-desc {
    font-size: 13px;
    color: var(--rk-adv-gray);
    margin-top: 10px;
    line-height: 1.5;
}

/* Prawa Strona - Dynamiczny Werdykt */
.rk-adv-verdict {
    padding: 40px 50px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-adv-status-box {
    padding: 30px;
    border-radius: 20px;
    text-align: center;
    transition: all 0.4s ease;
    border: 2px solid transparent;
}

/* Stany statusów */
.status-electric {
    background: var(--rk-adv-gold-light);
    border-color: rgba(217, 119, 6, 0.3);
}

.status-water {
    background: var(--rk-adv-blue-light);
    border-color: rgba(2, 132, 199, 0.3);
}

.status-danger {
    background: var(--rk-adv-red-light);
    border-color: rgba(239, 68, 68, 0.3);
}

.rk-adv-icon-wrapper {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px auto;
    background: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.08);
}

.status-electric .rk-adv-icon-wrapper { color: var(--rk-adv-gold); }
.status-water .rk-adv-icon-wrapper { color: var(--rk-adv-blue); }
.status-danger .rk-adv-icon-wrapper { color: var(--rk-adv-red); }

.rk-adv-title {
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: var(--rk-adv-dark);
}

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

.rk-adv-text strong {
    color: var(--rk-adv-dark);
}

/* Sekcja Teorii poniżej */
.rk-adv-theory {
    padding: 35px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-adv-border);
}

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

.rk-adv-theory p {
    font-size: 15px;
    color: var(--rk-adv-gray);
    line-height: 1.7;
    margin: 0 0 15px 0;
}

/* Mobile RWD */
@media (max-width: 850px) {
    .rk-adv-container { margin: 20px auto; border-radius: 16px; }
    .rk-adv-app { grid-template-columns: 1fr; }
    .rk-adv-header, .rk-adv-controls, .rk-adv-verdict, .rk-adv-theory { padding: 30px 20px; }
    .rk-adv-controls { border-right: none; border-bottom: 1px solid var(--rk-adv-border); }
    .rk-adv-status-box { padding: 25px 15px; }
    .rk-adv-icon-wrapper { width: 64px; height: 64px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-macierz-decyzyjna",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Kiedy opłaca się ogrzewanie elektryczne, a kiedy wodne? Interaktywny Doradca",
    "description": "Sprawdź, przy jakim metrażu i standardzie izolacji budynku (WT 2021, pasywny, stary dom) opłaca się montaż pomp ciepła, a kiedy wystarczą tanie maty elektryczne.",
    "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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-macierz-oplacalnosci",
    "name": "Macierz Opłacalności Systemów Grzewczych 2026",
    "description": "Zestawienie korelacji między metrażem budynku (m2) a zapotrzebowaniem na energię użytkową (kWh/m2/rok) w celu określenia progu opłacalności systemów hydraulicznych i oporowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kiedy ogrzewanie elektryczne ma sens",
      "ogrzewanie wodne czy elektryczne do małego domu",
      "ogrzewanie domu 70m2 jakie wybrać",
      "koszty ogrzewania stary dom",
      "zapotrzebowanie energetyczne a dobór ogrzewania"
    ],
    "measurementTechnique": "Algorytm progowy weryfikujący globalne zapotrzebowanie na energię. Niskie zapotrzebowanie (mały metraż + doskonała izolacja) wskazuje na brak uzasadnienia ekonomicznego dla drogiej instalacji wodnej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Metraż < 70m2 i EU < 50 kWh: Rekomendacja ogrzewania elektrycznego z uwagi na ekstremalnie długi czas zwrotu pompy ciepła.",
        "Metraż > 80m2 lub EU > 60 kWh: Bezwzględna rekomendacja ogrzewania wodnego w celu uniknięcia gigantycznych rachunków za prąd."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-doradca-grzewczy",
    "name": "Interaktywny Doradca Wyboru Technologii Grzewczej",
    "description": "Aplikacja decyzyjna pozwalająca inwestorom na żywo symulować opłacalność montażu wodnej podłogówki względem rozwiązań elektrycznych w oparciu o gabaryty i izolację budynku.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-adv-container" id="rk-decision-matrix">
    <div class="rk-adv-header">
        <h2>Kiedy opłaca się ogrzewanie elektryczne, a kiedy wodne?</h2>
        <p>Matematyka nie znosi marketingu. Zasada jest brutalnie prosta: opłacalność inwestycji zależy od skali budynku i jakości izolacji. Sprawdź na interaktywnej macierzy, w którym momencie wydatek na pompę ciepła traci ekonomiczny sens, a kiedy ogrzewanie prądem zrujnuje Twój budżet.</p>
    </div>

    <div class="rk-adv-app">
        <div class="rk-adv-controls">
            
            <div class="rk-adv-ctrl-group">
                <div class="rk-adv-ctrl-header">
                    <span class="rk-adv-label">Metraż budynku</span>
                    <span class="rk-adv-val-box" id="valAdvArea">70 m²</span>
                </div>
                <input type="range" class="rk-adv-slider" id="inAdvArea" min="30" max="250" step="5" value="70">
                <div class="rk-adv-desc">Powierzchnia, którą realnie zamierzasz ogrzewać (bez garaży zimnych).</div>
            </div>

            <div class="rk-adv-ctrl-group">
                <div class="rk-adv-ctrl-header">
                    <span class="rk-adv-label">Standard izolacji (EU)</span>
                    <span class="rk-adv-val-box" id="valAdvEu">40 kWh/m²</span>
                </div>
                <input type="range" class="rk-adv-slider" id="inAdvEu" min="15" max="150" step="5" value="40">
                <div class="rk-adv-desc">
                    Zapotrzebowanie na energię. <strong>15-20:</strong> Dom Pasywny | <strong>40-50:</strong> WT 2021 | <strong>100+:</strong> Stary dom, słabe ocieplenie.
                </div>
            </div>

        </div>

        <div class="rk-adv-verdict">
            
            <div class="rk-adv-status-box status-electric" id="verdictBox">
                <div class="rk-adv-icon-wrapper" id="verdictIcon">
                    <svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                </div>
                <h3 class="rk-adv-title" id="verdictTitle">Wybierz Ogrzewanie Elektryczne</h3>
                <p class="rk-adv-text" id="verdictText">Zapotrzebowanie Twojego budynku na ciepło jest tak małe, że <strong>inwestycja w pompę ciepła i hydraulikę nie zwróci się przez 30 lat</strong>. Tanie w montażu maty elektryczne są tutaj jedynym logicznym wyborem.</p>
            </div>

        </div>
    </div>

    <div class="rk-adv-theory">
        <h3>Skąd bierze się ta granica?</h3>
        <p>W inżynierii operujemy pojęciami CAPEX (koszty instalacji) i OPEX (koszty użytkowania). Ogrzewanie elektryczne ma <strong>minimalny CAPEX i maksymalny OPEX</strong>. Ogrzewanie wodne – odwrotnie.</p>
        <p>Jeżeli budujesz mały dom letniskowy lub dom modułowy (np. 60 m²) w bardzo dobrym standardzie ocieplenia (WT 2021), to ilość ciepła, której on potrzebuje do przetrwania zimy jest znikoma. Różnica w rachunkach za prąd pomiędzy drogą pompą ciepła a zwykłymi kablami oporowymi wyniesie w takim domu zaledwie kilkaset złotych w skali całego roku. Skoro pompa ciepła z całą kotłownią i robocizną podłogówki kosztuje o ok. 35 000 PLN więcej niż folie elektryczne, to ten zwrot kapitału zajmie dekady. Natomiast przy starych domach (EU > 100) lub metrażach powyżej 90 m², rachunki za czysty prąd zabiją portfel w dwa sezony – wtedy podłogówka wodna to absolutna konieczność.</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var inArea = document.getElementById('inAdvArea');
    var inEu = document.getElementById('inAdvEu');
    
    var valArea = document.getElementById('valAdvArea');
    var valEu = document.getElementById('valAdvEu');
    
    var verdictBox = document.getElementById('verdictBox');
    var verdictIcon = document.getElementById('verdictIcon');
    var verdictTitle = document.getElementById('verdictTitle');
    var verdictText = document.getElementById('verdictText');

    // SVG Icons
    var iconElectric = '<svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>';
    
    var iconWater = '<svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>';
    
    var iconDanger = '<svg width="36" height="36" 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>';

    function evaluateMatrix() {
        var area = parseInt(inArea.value);
        var eu = parseInt(inEu.value);

        // Aktualizacja widocznych etykiet
        valArea.textContent = area + " m²";
        valEu.textContent = eu + " kWh/m²";

        // BEZPIECZNA LOGIKA (Brak &&)
        if (area <= 75) {
            if (eu <= 55) {
                // Mały dom, dobra izolacja -> Elektryczne
                verdictBox.className = "rk-adv-status-box status-electric";
                verdictIcon.innerHTML = iconElectric;
                verdictTitle.textContent = "Najlepszy wybór: Elektryczne";
                verdictText.innerHTML = "Zapotrzebowanie budynku na ciepło jest tak małe, że <strong>dopłata do pompy ciepła i hydrauliki nigdy się nie zwróci</strong>. Maty elektryczne to najtańsze i najbardziej opłacalne wyjście.";
            } else {
                // Mały dom, ale FATALNA izolacja -> Koszty prądu zabiją
                verdictBox.className = "rk-adv-status-box status-danger";
                verdictIcon.innerHTML = iconDanger;
                verdictTitle.textContent = "Ostrzeżenie! Koszty prądu";
                verdictText.innerHTML = "Mimo małego metrażu, Twój dom traci mnóstwo ciepła. Ogrzewanie prądem wygeneruje olbrzymie rachunki. Najpierw <strong>zainwestuj w termomodernizację</strong>, a potem rozważ wodne ogrzewanie podłogowe.";
            }
        } else {
            // Dom średni / duży (> 75 m2)
            if (eu >= 90) {
                 // Duży dom, słaba izolacja -> Wodne absolutnie, choć koszty i tak będą duże
                verdictBox.className = "rk-adv-status-box status-water";
                verdictIcon.innerHTML = iconWater;
                verdictTitle.textContent = "Absolutnie Ogrzewanie Wodne";
                verdictText.innerHTML = "Duży metraż i znaczne straty ciepła oznaczają, że ogrzewanie bezpośrednio prądem doprowadzi Cię do bankructwa. <strong>Wodna podłogówka z pompą ciepła</strong> (bądź kotłem) to jedyny sposób na opanowanie kosztów eksploatacji.";
            } else {
                 // Duży dom, dobra izolacja -> Wodne to standard
                verdictBox.className = "rk-adv-status-box status-water";
                verdictIcon.innerHTML = iconWater;
                verdictTitle.textContent = "Zdecydowanie Ogrzewanie Wodne";
                verdictText.innerHTML = "Przy tym metrażu koszty eksploatacji nabierają kluczowego znaczenia. Wyższy koszt startowy wodnej podłogówki i pompy ciepła <strong>zwróci się w optymalnym czasie</strong>. To standard dla nowoczesnych domów.";
            }
        }
    }

    if (inArea !== null) {
        inArea.addEventListener('input', evaluateMatrix);
    }
    if (inEu !== null) {
        inEu.addEventListener('input', evaluateMatrix);
    }

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



<style>
:root {
    --rk-calc-dark: #111827;
    --rk-calc-blue: #0ea5e9;
    --rk-calc-blue-light: #e0f2fe;
    --rk-calc-blue-dark: #0284c7;
    --rk-calc-gray-bg: #f8fafc;
    --rk-calc-gray-border: #e2e8f0;
    --rk-calc-text: #475569;
    --rk-calc-white: #ffffff;
    --rk-calc-accent: #10b981;
}

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

/* Nagłówek */
.rk-calc-header {
    padding: 40px 50px 30px;
    background: var(--rk-calc-gray-bg);
    border-bottom: 1px solid var(--rk-calc-gray-border);
}

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

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

/* Aplikacja Kalkulatora */
.rk-calc-app {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

/* Sekcja Suwaków (Lewa) */
.rk-calc-controls {
    padding: 40px 50px;
    border-right: 1px solid var(--rk-calc-gray-border);
}

.rk-ctrl-group {
    margin-bottom: 30px;
}

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

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

.rk-ctrl-value {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-calc-blue);
    background: var(--rk-calc-blue-light);
    padding: 4px 12px;
    border-radius: 8px;
}

/* Custom Slider */
.rk-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: var(--rk-calc-gray-border);
    outline: none;
    transition: background 0.3s;
}

.rk-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-blue);
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(14, 165, 233, 0.3);
    border: 3px solid var(--rk-calc-white);
    transition: transform 0.1s;
}

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

.rk-slider::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-blue);
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(14, 165, 233, 0.3);
    border: 3px solid var(--rk-calc-white);
}

/* Sekcja Wyników (Prawa) */
.rk-calc-results {
    padding: 40px 50px;
    background: var(--rk-calc-dark);
    color: var(--rk-calc-white);
}

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

.rk-res-box {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.rk-res-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(14, 165, 233, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-calc-blue);
    flex-shrink: 0;
}

.rk-res-data h4 {
    margin: 0 0 5px 0;
    font-size: 13px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-res-data .rk-val {
    font-size: 24px;
    font-weight: 900;
    margin: 0;
    color: var(--rk-calc-white);
}

.rk-res-data .rk-val span {
    font-size: 14px;
    font-weight: 600;
    color: #cbd5e1;
}

/* Sekcja Teorii i Algorytmu */
.rk-calc-theory {
    padding: 40px 50px;
    border-top: 1px solid var(--rk-calc-gray-border);
}

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

.rk-step-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rk-step-item {
    position: relative;
    padding-left: 45px;
    margin-bottom: 25px;
}

.rk-step-num {
    position: absolute;
    left: 0;
    top: 0;
    width: 30px;
    height: 30px;
    background: var(--rk-calc-blue-light);
    color: var(--rk-calc-blue-dark);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 15px;
}

.rk-step-item h4 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-calc-dark);
}

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

.rk-formula-box {
    background: var(--rk-calc-gray-bg);
    padding: 12px 20px;
    border-radius: 8px;
    border-left: 3px solid var(--rk-calc-blue);
    font-family: monospace;
    font-size: 15px;
    color: var(--rk-calc-dark);
    font-weight: 600;
}

.rk-theory-note {
    margin-top: 30px;
    padding: 20px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 12px;
    font-size: 14px;
    color: #92400e;
    line-height: 1.6;
}

/* Mobile RWD */
@media (max-width: 768px) {
    .rk-calc-container { margin: 20px auto; border-radius: 16px; }
    .rk-calc-header { padding: 30px 20px; }
    .rk-calc-app { grid-template-columns: 1fr; }
    .rk-calc-controls, .rk-calc-results, .rk-calc-theory { padding: 30px 20px; }
    .rk-calc-controls { border-right: none; border-bottom: 1px solid var(--rk-calc-gray-border); }
    .rk-res-box { flex-direction: column; text-align: center; gap: 15px; padding: 25px 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Jak obliczyć zapotrzebowanie na moc i parametry pracy ogrzewania podłogowego? (Algorytm Kalkulatora)",
    "description": "Profesjonalny algorytm z normy PN-EN 1264 do obliczania mocy emisyjnej podłogi, gęstości strumienia ciepła i przepływu wody na rotametrach rozdzielacza.",
    "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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-algorytm-obliczeniowy",
    "name": "Wzory i Parametry Obliczeniowe Ogrzewania Podłogowego 2026",
    "description": "Baza algorytmów i współczynników do obliczeń termiczno-hydraulicznych instalacji płaszczyznowych, bazująca na normie PN-EN 1264 oraz bilansie strat PN-EN 12831.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczeniowe zapotrzebowanie na moc cieplną",
      "gęstość strumienia cieplnego podłogówki",
      "przepływ masowy czynnika pętli wodnej",
      "norma PN-EN 1264 ogrzewanie płaszczyznowe",
      "bilans strat ciepła PN-EN 12831"
    ],
    "measurementTechnique": "Algorytm termiczno-hydrauliczny uwzględniający naddatek na osłabienie ogrzewania (+15%) oraz ciepło właściwe wody (4.19 kJ/kg K).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Moc strefy (Q_obl): Q (straty) * 1.15",
        "Gęstość strumienia (q): Q_obl / Powierzchnia czynna (F_g)",
        "Przepływ masowy (m2): (Q_obl / (4.19 * Delta T)) * 3600"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-kalkulator-przeplywow",
    "name": "Interaktywny Kalkulator Mocy i Przepływów Ogrzewania Podłogowego",
    "description": "Narzędzie inżynieryjne pozwalające inwestorom na żywo symulować wpływ strat ciepła i stałej zabudowy na przepływy hydrauliczne w rozdzielaczu (l/min) oraz gęstość strumienia cieplnego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rk-heating-calculator">
    <div class="rk-calc-header">
        <h2>Jak obliczyć zapotrzebowanie na moc i parametry pracy ogrzewania podłogowego? (Algorytm Kalkulatora)</h2>
        <p>Aby poprawnie zaprojektować instalację podłogową, należy przeprowadzić obliczenia termiczno-hydrauliczne bazujące na rygorystycznej normie PN-EN 1264. Poniższy interaktywny symulator pozwala zrozumieć, jak powierzchnia zabudowy (np. wyspa w kuchni) i izolacja budynku wpływają na parametry pracy pompy obiegowej.</p>
    </div>

    <div class="rk-calc-app">
        <div class="rk-calc-controls">
            <div class="rk-ctrl-group">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Powierzchnia całkowita pom.</span>
                    <span class="rk-ctrl-value" id="valArea">30 m²</span>
                </div>
                <input type="range" class="rk-slider" id="inArea" min="5" max="80" step="1" value="30">
            </div>

            <div class="rk-ctrl-group">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Zabudowa stała (szafy, wyspa)</span>
                    <span class="rk-ctrl-value" id="valBuilt">5 m²</span>
                </div>
                <input type="range" class="rk-slider" id="inBuilt" min="0" max="30" step="1" value="5">
            </div>

            <div class="rk-ctrl-group">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Straty ciepła z OZC (Q)</span>
                    <span class="rk-ctrl-value" id="valHeat">1.2 kW</span>
                </div>
                <input type="range" class="rk-slider" id="inHeat" min="0.2" max="5.0" step="0.1" value="1.2">
            </div>

            <div class="rk-ctrl-group">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-label">Różnica temp. (Delta T)</span>
                    <span class="rk-ctrl-value" id="valDelta">5 K</span>
                </div>
                <input type="range" class="rk-slider" id="inDelta" min="3" max="10" step="1" value="5">
            </div>
        </div>

        <div class="rk-calc-results">
            <h3>Wyniki Symulacji na Żywo</h3>
            
            <div class="rk-res-box">
                <div class="rk-res-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="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                </div>
                <div class="rk-res-data">
                    <h4>Zapotrzebowanie na moc (Q_obl)</h4>
                    <p class="rk-val" id="outMoc">1.38 <span>kW</span></p>
                </div>
            </div>

            <div class="rk-res-box">
                <div class="rk-res-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>
                </div>
                <div class="rk-res-data">
                    <h4>Gęstość strumienia (q)</h4>
                    <p class="rk-val" id="outStrumien">55.2 <span>W/m²</span></p>
                </div>
            </div>

            <div class="rk-res-box">
                <div class="rk-res-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-res-data">
                    <h4>Przepływ wymagany dla pętli</h4>
                    <p class="rk-val" id="outPrzeplyw">3.9 <span>l/min (Razem)</span></p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-calc-theory">
        <h3>Algorytm obliczeniowy kroku po kroku</h3>
        <ul class="rk-step-list">
            <li class="rk-step-item">
                <div class="rk-step-num">1</div>
                <h4>Wyznaczenie obliczeniowego zapotrzebowania na moc cieplną strefy (Q_obl)</h4>
                <p>Wyliczamy zapotrzebowanie na ciepło pomieszczenia na podstawie bilansu strat przez przegrody i na wentylację (zgodnie z PN-EN 12831), dodając współczynnik bezpieczeństwa rzędu 15% (naddatek na okresowe osłabienie ogrzewania).</p>
                <div class="rk-formula-box">Q_obl = Q * 1.15</div>
            </li>
            <li class="rk-step-item">
                <div class="rk-step-num">2</div>
                <h4>Obliczenie wymaganej gęstości strumienia cieplnego (q)</h4>
                <p>Dzielimy obliczoną moc przez efektywną, czynną powierzchnię grzejną podłogi (F_g). Pamiętaj, aby zawsze pomijać stałą zabudowę (np. szafy komandor, wanny, wyspy kuchenne). Wartość dla pokoi stałego przebywania ludzi nie powinna przekraczać limitu 100 W/m2.</p>
                <div class="rk-formula-box">q = (Q_obl * 1000) / F_g</div>
            </li>
            <li class="rk-step-item">
                <div class="rk-step-num">3</div>
                <h4>Określenie przepływu masowego czynnika dla pętli wodnej (m_2)</h4>
                <p>Dla systemów wodnych wyliczamy strumień objętościowy wody krążącej w pętli dla zadanego schłodzenia czynnika grzewczego (standardowo Delta T wynosi 5 K dla nowoczesnych pomp ciepła). Ciepło właściwe wody przyjmujemy jako 4.19 kJ/kg*K.</p>
                <div class="rk-formula-box">Przepływ [kg/h] = (Q_obl / (4.19 * Delta T)) * 3600</div>
            </li>
        </ul>

        <div class="rk-theory-note">
            <strong>Ogrzewanie Elektryczne:</strong> Dla porównania w układzie elektrycznym dobór opiera się bezpośrednio na gęstości mocy maty. Jeśli z obliczeń wychodzi strumień 55.2 W/m2, wybieramy standardową matę grzewczą o mocy nominalnej 80 W/m2 lub 100 W/m2. Automatyka wyposażona w regulator PWM (modulacja szerokości impulsów) samoczynnie odetnie zasilanie po osiągnięciu żądanej temperatury jastrychu lub powietrza.
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var inArea = document.getElementById('inArea');
    var inBuilt = document.getElementById('inBuilt');
    var inHeat = document.getElementById('inHeat');
    var inDelta = document.getElementById('inDelta');

    var valArea = document.getElementById('valArea');
    var valBuilt = document.getElementById('valBuilt');
    var valHeat = document.getElementById('valHeat');
    var valDelta = document.getElementById('valDelta');

    var outMoc = document.getElementById('outMoc');
    var outStrumien = document.getElementById('outStrumien');
    var outPrzeplyw = document.getElementById('outPrzeplyw');

    function calculate() {
        var aTotal = parseFloat(inArea.value);
        var aBuilt = parseFloat(inBuilt.value);
        var qLoss = parseFloat(inHeat.value);
        var dT = parseFloat(inDelta.value);

        // Zabezpieczenie, by zabudowa nie była większa niż całe pomieszczenie
        if (aBuilt > aTotal) {
            aBuilt = aTotal - 1;
            inBuilt.value = aBuilt;
        }

        // Aktualizacja etykiet na bieżąco
        valArea.textContent = aTotal + " m²";
        valBuilt.textContent = aBuilt + " m²";
        valHeat.textContent = qLoss.toFixed(1) + " kW";
        valDelta.textContent = dT + " K";

        // KROK 1: Obliczanie mocy (Q_obl)
        var qObl = qLoss * 1.15;
        
        // KROK 2: Gęstość strumienia (q)
        var aActive = aTotal - aBuilt;
        var qFlux = 0;
        if (aActive > 0) {
            qFlux = (qObl * 1000) / aActive;
        }

        // KROK 3: Przepływ wody (m2)
        var kg_h = 0;
        var l_min = 0;
        if (dT > 0) {
            kg_h = (qObl / (4.19 * dT)) * 3600;
            l_min = kg_h / 60;
        }

        // Podział na pętle (orientacyjnie co 15m2)
        var loops = Math.ceil(aActive / 15);
        if (loops < 1) {
            loops = 1;
        }
        var flowPerLoop = l_min / loops;

        // Renderowanie wyników
        outMoc.innerHTML = qObl.toFixed(2) + " <span>kW</span>";
        
        // Zmiana koloru na czerwony przy przekroczeniu normy > 100 W/m2
        if (qFlux > 100) {
            outStrumien.innerHTML = "<span style='color:#ef4444'>" + qFlux.toFixed(1) + "</span> <span>W/m² (Przekroczenie!)</span>";
        } else {
            outStrumien.innerHTML = qFlux.toFixed(1) + " <span>W/m²</span>";
        }

        outPrzeplyw.innerHTML = flowPerLoop.toFixed(2) + " <span>l/min (na rotametrze)</span>";
    }

    // Nasłuchiwanie zdarzeń na suwakach
    if (inArea !== null) { inArea.addEventListener('input', calculate); }
    if (inBuilt !== null) { inBuilt.addEventListener('input', calculate); }
    if (inHeat !== null) { inHeat.addEventListener('input', calculate); }
    if (inDelta !== null) { inDelta.addEventListener('input', calculate); }

    // Inicjalne uruchomienie
    calculate();
});
</script>



<style>
:root {
    --rk-proj-dark: #1e293b;
    --rk-proj-blue: #0284c7;
    --rk-proj-blue-light: #e0f2fe;
    --rk-proj-electric: #d97706;
    --rk-proj-electric-light: #fef3c7;
    --rk-proj-gray: #64748b;
    --rk-proj-border: #cbd5e1;
    --rk-proj-bg: #ffffff;
    --rk-proj-red: #ef4444;
}

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

/* Nagłówek H2 */
.rk-proj-header {
    padding: 45px 50px 35px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-proj-border);
}

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

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

/* Interfejs Przełącznika */
.rk-proj-app-wrapper {
    padding: 40px 50px;
}

.rk-proj-switch-board {
    display: flex;
    background: #f1f5f9;
    padding: 8px;
    border-radius: 16px;
    margin-bottom: 35px;
}

.rk-proj-tab {
    flex: 1;
    text-align: center;
    padding: 18px 20px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s;
    border: none;
    background: transparent;
    color: var(--rk-proj-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-proj-tab.active-water {
    background: var(--rk-proj-bg);
    color: var(--rk-proj-blue);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.rk-proj-tab.active-electric {
    background: var(--rk-proj-bg);
    color: var(--rk-proj-electric);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Panele z Treścią */
.rk-proj-panel {
    display: none;
    animation: fadeIn 0.5s ease;
}

.rk-proj-panel.is-visible {
    display: block;
}

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

/* Layout bez obrazka - pełna szerokość na merytorykę */
.rk-proj-data-box h3 {
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 15px 0;
}

.rk-proj-data-box p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-proj-dark);
    margin: 0 0 20px 0;
}

/* Interaktywne Karty Wpływu - układ 2-kolumnowy na desktopie */
.rk-impact-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 25px;
}

.rk-impact-item {
    background: #ffffff;
    border: 1px solid var(--rk-proj-border);
    padding: 25px;
    border-radius: 12px;
    border-top: 4px solid var(--rk-proj-gray);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-impact-item.water-border { border-top-color: var(--rk-proj-blue); }
.rk-impact-item.elec-border { border-top-color: var(--rk-proj-electric); }

.rk-impact-item h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-proj-dark);
    line-height: 1.4;
}

.rk-impact-item p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-proj-gray);
    line-height: 1.6;
}

/* Tagi długi ogon (Zoptymalizowane) */
.rk-proj-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 40px;
    padding-top: 25px;
    border-top: 1px dashed var(--rk-proj-border);
}

.rk-ptag {
    background: #f1f5f9;
    color: var(--rk-proj-gray);
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s;
}

.rk-ptag:hover {
    background: var(--rk-proj-blue);
    color: #ffffff;
}

/* Mocne CTA */
.rk-proj-cta {
    background: linear-gradient(135deg, var(--rk-proj-dark) 0%, #0f172a 100%);
    padding: 45px 50px;
    text-align: center;
    color: #ffffff;
}

.rk-proj-cta h3 {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 15px 0;
}

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

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

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

/* Mobile RWD */
@media (max-width: 768px) {
    .rk-proj-container { margin: 20px auto; border-radius: 16px; }
    .rk-proj-header, .rk-proj-app-wrapper, .rk-proj-cta { padding: 30px 20px; }
    .rk-proj-switch-board { flex-direction: column; padding: 5px; gap: 5px; }
    .rk-impact-cards { grid-template-columns: 1fr; gap: 15px; }
    .rk-btn-action { width: 100%; font-size: 16px; padding: 16px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-projekt-ozc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Jak to wpływa na projekt ogrzewania podłogowego?",
    "description": "Zaprojektowanie ogrzewania podłogowego bez ścisłej korelacji z charakterystyką OZC to droga do katastrofy. Zobacz wpływ na rozstaw rur i przydział mocy elektrycznej.",
    "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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-parametry-projektowe",
    "name": "Wytyczne Projektowe OZC: Woda vs Prąd",
    "description": "Baza danych parametrów projektowych wykazująca korelację między wynikami OZC a konfiguracją układu wodnego (rozstaw rur) oraz elektrycznego (moc przyłącza).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowe obciążenie cieplne budynku",
      "rozstaw rur ogrzewanie podłogowe",
      "temperatura zasilania pompy ciepła Tz",
      "zwiększenie mocy przyłączeniowej wew",
      "opory hydrauliczne pętli grzewczych"
    ],
    "measurementTechnique": "Algorytmiczne przeliczanie jednostkowych strat ciepła z OZC na parametry hydrauliczne pomp obiegowych oraz bilans mocy elektrycznej budynku.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System Wodny: Błędny rozstaw rur (np. 20 cm zamiast 10 cm) wymusza podniesienie temperatury zasilania do 40 st C, co obniża współczynnik SCOP pompy ciepła.",
        "System Elektryczny: Instalacja mat o mocy 10 kW wymaga zwiększenia mocy umownej do 25-30 kW oraz zastosowania przekaźników priorytetowych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-symulator-projektu",
    "name": "Symulator Wpływu OZC na Instalację",
    "description": "Narzędzie interaktywne ilustrujące zmiany w hydraulice i układach zasilania budynku w zależności od wybranej technologii grzewczej i wyników OZC.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proj-container" id="ozc-impact-module">
    <div class="rk-proj-header">
        <h2>Jak to wpływa na projekt ogrzewania podłogowego?</h2>
        <p>Zaprojektowanie ogrzewania bez ścisłej korelacji z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" style="color: var(--rk-proj-blue); font-weight: 600;">Charakterystyką Energetyczną Budynku (OZC)</a> to prosta droga do katastrofy finansowej. Każda zmiana systemu wymusza całkowitą przebudowę założeń konstrukcyjnych w dokumentacji projektowej.</p>
    </div>

    <div class="rk-proj-app-wrapper">
        <div class="rk-proj-switch-board">
            <button class="rk-proj-tab active-water" id="tabWater">
                <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 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                Wymagania Systemu Wodnego
            </button>
            <button class="rk-proj-tab" id="tabElectric">
                <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="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                Wymagania Systemu Elektrycznego
            </button>
        </div>

        <div class="rk-proj-panel is-visible" id="panelWater">
            <div class="rk-proj-data-box">
                <h3 style="color: var(--rk-proj-blue);">Precyzyjny rozstaw rur i parametry hydrauliczne</h3>
                <p>Kluczowe znaczenie dla sprawności instalacji ma dokładny rozstaw rur grzewczych (przeważnie od 10 cm do 20 cm) oraz optymalna długość poszczególnych pętli (max 100-120 mb dla rury PEX 16x2). Rozstaw dobiera się matematycznie na podstawie jednostkowych strat ciepła z Charakterystyki OZC. Gęstszy rozstaw (np. 10 cm) stosuje się obligatoryjnie w łazienkach, wiatrołapach oraz przy nowoczesnych, dużych przeszkleniach tarasowych typu HS.</p>
                
                <div class="rk-impact-cards">
                    <div class="rk-impact-item water-border">
                        <h4>Spadek sprawności pompy ciepła (SCOP)</h4>
                        <p>Zastosowanie błędnego, zbyt rzadkiego rozstawu rur wymusza podniesienie temperatury zasilania Tz na pompie ciepła (np. z 32°C na 40°C). Taki błąd drastycznie obniża sprawność pompy i generuje potężne koszty przez cały okres eksploatacji.</p>
                    </div>
                    <div class="rk-impact-item water-border">
                        <h4>Opory liniowe i dobór pompy obiegowej</h4>
                        <p>Dokumentacja projektowa musi precyzyjnie uwzględniać opory liniowe i miejscowe pętli w celu poprawnego doboru wysokości podnoszenia pompy obiegowej (np. na poziom 6 lub 8 m słupa wody), co chroni przed efektem niedogrzanych stref.</p>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-proj-panel" id="panelElectric">
            <div class="rk-proj-data-box">
                <h3 style="color: var(--rk-proj-electric);">Przydział mocy elektrycznej i akumulacja jastrychu</h3>
                <p>Fizyka instalacji przesuwa punkt ciężkości z hydrauliki na dokładny bilans mocy elektrycznej budynku. Jeśli dom jednorodzinny ma zapotrzebowanie na moc 9 kW, a same ułożone maty wygenerują szczytowe obciążenie 10 kW, to standardowe przyłącze domowe 12-15 kW niemal natychmiast ulegnie przeciążeniu po uruchomieniu płyty indukcyjnej lub piekarnika.</p>
                
                <div class="rk-impact-cards">
                    <div class="rk-impact-item elec-border">
                        <h4>Zwiększenie mocy przyłączeniowej u operatora</h4>
                        <p>Wybór pełnego ogrzewania elektrycznego wymaga wystąpienia o zwiększenie mocy umownej w zakładzie energetycznym (nierzadko do 25 - 30 kW) oraz montaż inteligentnych przekaźników priorytetowych w rozdzielnicy głównej.</p>
                    </div>
                    <div class="rk-impact-item elec-border">
                        <h4>Brak masy buforowej i koszty taryfy (G12w)</h4>
                        <p>Maty elektryczne układane cienkowarstwowo bezpośrednio w kleju pod płytkami eliminują możliwość taniej akumulacji energii cieplnej w tańszych taryfach nocnych, co drastycznie podnosi rachunki w skali rocznej.</p>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-proj-tags">
            <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/" class="rk-ptag"># cena projektu instalacji ogrzewania</a>
            <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego/" class="rk-ptag"># optymalny rozstaw rur podłogówki</a>
            <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-ptag"># wyliczenia OZC dla domu 100m2</a>
            <span class="rk-ptag"># wylewka anhydrytowa pod maty grzewcze</span>
            <span class="rk-ptag"># zwiększenie przydziału mocy tauron</span>
            <span class="rk-ptag"># opory hydrauliczne pomp obiegowych</span>
            <span class="rk-ptag"># maksymalna długość pętli pex 16x2</span>
            <span class="rk-ptag"># przekaźniki priorytetowe ogrzewania</span>
        </div>
    </div>

    <div class="rk-proj-cta">
        <h3>Zabezpiecz swoją inwestycję profesjonalną dokumentacją</h3>
        <p>Projektowanie instalacji "na wyczucie" przez wykonawcę zawsze kończy się kosztownymi przeróbkami lub wysokimi rachunkami za prąd. Zaufaj wiedzy inżynieryjnej i zoptymalizuj koszty montażu oraz materiałów za pomocą kompleksowego projektu.</p>
        <a href="https://projekt-ogrzewania.pl/kontakt/" class="rk-btn-action">
            ZAMÓW PROJEKT I DOKUMENTACJĘ
            <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="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>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tabWater = document.getElementById('tabWater');
    var tabElectric = document.getElementById('tabElectric');
    var panelWater = document.getElementById('panelWater');
    var panelElectric = document.getElementById('panelElectric');

    function switchTab(type) {
        if (type === 'water') {
            // Zmiana przycisków
            tabElectric.classList.remove('active-electric');
            tabWater.classList.add('active-water');
            
            // Zmiana widoczności
            panelElectric.classList.remove('is-visible');
            panelWater.classList.add('is-visible');
        }
        
        if (type === 'electric') {
            // Zmiana przycisków
            tabWater.classList.remove('active-water');
            tabElectric.classList.add('active-electric');
            
            // Zmiana widoczności
            panelWater.classList.remove('is-visible');
            panelElectric.classList.add('is-visible');
        }
    }

    if (tabWater !== null) {
        tabWater.addEventListener('click', function() {
            switchTab('water');
        });
    }

    if (tabElectric !== null) {
        tabElectric.addEventListener('click', function() {
            switchTab('electric');
        });
    }
});
</script>



<style>
:root {
    --rk-temp-dark: #0f172a;
    --rk-temp-gray: #64748b;
    --rk-temp-border: #e2e8f0;
    --rk-temp-bg: #ffffff;
    
    /* Skala Temperatur */
    --rk-t-green: #10b981;
    --rk-t-green-light: #ecfdf5;
    --rk-t-yellow: #eab308;
    --rk-t-yellow-light: #fefce8;
    --rk-t-orange: #f97316;
    --rk-t-orange-light: #fff7ed;
    --rk-t-red: #ef4444;
    --rk-t-red-light: #fef2f2;
}

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

/* Nagłówek Sekcji */
.rk-temp-header {
    padding: 40px 50px 30px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-temp-border);
}

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

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

.rk-temp-header strong {
    color: var(--rk-temp-dark);
}

/* Interfejs Symulatora */
.rk-temp-app {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    align-items: center;
}

/* Sterowanie (Suwak) */
.rk-temp-controls {
    background: #ffffff;
}

.rk-temp-ctrl-title {
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-temp-gray);
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
}

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

.rk-temp-val-display {
    text-align: center;
    font-size: 56px;
    font-weight: 900;
    color: var(--rk-temp-dark);
    margin-bottom: 20px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    transition: color 0.3s;
}

.rk-temp-val-display span {
    font-size: 24px;
    color: var(--rk-temp-gray);
}

.rk-slider-t {
    -webkit-appearance: none;
    width: 100%;
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(to right, var(--rk-t-green) 0%, var(--rk-t-yellow) 40%, var(--rk-t-orange) 70%, var(--rk-t-red) 100%);
    outline: none;
}

.rk-slider-t::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border: 4px solid var(--rk-temp-dark);
    transition: transform 0.1s;
}

.rk-slider-t::-moz-range-thumb {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border: 4px solid var(--rk-temp-dark);
}

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

.rk-temp-scale-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 15px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-temp-gray);
}

/* Wynik Symulacji (Dynamiczna Karta) */
.rk-temp-status-card {
    padding: 35px;
    border-radius: 20px;
    border: 2px solid transparent;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-temp-icon-box {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    background: #ffffff;
    box-shadow: 0 8px 16px -4px rgba(0,0,0,0.1);
}

.rk-temp-status-title {
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 12px 0;
    color: var(--rk-temp-dark);
}

.rk-temp-status-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-temp-gray);
    margin: 0;
}

.rk-temp-status-desc strong {
    color: var(--rk-temp-dark);
}

/* Zabezpieczenia (Dolna sekcja) */
.rk-temp-safeguards {
    border-top: 1px solid var(--rk-temp-border);
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #f8fafc;
}

.rk-safe-block {
    padding: 35px 50px;
}

.rk-safe-block:first-child {
    border-right: 1px solid var(--rk-temp-border);
}

.rk-safe-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.rk-safe-icon {
    color: var(--rk-temp-dark);
}

.rk-safe-block h4 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-temp-dark);
    margin: 0;
}

.rk-safe-block p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--rk-temp-gray);
    margin: 0;
}

/* Mobile RWD */
@media (max-width: 850px) {
    .rk-temp-container { margin: 20px auto; border-radius: 16px; }
    .rk-temp-header, .rk-temp-app { padding: 30px 20px; }
    .rk-temp-app { grid-template-columns: 1fr; gap: 30px; }
    .rk-temp-safeguards { grid-template-columns: 1fr; }
    .rk-safe-block { padding: 25px 20px; border-right: none; border-bottom: 1px solid var(--rk-temp-border); }
    .rk-temp-val-display { font-size: 48px; }
    .rk-temp-status-card { padding: 25px; min-height: auto; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-temperatura-podlogi",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Jaka jest maksymalna temperatura powierzchni podłogi w obu systemach?",
    "description": "Limity temperatury podłogówki według normy PN-EN 1264. Skutki fizjologiczne przegrzania (syndrom ciężkich nóg) oraz uszkodzenia jastrychu przy awarii czujnika.",
    "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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-temperatury",
    "name": "Limity Temperatur Powierzchniowych PN-EN 1264",
    "description": "Baza danych określająca bezpieczne progi temperaturowe dla wylewek grzewczych oraz identyfikująca ryzyka fizjologiczne i techniczne przy przekroczeniu norm.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna temperatura ogrzewania podłogowego",
      "norma PN-EN 1264 temperatura",
      "syndrom ciężkich nóg podłogówka",
      "awaria czujnika podłogowego NTC",
      "zawór mieszający podłogówki 45 stopni"
    ],
    "measurementTechnique": "Wizualizacja skutków przekroczenia normatywnych limitów 29 stopni Celsjusza dla stref stałego przebywania i 33 stopni Celsjusza dla stref brzegowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Strefa komfortu: 20-29°C. Bezpieczne dla zdrowia i materiałów.",
        "Strefa brzegowa/łazienki: 30-33°C.",
        "Ryzyko i dyskomfort: 34-45°C. Uszkodzenie paneli, ból nóg.",
        "Strefa awarii: >45°C. Degradacja klejów, pękanie wylewki."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-symulator-komfortu",
    "name": "Symulator Komfortu i Ryzyka Termicznego",
    "description": "Aplikacja pozwalająca na symulację zachowania okładzin i fizjologii ludzkiej przy zmianach temperatury jastrychu w systemach wodnych i elektrycznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-temp-container" id="rk-thermal-simulator">
    <div class="rk-temp-header">
        <h2>Jaka jest maksymalna temperatura powierzchni podłogi w obu systemach?</h2>
        <p>Maksymalna temperatura powierzchni podłogi dla pomieszczeń stałego przebywania ludzi wynosi <strong>29°C</strong>, natomiast w strefach brzegowych oraz łazienkach wynosi <strong>33°C</strong> – wartości te restrykcyjnie definiuje norma budowlana <strong>PN-EN 1264</strong>. Przekroczenie tych limitów prowadzi do dyskomfortu termicznego, syndromu "ciężkich nóg" oraz ryzyka uszkodzenia okładzin podłogowych (np. pękania paneli lub odklejania parkietu).</p>
    </div>

    <div class="rk-temp-app">
        <div class="rk-temp-controls">
            <div class="rk-temp-ctrl-title">
                <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="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                Symulator temperatury posadzki
            </div>
            
            <div class="rk-temp-val-display" id="outTempValue">24<span>°C</span></div>
            
            <div class="rk-temp-slider-wrap">
                <input type="range" class="rk-slider-t" id="inTempSlider" min="20" max="60" step="1" value="24">
                <div class="rk-temp-scale-labels">
                    <span>20°C</span>
                    <span>Norma</span>
                    <span>Ryzyko</span>
                    <span>Awaria</span>
                </div>
            </div>
        </div>

        <div class="rk-temp-status-card" id="tempStatusCard">
            <div class="rk-temp-icon-box" id="tempStatusIcon">
                </div>
            <h3 class="rk-temp-status-title" id="tempStatusTitle">Tytuł statusu</h3>
            <p class="rk-temp-status-desc" id="tempStatusDesc">Opis statusu</p>
        </div>
    </div>

    <div class="rk-temp-safeguards">
        <div class="rk-safe-block">
            <div class="rk-safe-header">
                <div class="rk-safe-icon">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <h4>Zabezpieczenie układu wodnego</h4>
            </div>
            <p>W systemie wodnym kontrolę nad tym parametrem sprawuje automatyka pogodowa oraz <strong>zawór mieszający na rozdzielaczu</strong>, który mechanicznie nie pozwala na wpuszczenie w pętle czynnika grzewczego o temperaturze wyższej niż bezpieczne 45°C - 50°C.</p>
        </div>

        <div class="rk-safe-block">
            <div class="rk-safe-header">
                <div class="rk-safe-icon">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                </div>
                <h4>Zabezpieczenie układu elektrycznego</h4>
            </div>
            <p>W systemie elektrycznym kluczowym elementem bezpieczeństwa jest poprawnie umieszczony <strong>podłogowy czujnik temperatury NTC</strong> zintegrowany z termostatem. Jeśli czujnik ulegnie awarii lub zostanie pominięty, kable grzewcze mogą rozgrzać się do temperatury przekraczającej 50°C, co bezpowrotnie niszczy strukturę klejów i jastrychu.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('inTempSlider');
    var valDisplay = document.getElementById('outTempValue');
    var statusCard = document.getElementById('tempStatusCard');
    var statusIcon = document.getElementById('tempStatusIcon');
    var statusTitle = document.getElementById('tempStatusTitle');
    var statusDesc = document.getElementById('tempStatusDesc');

    // Ikony SVG dla stanów
    var iconGreen = '<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="var(--rk-t-green)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>';
    
    var iconYellow = '<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="var(--rk-t-yellow)" 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>';
    
    var iconOrange = '<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="var(--rk-t-orange)" 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>';
    
    var iconRed = '<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="var(--rk-t-red)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>';

    function updateSimulation() {
        var temp = parseInt(slider.value);
        valDisplay.innerHTML = temp + "<span>°C</span>";

        // BEZPIECZNA KASKADOWA LOGIKA (bez &&)
        if (temp <= 29) {
            // STREFA KOMFORTU
            statusCard.style.backgroundColor = "var(--rk-t-green-light)";
            statusCard.style.borderColor = "rgba(16, 185, 129, 0.3)";
            valDisplay.style.color = "var(--rk-t-green)";
            statusIcon.innerHTML = iconGreen;
            
            statusTitle.textContent = "Strefa Komfortu";
            statusTitle.style.color = "var(--rk-t-green)";
            statusDesc.innerHTML = "Idealna i zdrowa temperatura dla pomieszczeń stałego przebywania ludzi (salon, sypialnia). W pełni <strong>zgodna z normą PN-EN 1264</strong>. Brak ryzyka dla paneli i parkietów.";
            
        } else if (temp <= 33) {
            // STREFA BRZEGOWA / ŁAZIENKA
            statusCard.style.backgroundColor = "var(--rk-t-yellow-light)";
            statusCard.style.borderColor = "rgba(234, 179, 8, 0.3)";
            valDisplay.style.color = "var(--rk-t-yellow)";
            statusIcon.innerHTML = iconYellow;
            
            statusTitle.textContent = "Tylko Strefy Brzegowe";
            statusTitle.style.color = "var(--rk-t-yellow)";
            statusDesc.innerHTML = "Temperatura dopuszczalna <strong>wyłącznie w łazienkach</strong> oraz tzw. strefach brzegowych (przy dużych oknach tarasowych). Utrzymywanie jej w salonie powoduje uczucie duszności.";
            
        } else if (temp <= 45) {
            // RYZYKO DLA ZDROWIA I MATERIAŁÓW
            statusCard.style.backgroundColor = "var(--rk-t-orange-light)";
            statusCard.style.borderColor = "rgba(249, 115, 22, 0.3)";
            valDisplay.style.color = "var(--rk-t-orange)";
            statusIcon.innerHTML = iconOrange;
            
            statusTitle.textContent = "Dyskomfort i Ryzyko";
            statusTitle.style.color = "var(--rk-t-orange)";
            statusDesc.innerHTML = "Przekroczenie norm. Wywołuje u domowników fizjologiczny <strong>syndrom ciężkich i spuchniętych nóg</strong>. Drastycznie rośnie ryzyko rozschnięcia się paneli, odklejenia parkietu i kurzu z konwekcji.";
            
        } else {
            // KRYTYCZNA AWARIA
            statusCard.style.backgroundColor = "var(--rk-t-red-light)";
            statusCard.style.borderColor = "rgba(239, 68, 68, 0.4)";
            valDisplay.style.color = "var(--rk-t-red)";
            statusIcon.innerHTML = iconRed;
            
            statusTitle.textContent = "Strefa Zniszczenia (Awaria)";
            statusTitle.style.color = "var(--rk-t-red)";
            statusDesc.innerHTML = "Symulacja całkowitej awarii czujnika temperatury w systemie elektrycznym. Posadzka nagrzewa się do ekstremalnych wartości, powodując <strong>bezpowrotną degradację klejów, żywic i pękanie jastrychu</strong>.";
        }
    }

    if (slider !== null) {
        slider.addEventListener('input', updateSimulation);
    }
    
    // Inicjalizacja
    updateSimulation();
});
</script>



<style>
:root {
    --rk-err-dark: #1e293b;
    --rk-err-red: #dc2626;
    --rk-err-red-light: #fef2f2;
    --rk-err-blue: #0284c7;
    --rk-err-blue-light: #f0f9ff;
    --rk-err-gold: #d97706;
    --rk-err-gold-light: #fffbeb;
    --rk-err-gray: #64748b;
    --rk-err-border: #e2e8f0;
    --rk-err-bg: #ffffff;
}

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

/* Nagłówek Sekcji */
.rk-err-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #0f172a 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-err-red);
}

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

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

/* Główny Błąd - Alert Box */
.rk-err-alert-box {
    margin: 30px 50px;
    padding: 20px 25px;
    background: var(--rk-err-red-light);
    border-left: 4px solid var(--rk-err-red);
    border-radius: 0 12px 12px 0;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-err-alert-icon {
    color: var(--rk-err-red);
    flex-shrink: 0;
    margin-top: 3px;
}

.rk-err-alert-text p {
    margin: 0;
    font-size: 15px;
    color: #991b1b;
    line-height: 1.6;
}

.rk-err-alert-text strong {
    font-weight: 800;
}

/* Nawigacja Tabs */
.rk-err-nav {
    display: flex;
    margin: 0 50px 25px;
    background: #f1f5f9;
    border-radius: 12px;
    padding: 6px;
}

.rk-err-tab {
    flex: 1;
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-err-gray);
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-err-tab.active-water {
    background: var(--rk-err-bg);
    color: var(--rk-err-blue);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.rk-err-tab.active-electric {
    background: var(--rk-err-bg);
    color: var(--rk-err-gold);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Panele i Karty Błędów */
.rk-err-panel {
    display: none;
    padding: 0 50px 40px;
    animation: slideUp 0.4s ease;
}

.rk-err-panel.is-active {
    display: block;
}

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

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

.rk-err-card {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 12px;
    padding: 25px;
    display: flex;
    gap: 20px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.rk-err-card:hover {
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    transform: translateY(-2px);
}

.rk-err-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.water-card .rk-err-card-icon {
    background: var(--rk-err-blue-light);
    color: var(--rk-err-blue);
}

.elec-card .rk-err-card-icon {
    background: var(--rk-err-gold-light);
    color: var(--rk-err-gold);
}

.rk-err-card-content h4 {
    margin: 0 0 10px 0;
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-err-dark);
}

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

.rk-err-card-content .rk-consequence {
    display: inline-block;
    margin-top: 12px;
    padding: 6px 12px;
    background: #f8fafc;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-err-red);
}

/* Mobile RWD */
@media (max-width: 768px) {
    .rk-err-container { margin: 20px auto; border-radius: 16px; }
    .rk-err-header, .rk-err-panel { padding: 25px 20px; }
    .rk-err-alert-box { margin: 20px; padding: 15px; flex-direction: column; gap: 10px; }
    .rk-err-nav { margin: 0 20px 20px; flex-direction: column; padding: 5px; gap: 5px; }
    .rk-err-card { flex-direction: column; gap: 15px; padding: 20px; }
    .rk-err-card-icon { width: 40px; height: 40px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-bledy-wykonawcze",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Jakie są najczęstsze błędy wykonawcze przy układaniu obu systemów?",
    "description": "Zestawienie najgroźniejszych błędów instalacyjnych w ogrzewaniu wodnym i elektrycznym, prowadzących do pękania posadzek, przepalenia kabli i awarii hydraulicznych.",
    "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-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-katalog-bledow",
    "name": "Katalog Błędów Wykonawczych i Awarii Instalacji",
    "description": "Techniczna klasyfikacja błędów wykonawczych w systemach płaszczyznowych wraz z analizą skutków fizykochemicznych dla wylewek i infrastruktury grzewczej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "brak wygrzewania jastrychu norma PN-EN 1264-4",
      "zbyt długie pętle grzewcze pex 16mm",
      "zabetonowany czujnik ntc podłogówki",
      "spalenie kabla grzewczego pod meblami",
      "brak dylatacji wylewki powyżej 40m2"
    ],
    "measurementTechnique": "Identyfikacja uchybień instalacyjnych względem norm budowlanych oraz określenie skutków termicznych (np. spadek rezystancji przewodu, opory hydrauliczne).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System wodny: Brak wygrzewania jastrychu (PN-EN 1264-4) prowadzi do pęknięć; pętle >120m blokują przepływ.",
        "System elektryczny: Odcięcie kabla oporowego zmienia oporność; maty pod stałą zabudową ulegają przegrzaniu (izolacja termiczna)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-detektor-bledow",
    "name": "Interaktywny Detektor Błędów Instalacyjnych",
    "description": "Moduł diagnostyczny pozwalający inwestorom na zapoznanie się z listą krytycznych błędów wykonawczych podziałem na technologię wodną i elektryczną, ostrzegający przed nieodwracalnymi uszkodzeniami jastrychu i mat grzewczych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-error-detector">
    <div class="rk-err-header">
        <h2>
            <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="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 przy układaniu obu systemów
        </h2>
        <p>Błędy na etapie zalewania instalacji są praktycznie nieodwracalne. Dowiedz się, na co uważać, by nie zniszczyć posadzki i nie spalić systemu w pierwszym sezonie grzewczym.</p>
    </div>

    <div class="rk-err-alert-box">
        <div class="rk-err-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"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
        </div>
        <div class="rk-err-alert-text">
            <p>Najczęstszym błędem instalacji wodnej jest brak wygrzewania jastrychu zgodnie z <strong>normą PN-EN 1264-4</strong> (pękanie wylewki). W systemach elektrycznych plagą jest <strong>skracanie kabli oporowych</strong> – odcięcie nawet 50 cm przewodu zmienia parametry elektryczne sekcji, powodując drastyczny spadek rezystancji i natychmiastowe przepalenie.</p>
        </div>
    </div>

    <div class="rk-err-nav">
        <button class="rk-err-tab active-water" id="tabErrWater">
            <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 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Błędy w instalacjach wodnych
        </button>
        <button class="rk-err-tab" id="tabErrElec">
            <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="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
            Błędy w instalacjach elektrycznych
        </button>
    </div>

    <div class="rk-err-panel is-active" id="panelErrWater">
        <div class="rk-err-grid">
            <div class="rk-err-card water-card">
                <div class="rk-err-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                </div>
                <div class="rk-err-card-content">
                    <h4>Zbyt długie pętle grzewcze</h4>
                    <p>Przekraczanie maksymalnej długości 120 m dla standardowej rury o średnicy 16 mm podczas meandrowania.</p>
                    <span class="rk-consequence">Skutek: Gigantyczne opory hydrauliczne, brak możliwości zrównoważenia przepływów na rotametrach i chroniczne niedogrzanie końcówki pętli.</span>
                </div>
            </div>

            <div class="rk-err-card water-card">
                <div class="rk-err-card-icon">
                    <svg width="24" height="24" 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="9" y1="3" x2="9" y2="21"></line></svg>
                </div>
                <div class="rk-err-card-content">
                    <h4>Brak szczelin dylatacyjnych</h4>
                    <p>Niewykonanie dylatacji przy ciągłych powierzchniach jastrychu przekraczających 40 m² lub przy wąskich przejściach i proporcjach ścian większych niż 2:1.</p>
                    <span class="rk-consequence">Skutek: Nagromadzenie naprężeń termicznych, niekontrolowane pękanie wylewki i zrywanie ułożonych płytek ceramicznych.</span>
                </div>
            </div>

            <div class="rk-err-card water-card">
                <div class="rk-err-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                </div>
                <div class="rk-err-card-content">
                    <h4>Zaginanie rur bez sprężyny</h4>
                    <p>Wykonywanie ostrych zakrętów rury PEX przy ścianach bazując na sile rąk, powodujące tzw. przewężenie lub załamanie materiału.</p>
                    <span class="rk-consequence">Skutek: Drastyczne dławienie przepływu medium grzewczego i osłabienie struktury mechanicznej ścianki pod ciśnieniem (1,5 - 2,5 bara).</span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-err-panel" id="panelErrElec">
        <div class="rk-err-grid">
            <div class="rk-err-card elec-card">
                <div class="rk-err-card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
                </div>
                <div class="rk-err-card-content">
                    <h4>Układanie mat pod meblami stałymi</h4>
                    <p>Umieszczanie przewodów oporowych pod meblami bez wolnych nóżek (zabudowa kuchenna, masywne szafy typu komandor, wanny).</p>
                    <span class="rk-consequence">Skutek: Meble działają jako idealna izolacja termiczna, blokując emisję ciepła w górę, co powoduje przegrzanie jastrychu i stopienie izolacji kabla.</span>
                </div>
            </div>

            <div class="rk-err-card elec-card">
                <div class="rk-err-card-icon">
                    <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="22" y1="12" x2="18" y2="12"></line><line x1="6" y1="12" x2="2" y2="12"></line><line x1="12" y1="6" x2="12" y2="2"></line><line x1="12" y1="22" x2="12" y2="18"></line></svg>
                </div>
                <div class="rk-err-card-content">
                    <h4>Wiercenie w strefie układania kabla</h4>
                    <p>Prowadzenie przewodów pod szafkami wiszącymi lub toaletą bez inwentaryzacji foto-wideo przed wylaniem posadzki lub bez ujęcia kamerą termowizyjną.</p>
                    <span class="rk-consequence">Skutek: Mechaniczne przecięcie przewodu podłogowego podczas późniejszego montażu kołków rozporowych do wyposażenia wnętrz.</span>
                </div>
            </div>

            <div class="rk-err-card elec-card">
                <div class="rk-err-card-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-err-card-content">
                    <h4>Montaż czujnika na stałe w jastrychu</h4>
                    <p>Zabetonowanie sondy termostatu bezpośrednio w wylewce, zamiast umieszczenia jej w gładkiej rurce osłonowej (tzw. peszel) z zaślepionym końcem.</p>
                    <span class="rk-consequence">Skutek: W przypadku naturalnej awarii czujnika temperatury NTC (ulegają zużyciu z biegiem lat), jego wymiana wiąże się z kuciem płytek.</span>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnWater = document.getElementById('tabErrWater');
    var btnElec = document.getElementById('tabErrElec');
    var panelWater = document.getElementById('panelErrWater');
    var panelElec = document.getElementById('panelErrElec');

    function hideAllPanels() {
        if (panelWater !== null) {
            panelWater.classList.remove('is-active');
        }
        if (panelElec !== null) {
            panelElec.classList.remove('is-active');
        }
    }

    function removeActiveClasses() {
        if (btnWater !== null) {
            btnWater.classList.remove('active-water');
        }
        if (btnElec !== null) {
            btnElec.classList.remove('active-electric');
        }
    }

    if (btnWater !== null) {
        btnWater.addEventListener('click', function() {
            hideAllPanels();
            removeActiveClasses();
            
            btnWater.classList.add('active-water');
            panelWater.classList.add('is-active');
        });
    }

    if (btnElec !== null) {
        btnElec.addEventListener('click', function() {
            hideAllPanels();
            removeActiveClasses();
            
            btnElec.classList.add('active-electric');
            panelElec.classList.add('is-active');
        });
    }
});
</script>



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

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

/* Nagłówek Case Study */
.rk-cs-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-cs-dark) 0%, #1e293b 100%);
    color: #ffffff;
    position: relative;
}

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

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

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

/* Parametry Inwestycji */
.rk-cs-params {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    padding: 25px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-cs-border);
}

.rk-cs-param-item {
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    padding: 10px 20px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-cs-dark);
}

.rk-cs-param-item svg {
    color: var(--rk-cs-gray);
}

/* Interaktywny Audyt */
.rk-cs-audit-wrapper {
    padding: 40px 50px;
}

.rk-cs-tabs {
    display: flex;
    background: #f1f5f9;
    padding: 8px;
    border-radius: 16px;
    margin-bottom: 35px;
}

.rk-cs-tab {
    flex: 1;
    text-align: center;
    padding: 18px 20px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s;
    border: none;
    background: transparent;
    color: var(--rk-cs-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-cs-tab.active-bad {
    background: var(--rk-cs-bg);
    color: var(--rk-cs-red);
    box-shadow: 0 4px 15px rgba(220, 38, 38, 0.1);
}

.rk-cs-tab.active-good {
    background: var(--rk-cs-bg);
    color: var(--rk-cs-blue);
    box-shadow: 0 4px 15px rgba(2, 132, 199, 0.1);
}

/* Panele Danych */
.rk-cs-panel {
    display: none;
    animation: fadeIn 0.4s ease;
}

.rk-cs-panel.is-visible {
    display: block;
}

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

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

.rk-cs-data-card {
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-cs-border);
    position: relative;
    overflow: hidden;
}

.panel-bad .rk-cs-data-card { background: var(--rk-cs-red-light); border-color: rgba(220, 38, 38, 0.2); }
.panel-good .rk-cs-data-card { background: var(--rk-cs-blue-light); border-color: rgba(2, 132, 199, 0.2); }

.rk-cs-card-label {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

.panel-bad .rk-cs-card-label { color: #991b1b; }
.panel-good .rk-cs-card-label { color: var(--rk-cs-blue); }

.rk-cs-card-value {
    font-size: 42px;
    font-weight: 900;
    margin: 0;
    line-height: 1.1;
}

.panel-bad .rk-cs-card-value { color: var(--rk-cs-red); }
.panel-good .rk-cs-card-value { color: var(--rk-cs-dark); }

.rk-cs-card-value span {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-cs-gray);
}

.rk-cs-card-desc {
    margin: 15px 0 0 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-cs-dark);
}

/* Wniosek Finansowy */
.rk-cs-conclusion {
    margin-top: 40px;
    padding: 30px;
    border-radius: 16px;
    background: #f8fafc;
    border-left: 4px solid var(--rk-cs-dark);
}

.rk-cs-conclusion h3 {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-cs-dark);
    margin: 0 0 10px 0;
}

.rk-cs-conclusion p {
    font-size: 15px;
    color: var(--rk-cs-gray);
    line-height: 1.7;
    margin: 0;
}

.rk-cs-conclusion strong {
    color: var(--rk-cs-dark);
}

.rk-cs-loss-highlight {
    display: inline-block;
    margin-top: 15px;
    padding: 8px 16px;
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-cs-red);
}

/* Mobile RWD */
@media (max-width: 768px) {
    .rk-cs-container { margin: 20px auto; border-radius: 16px; }
    .rk-cs-header, .rk-cs-audit-wrapper { padding: 30px 20px; }
    .rk-cs-params { padding: 20px; flex-direction: column; gap: 10px; }
    .rk-cs-tabs { flex-direction: column; padding: 5px; gap: 5px; }
    .rk-cs-data-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-cs-card-value { font-size: 32px; }
    .rk-cs-conclusion { padding: 20px; margin-top: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Studium Przypadku (Case Study) – Rachunki za ogrzewanie",
    "description": "Realny audyt energetyczny z fali mrozów w styczniu 2026. Porównanie rachunków za dom 145 m2: maty elektryczne (3480 PLN) vs pompa ciepła (1120 PLN).",
    "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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-audyt",
    "name": "Audyt Kosztów Ogrzewania - Styczeń 2026",
    "description": "Zestawienie empirycznych danych z użycia układów płaszczyznowych w budynku 145 m2 podczas fali mrozów (-12 st C).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "koszty ogrzewania styczeń 2026",
      "zużycie prądu maty grzewcze w zimie",
      "pompa ciepła cop 3.1 mrozy",
      "rachunki za ogrzewanie elektryczne 145m2",
      "brak bufora akumulacyjnego podłogówka"
    ],
    "measurementTechnique": "Audyt powykonawczy i symulacja komputerowa (OZC) dla warunków rzeczywistych (10 dni mrozów -12°C).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zużycie (Maty Elektryczne): 134 kWh na dobę. Miesięczny koszt: 3 480 PLN.",
        "Symulacja (Pompa Ciepła): 43.2 kWh na dobę. Miesięczny koszt: 1 120 PLN."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-audyt-wizualizator",
    "name": "Interaktywny Audyt Case Study",
    "description": "Moduł aplikacyjny wyświetlający zderzenie decyzji inwestora (ogrzewanie oporowe) z rzetelną rekomendacją inżynierską (pompa ciepła) na bazie udokumentowanych rachunków.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs-container" id="rk-case-study-module">
    <div class="rk-cs-header">
        <div class="rk-cs-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
            Raport z Audytu (OZC)
        </div>
        <h2>Studium Przypadku (Case Study)</h2>
        <p>Praktyczne konsekwencje braku analizy inżynieryjnej na etapie wyboru systemu dystrybucji ciepła. Analiza kosztów z ekstremalnie mroźnego stycznia 2026 roku.</p>
    </div>

    <div class="rk-cs-params">
        <div class="rk-cs-param-item">
            <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="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>
            Lokalizacja: Okolice Gdańska
        </div>
        <div class="rk-cs-param-item">
            <svg width="18" height="18" 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="9" y1="3" x2="9" y2="21"></line></svg>
            Powierzchnia: 145 m² (WT 2021)
        </div>
        <div class="rk-cs-param-item">
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
            Zapotrzebowanie (OZC): 6,8 kW
        </div>
        <div class="rk-cs-param-item">
            <svg width="18" height="18" 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>
            Warunki (Styczeń 2026): -12°C przez 10 dni
        </div>
    </div>

    <div class="rk-cs-audit-wrapper">
        <div class="rk-cs-tabs">
            <button class="rk-cs-tab active-bad" id="btnCsBad">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="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>
                Realizacja: Decyzja Inwestora
            </button>
            <button class="rk-cs-tab" id="btnCsGood">
                <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="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Alternatywa: Projekt Inżynierski
            </button>
        </div>

        <div class="rk-cs-panel panel-bad is-visible" id="panelCsBad">
            <div class="rk-cs-data-grid">
                <div class="rk-cs-data-card">
                    <div class="rk-cs-card-label">System zainstalowany</div>
                    <h3 class="rk-cs-card-value">Ogrzewanie Elektryczne</h3>
                    <p class="rk-cs-card-desc">Inwestor, skuszony niskimi kosztami startowymi zaoferowanymi przez instalatora, zrezygnował z pompy ciepła i hydrauliki. Zamontowano maty grzewcze (cienkowarstwowo pod panelami) o łącznej mocy 12,5 kW.</p>
                </div>
                <div class="rk-cs-data-card">
                    <div class="rk-cs-card-label">Rachunek (Styczeń 2026)</div>
                    <div class="rk-cs-card-value">3 480 <span>PLN / mies.</span></div>
                    <p class="rk-cs-card-desc">Brak jastrychu buforującego uniemożliwił efektywne korzystanie z tańszej taryfy nocnej. Średnie dobowe zużycie energii podczas fali mrozów wyniosło przerażające <strong>134 kWh</strong>.</p>
                </div>
            </div>
        </div>

        <div class="rk-cs-panel panel-good" id="panelCsGood">
            <div class="rk-cs-data-grid">
                <div class="rk-cs-data-card">
                    <div class="rk-cs-card-label">Rekomendacja na bazie OZC</div>
                    <h3 class="rk-cs-card-value">Pompa Ciepła + Wodne</h3>
                    <p class="rk-cs-card-desc">Symulacja komputerowa audytu wykazała, że optymalnym wyborem byłoby niskotemperaturowe ogrzewanie wodne (precyzyjny rozstaw rur 12,5 cm) zasilane pompą ciepła typu powietrze-woda o średniomiesięcznym COP = 3,1.</p>
                </div>
                <div class="rk-cs-data-card">
                    <div class="rk-cs-card-label">Symulacja (Styczeń 2026)</div>
                    <div class="rk-cs-card-value">1 120 <span>PLN / mies.</span></div>
                    <p class="rk-cs-card-desc">Dzięki akumulacji w grubym jastrychu i wysokiej sprawności pompy (SCOP), dobowe zużycie prądu spadłoby ze 134 kWh do zaledwie <strong>43,2 kWh</strong> przy zachowaniu tego samego komfortu termicznego.</p>
                </div>
            </div>
        </div>

        <div class="rk-cs-conclusion">
            <h3>Miało być tanio, wyszło bardzo drogo</h3>
            <p>Ta realna sytuacja z Gdańska pokazuje brutalną prawdę o kosztach. Inwestor zaoszczędził na starcie około 22 000 PLN (różnica między matami a pełną kotłownią z pompą i hydrauliką).</p>
            <div class="rk-cs-loss-highlight">
                Strata: 2 360 PLN w zaledwie jeden trudny miesiąc!
            </div>
            <p style="margin-top: 15px;">Pozorna oszczędność wygenerowana na etapie montażu instalacji elektrycznej <strong>zostanie całkowicie pochłonięta przez wyższe koszty eksploatacji w ciągu zaledwie 4-5 sezonów grzewczych</strong>. Od szóstego roku inwestor będzie ponosił czystą stratę z powodu źle podjętej decyzji i braku projektu inżynierskiego.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnBad = document.getElementById('btnCsBad');
    var btnGood = document.getElementById('btnCsGood');
    var panelBad = document.getElementById('panelCsBad');
    var panelGood = document.getElementById('panelCsGood');

    function switchCsTab(state) {
        if (state === 'bad') {
            if (btnGood !== null) { btnGood.classList.remove('active-good'); }
            if (btnBad !== null) { btnBad.classList.add('active-bad'); }
            
            if (panelGood !== null) { panelGood.classList.remove('is-visible'); }
            if (panelBad !== null) { panelBad.classList.add('is-visible'); }
        } else if (state === 'good') {
            if (btnBad !== null) { btnBad.classList.remove('active-bad'); }
            if (btnGood !== null) { btnGood.classList.add('active-good'); }
            
            if (panelBad !== null) { panelBad.classList.remove('is-visible'); }
            if (panelGood !== null) { panelGood.classList.add('is-visible'); }
        }
    }

    if (btnBad !== null) {
        btnBad.addEventListener('click', function() {
            switchCsTab('bad');
        });
    }

    if (btnGood !== null) {
        btnGood.addEventListener('click', function() {
            switchCsTab('good');
        });
    }
});
</script>



<style>
:root {
    --rk-exp-dark: #0f172a;
    --rk-exp-blue: #0284c7;
    --rk-exp-blue-light: #f0f9ff;
    --rk-exp-gray: #64748b;
    --rk-exp-border: #e2e8f0;
    --rk-exp-bg: #ffffff;
    --rk-exp-gold: #d97706;
}

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

/* Sekcja Profilowa (Header) */
.rk-exp-header {
    padding: 40px 50px;
    background: linear-gradient(to right, #f8fafc, #ffffff);
    display: flex;
    gap: 30px;
    align-items: center;
    border-bottom: 1px solid var(--rk-exp-border);
}

.rk-exp-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.15);
    flex-shrink: 0;
}

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

.rk-exp-meta p {
    font-size: 16px;
    color: var(--rk-exp-gray);
    margin: 0 0 15px 0;
    font-weight: 500;
}

.rk-exp-socials {
    display: flex;
    gap: 15px;
}

.rk-exp-social-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--rk-exp-bg);
    border: 1px solid var(--rk-exp-border);
    border-radius: 8px;
    color: var(--rk-exp-dark);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 0.2s, border-color 0.2s;
}

.rk-exp-social-link:hover {
    background: var(--rk-exp-blue-light);
    border-color: var(--rk-exp-blue);
    color: var(--rk-exp-blue);
}

.rk-exp-social-link svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

/* Interaktywny Panel Ekspercki */
.rk-exp-interactive {
    display: flex;
    flex-direction: column;
}

.rk-exp-tabs {
    display: flex;
    background: #f1f5f9;
    border-bottom: 1px solid var(--rk-exp-border);
}

.rk-exp-tab {
    flex: 1;
    padding: 20px;
    text-align: center;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-exp-gray);
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-exp-tab.is-active {
    color: var(--rk-exp-blue);
    background: #ffffff;
    border-bottom-color: var(--rk-exp-blue);
}

/* Treść Paneli */
.rk-exp-panel {
    display: none;
    padding: 40px 50px;
    background: #ffffff;
}

.rk-exp-panel.is-active {
    display: block;
}

.rk-exp-panel-content {
    display: flex;
    gap: 25px;
    align-items: flex-start;
}

.rk-exp-quote-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-exp-blue-light);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-exp-blue);
    flex-shrink: 0;
}

.rk-exp-text-block h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-exp-dark);
    margin: 0 0 12px 0;
}

.rk-exp-text-block p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-exp-dark);
    margin: 0;
}

.rk-exp-text-block strong {
    color: var(--rk-exp-blue);
}

.rk-exp-highlight {
    margin-top: 20px;
    padding: 15px 20px;
    background: #fffbeb;
    border-left: 4px solid var(--rk-exp-gold);
    font-size: 14px;
    font-weight: 600;
    color: #92400e;
    border-radius: 0 8px 8px 0;
}

/* Mobile RWD */
@media (max-width: 768px) {
    .rk-exp-container { margin: 20px auto; border-radius: 16px; }
    .rk-exp-header { flex-direction: column; text-align: center; padding: 30px 20px; gap: 20px; }
    .rk-exp-socials { justify-content: center; flex-wrap: wrap; }
    .rk-exp-tabs { flex-direction: column; }
    .rk-exp-tab { padding: 15px; border-bottom: none; border-left: 4px solid transparent; justify-content: flex-start; text-align: left; }
    .rk-exp-tab.is-active { border-bottom: none; border-left-color: var(--rk-exp-blue); }
    .rk-exp-panel { padding: 30px 20px; }
    .rk-exp-panel-content { flex-direction: column; gap: 15px; }
    .rk-exp-text-block h3 { font-size: 18px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Zdaniem specjalisty: Robert Kucharski o ostatecznym wyborze ogrzewania",
    "description": "Autorskie podsumowanie wyboru między wodnym a elektrycznym systemem grzewczym oparte na analizie ponad 1000 projektów inwestycyjnych w Polsce.",
    "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 Projekt-Ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-wytyczne",
    "name": "Zestawienie Autorskich Wytycznych Inżynieryjnych 2026",
    "description": "Zbiór kluczowych rekomendacji i wniosków z audytów projektowych dla instalacji płaszczyznowych autorstwa Roberta Kucharskiego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "robert kucharski inżynier hvac",
      "opinie o ogrzewaniu podłogowym ekspert",
      "projekt ogrzewania podłogowego doradztwo",
      "audyt instalacji grzewczej",
      "wybór ogrzewania do nowego domu wt 2021"
    ],
    "measurementTechnique": "Empiryczna ewaluacja wskaźników CAPEX i OPEX na próbie ponad 1000 zrealizowanych projektów domów jednorodzinnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Weryfikacja błędu: Montaż elektryki bez przewymiarowanego PV to zawsze drastyczny wzrost kosztów.",
        "Złota zasada inżyniera: Dokumentacja OZC jest tańsza niż margines błędu przy zakupie pompy ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-panel-ekspercki",
    "name": "Interaktywny Panel Ekspercki: Wnioski Inżyniera",
    "description": "Moduł aplikacyjny serwujący bezpośrednie, techniczne konkluzje autora artykułu w odpowiedzi na najczęstsze obiekcje inwestorów.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-exp-container" id="rk-expert-module">
    <div class="rk-exp-header">
        <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-exp-photo">
        <div class="rk-exp-meta">
            <h2>Zdaniem specjalisty: Robert Kucharski o ostatecznym wyborze ogrzewania</h2>
            <p>CEO Projekt-Ogrzewania.pl | Ponad 1000 zrealizowanych projektów układów płaszczyznowych</p>
            <div class="rk-exp-socials">
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-exp-social-link">
                    <svg viewBox="0 0 24 24"><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>
                    LinkedIn
                </a>
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-exp-social-link">
                    <svg viewBox="0 0 24 24"><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>
                    Facebook
                </a>
            </div>
        </div>
    </div>

    <div class="rk-exp-interactive">
        <div class="rk-exp-tabs">
            <button class="rk-exp-tab is-active" id="tabExp1">
                <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="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>
                Kluczowy Wniosek
            </button>
            <button class="rk-exp-tab" id="tabExp2">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="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>
                Błąd Inwestorów
            </button>
            <button class="rk-exp-tab" id="tabExp3">
                <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>
                Złota Zasada
            </button>
        </div>

        <div class="rk-exp-panel is-active" id="panelExp1">
            <div class="rk-exp-panel-content">
                <div class="rk-exp-quote-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="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line></svg>
                </div>
                <div class="rk-exp-text-block">
                    <h3>Nie ma jednego uniwersalnego rozwiązania</h3>
                    <p>Przez lata analizowania projektów widziałem setki zrujnowanych budżetów. Prawda jest taka, że <strong>elektryczne maty grzewcze to genialny produkt</strong>, ale wyłącznie tam, gdzie ich miejsce: w domkach narzędziowych, letniskowych, mieszkaniach po remoncie i w łazienkach. Jeśli jednak budujesz pełnowymiarowy dom powyżej 80 m2, rezygnacja z hydrauliki i pompy ciepła na rzecz "tańszego startu" to finansowe samobójstwo rozłożone na lata.</p>
                </div>
            </div>
        </div>

        <div class="rk-exp-panel" id="panelExp2">
            <div class="rk-exp-panel-content">
                <div class="rk-exp-quote-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"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                </div>
                <div class="rk-exp-text-block">
                    <h3>Pułapka darmowego prądu</h3>
                    <p>Największym błędem, jaki popełniają dziś inwestorzy, jest ślepa wiara w to, że instalacja fotowoltaiczna wyzeruje im koszty ogrzewania prądem w systemie 1:1. Zimą, kiedy maty elektryczne pobierają najwięcej energii, wydajność paneli na dachu jest ułamkowa.</p>
                    <div class="rk-exp-highlight">
                        Bez grubej wylewki akumulacyjnej (którą daje instalacja wodna) nie jesteś w stanie przechować taniej energii z taryfy nocnej na godziny dzienne.
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-exp-panel" id="panelExp3">
            <div class="rk-exp-panel-content">
                <div class="rk-exp-quote-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <div class="rk-exp-text-block">
                    <h3>Matematyka zamiast marketingu</h3>
                    <p>Zawsze powtarzam moim klientom: zanim uwierzysz w obietnice handlowca, zleć wykonanie <strong>Charakterystyki Energetycznej (OZC)</strong>. To jedyny dokument, który obnaży prawdę o tym, ile energii pochłonie Twój dom. Koszt profesjonalnego projektu hydraulicznego to zaledwie promil wartości całego systemu, a chroni Cię przed błędami, których koszt naprawy idzie w dziesiątki tysięcy złotych.</p>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tab1 = document.getElementById('tabExp1');
    var tab2 = document.getElementById('tabExp2');
    var tab3 = document.getElementById('tabExp3');
    
    var panel1 = document.getElementById('panelExp1');
    var panel2 = document.getElementById('panelExp2');
    var panel3 = document.getElementById('panelExp3');

    function resetExpertPanels() {
        if (tab1 !== null) { tab1.classList.remove('is-active'); }
        if (tab2 !== null) { tab2.classList.remove('is-active'); }
        if (tab3 !== null) { tab3.classList.remove('is-active'); }
        
        if (panel1 !== null) { panel1.classList.remove('is-active'); }
        if (panel2 !== null) { panel2.classList.remove('is-active'); }
        if (panel3 !== null) { panel3.classList.remove('is-active'); }
    }

    if (tab1 !== null) {
        tab1.addEventListener('click', function() {
            resetExpertPanels();
            tab1.classList.add('is-active');
            if (panel1 !== null) { panel1.classList.add('is-active'); }
        });
    }

    if (tab2 !== null) {
        tab2.addEventListener('click', function() {
            resetExpertPanels();
            tab2.classList.add('is-active');
            if (panel2 !== null) { panel2.classList.add('is-active'); }
        });
    }

    if (tab3 !== null) {
        tab3.addEventListener('click', function() {
            resetExpertPanels();
            tab3.classList.add('is-active');
            if (panel3 !== null) { panel3.classList.add('is-active'); }
        });
    }
});
</script>



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

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

/* Nagłówek Sekcji */
.rk-faq-header {
    padding: 40px 40px 30px;
    background: linear-gradient(to right, #f8fafc, #ffffff);
    border-bottom: 1px solid var(--rk-faq-border);
    text-align: center;
}

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

.rk-faq-header p {
    font-size: 15px;
    color: var(--rk-faq-text);
    margin: 0;
}

/* Akordeon */
.rk-faq-body {
    padding: 20px 40px 40px;
}

.rk-faq-card {
    border: 1px solid var(--rk-faq-border);
    border-radius: 12px;
    margin-bottom: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
    background: #ffffff;
}

.rk-faq-card.is-open {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.08);
}

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

.rk-faq-trigger:hover {
    background: var(--rk-faq-hover);
}

.rk-faq-title-wrap {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-right: 20px;
}

.rk-faq-icon-box {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--rk-faq-light-blue);
    color: var(--rk-faq-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.rk-faq-card.is-open .rk-faq-icon-box {
    background: var(--rk-faq-blue);
    color: #ffffff;
}

.rk-faq-title-wrap h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-faq-dark);
    line-height: 1.4;
}

.rk-faq-chevron {
    flex-shrink: 0;
    color: #94a3b8;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-card.is-open .rk-faq-chevron {
    transform: rotate(180deg);
    color: var(--rk-faq-blue);
}

.rk-faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-content-inner {
    padding: 0 25px 25px 76px; /* Wyrównanie do tekstu nagłówka */
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-text);
}

.rk-faq-content-inner a {
    color: var(--rk-faq-blue);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.rk-faq-content-inner a:hover {
    border-color: var(--rk-faq-blue);
}

.rk-faq-content-inner strong {
    color: var(--rk-faq-dark);
}

/* Mobile RWD */
@media (max-width: 768px) {
    .rk-faq-container { margin: 20px auto; border-radius: 16px; }
    .rk-faq-header { padding: 30px 20px 20px; }
    .rk-faq-header h2 { font-size: 22px; }
    .rk-faq-body { padding: 15px 20px 30px; }
    .rk-faq-trigger { padding: 16px 20px; }
    .rk-faq-content-inner { padding: 0 20px 20px 20px; }
    .rk-faq-title-wrap { gap: 12px; }
    .rk-faq-title-wrap h3 { font-size: 15px; }
    .rk-faq-icon-box { width: 32px; height: 32px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Często Zadawane Pytania (FAQ) – Ogrzewanie Podłogowe",
    "description": "Najważniejsze pytania inwestorów dotyczące kosztów eksploatacji, wylewek, paneli podłogowych i szkodliwości pola magnetycznego przy ogrzewaniu płaszczyznowym.",
    "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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#faq-schema",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy ogrzewanie elektryczne podłogowe jest droższe w utrzymaniu od wodnego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, ogrzewanie elektryczne jest znacznie droższe w eksploatacji, ponieważ zamienia energię w ciepło 1:1. Wodne ogrzewanie podłogowe z pompą ciepła osiąga sprawność SCOP na poziomie 3,5 - 4,5, co czyni rachunki za ogrzewanie wodne 3 do 4 razy niższymi."
        }
      },
      {
        "@type": "Question",
        "name": "Czy można kłaść panele podłogowe na elektryczne maty grzewcze?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, pod warunkiem wyboru paneli z odpowiednim symbolem i zastosowania mat niskotemperaturowych. Opór cieplny układu podłogowego nie może przekraczać wartości R = 0,15 m2*K/W."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka wylewka jest lepsza na ogrzewanie podłogowe – anhydrytowa czy cementowa?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wylewka anhydrytowa jest lepsza ze względu na wysoki współczynnik przewodzenia ciepła (lambda ok. 1,6 - 2,0 W/m*K) i płynną konsystencję. Wylewka cementowa ma gorsze przewodnictwo i wymaga większej grubości."
        }
      },
      {
        "@type": "Question",
        "name": "Czy elektryczne ogrzewanie podłogowe emituje szkodliwe pole elektromagnetyczne?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, nowoczesne kable i maty dwużyłowe wzajemnie znoszą pola magnetyczne. Posiadają pełny ekran ochronny połączony z uziemieniem, redukując emisję poniżej norm sprzętów domowych."
        }
      },
      {
        "@type": "Question",
        "name": "Ile czasu nagrzewa się wodna, a ile elektryczna podłogówka?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Elektryczne ogrzewanie pod płytkami nagrzewa się w 20-45 minut. Wodne w grubym jastrychu cementowym potrzebuje od 3 do 6 godzin z uwagi na masę akumulacyjną."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-parametry-techniczne",
    "name": "Parametry Fizyczne i Eksploatacyjne Układów Płaszczyznowych 2026",
    "description": "Zestawienie współczynników lambda dla wylewek, wartości oporu cieplnego dla paneli oraz efektywności grzewczej układów wodnych i elektrycznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opór cieplny paneli R 0,15",
      "współczynnik lambda wylewki anhydrytowej",
      "czas nagrzewania wylewki cementowej",
      "pole magnetyczne mata grzewcza dwużyłowa",
      "współczynnik SCOP ogrzewania wodnego"
    ],
    "measurementTechnique": "Porównanie laboratoryjne właściwości termofizycznych posadzek z wyliczeniami efektywności kosztowej systemów zasilania.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Sprawność systemu: COP 1 dla elektrycznego vs SCOP 3.5+ dla wodnego z pompą.",
        "Przewodnictwo: Anhydryt lambda 1.6-2.0 W/m*K vs Cement 1.0-1.4 W/m*K."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-baza-wiedzy-faq",
    "name": "Interaktywna Baza Wiedzy FAQ Inwestora",
    "description": "Moduł aplikacyjny pozwalający inwestorom na dynamiczne odkrywanie inżynieryjnych parametrów i rozwiewanie mitów instalacyjnych bez konieczności przeładowywania strony.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="inwestor-faq-module">
    <div class="rk-faq-header">
        <h2>Często Zadawane Pytania (FAQ)</h2>
        <p>Rozwiewamy mity instalacyjne. Inżynierskie fakty o kosztach, wylewkach i sterowaniu.</p>
    </div>

    <div class="rk-faq-body">
        
        <div class="rk-faq-card is-open">
            <button class="rk-faq-trigger" aria-expanded="true">
                <div class="rk-faq-title-wrap">
                    <div class="rk-faq-icon-box">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg>
                    </div>
                    <h3>Czy ogrzewanie elektryczne podłogowe jest droższe w utrzymaniu od wodnego?</h3>
                </div>
                <svg class="rk-faq-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-faq-content" style="max-height: 500px;">
                <div class="rk-faq-content-inner">
                    Tak, ogrzewanie elektryczne jest <strong>znacznie droższe w eksploatacji</strong>, ponieważ zamienia energię elektryczną w ciepło w stosunku 1:1 (COP = 1). Wodne ogrzewanie podłogowe zasilane nowoczesną pompą ciepła osiąga średnioroczny współczynnik sprawności SCOP na poziomie 3,5 - 4,5. Oznacza to, że z 1 kWh prądu generuje nawet do 4,5 kWh ciepła, dzięki czemu rachunki za ogrzewanie wodne są od <strong>3 do 4 razy niższe</strong> niż przy kablach elektrycznych.
                </div>
            </div>
        </div>

        <div class="rk-faq-card">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-title-wrap">
                    <div class="rk-faq-icon-box">
                        <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="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                    </div>
                    <h3>Czy można kłaść panele podłogowe na elektryczne maty grzewcze?</h3>
                </div>
                <svg class="rk-faq-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    Tak, pod warunkiem wyboru paneli dedykowanych przez producenta do współpracy z <a href="https://projekt-ogrzewania.pl/panele-winylowe-na-ogrzewanie-podlogowe/">ogrzewaniem podłogowym</a> (oznaczonych specjalnym symbolem) oraz zastosowania folii grzewczych na podczerwień lub mat niskotemperaturowych. Należy pamiętać, że opór cieplny całego układu podłogowego (panel + podkład) nie może zgodnie z normą przekraczać wartości <strong>R = 0,15 m2*K/W</strong>.
                </div>
            </div>
        </div>

        <div class="rk-faq-card">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-title-wrap">
                    <div class="rk-faq-icon-box">
                        <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 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    </div>
                    <h3>Jaka wylewka jest lepsza na ogrzewanie podłogowe – anhydrytowa czy cementowa?</h3>
                </div>
                <svg class="rk-faq-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    <a href="https://projekt-ogrzewania.pl/wylewka-anhydrytowa-wady-zalety/">Wylewka anhydrytowa</a> jest znacznie lepszym rozwiązaniem na ogrzewanie podłogowe ze względu na swój wysoki współczynnik przewodzenia ciepła (<strong>lambda ok. 1,6 - 2,0 W/m*K</strong>) oraz płynną konsystencję, która idealnie otula rury grzewcze lub kable, eliminując pęcherzyki powietrza działające jak izolator. Wylewka cementowa charakteryzuje się gorszym przewodnictwem (lambda ok. 1,0 - 1,4 W/m*K) oraz wymaga większej grubości konstrukcyjnej, co zwiększa bezwładność cieplną układu.
                </div>
            </div>
        </div>

        <div class="rk-faq-card">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-title-wrap">
                    <div class="rk-faq-icon-box">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                    </div>
                    <h3>Czy elektryczne ogrzewanie podłogowe emituje szkodliwe pole elektromagnetyczne?</h3>
                </div>
                <svg class="rk-faq-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    Nie, nowoczesne, dwużyłowe kable i maty grzejne renomowanych producentów są w pełni bezpieczne. Ich konstrukcja, oparta na dwóch przewodach prądowych biegnących równolegle, powoduje <strong>wzajemne znoszenie się pól magnetycznych</strong>. Dodatkowo układy te wyposażone są w pełny ekran ochronny (oplot z miedzi lub aluminium) połączony z uziemieniem (PE), co redukuje emisję pola elektromagnetycznego do wartości wielokrotnie niższych niż te generowane przez domowe suszarki do włosów czy mikrofalówki.
                </div>
            </div>
        </div>

        <div class="rk-faq-card">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-title-wrap">
                    <div class="rk-faq-icon-box">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    </div>
                    <h3>Ile czasu nagrzewa się wodna, a ile elektryczna podłogówka?</h3>
                </div>
                <svg class="rk-faq-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    Elektryczne ogrzewanie podłogowe ułożone bezpośrednio pod płytkami w warstwie kleju nagrzewa podłogę bardzo szybko – zazwyczaj w czasie <strong>od 20 do 45 minut</strong>. Wodne ogrzewanie podłogowe, zatopione w grubym jastrychu cementowym lub anhydrytowym, ze względu na dużą masę akumulacyjną potrzebuje znacznie więcej czasu, od <strong>3 do nawet 6 godzin</strong> na odczuwalną zmianę temperatury powietrza w pomieszczeniu.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var faqTriggers = document.querySelectorAll('.rk-faq-trigger');
    
    faqTriggers.forEach(function(trigger) {
        trigger.addEventListener('click', function() {
            var card = this.parentElement;
            var content = card.querySelector('.rk-faq-content');
            var isCurrentlyOpen = card.classList.contains('is-open');
            
            // Zamykamy wszystkie karty
            var allCards = document.querySelectorAll('.rk-faq-card');
            allCards.forEach(function(c) {
                c.classList.remove('is-open');
                c.querySelector('.rk-faq-trigger').setAttribute('aria-expanded', 'false');
                c.querySelector('.rk-faq-content').style.maxHeight = null;
            });
            
            // Otwieramy klikniętą kartę, jeśli była zamknięta
            if (isCurrentlyOpen === false) {
                card.classList.add('is-open');
                this.setAttribute('aria-expanded', 'true');
                // Ustawiamy max-height na tyle duże, aby pomieścić treść
                content.style.maxHeight = content.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-sum-dark: #0f172a;
    --rk-sum-blue: #0284c7;
    --rk-sum-light-blue: #f0f9ff;
    --rk-sum-green: #10b981;
    --rk-sum-green-light: #dcfce7;
    --rk-sum-red: #ef4444;
    --rk-sum-gold: #eab308;
    --rk-sum-gray: #64748b;
    --rk-sum-border: #e2e8f0;
    --rk-sum-bg: #ffffff;
}

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

/* Sekcja Nagłówkowa */
.rk-final-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, var(--rk-sum-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

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

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

/* Interaktywny Symulator Decyzji */
.rk-final-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-dec-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-sum-border);
    border-radius: 20px;
    padding: 10px;
    margin-bottom: 30px;
}

.rk-dec-btn {
    padding: 20px;
    border-radius: 16px;
    border: 2px solid transparent;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

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

.rk-dec-btn.active[data-choice="wodne"] {
    background: var(--rk-sum-light-blue);
    border-color: var(--rk-sum-blue);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.2);
}

.rk-dec-btn.active[data-choice="elektryczne"] {
    background: #fffbeb;
    border-color: var(--rk-sum-gold);
    box-shadow: 0 10px 20px -5px rgba(234, 179, 8, 0.2);
}

.rk-dec-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #64748b;
    transition: all 0.3s;
}

.rk-dec-btn.active[data-choice="wodne"] .rk-dec-icon {
    background: var(--rk-sum-blue);
    color: #ffffff;
}

.rk-dec-btn.active[data-choice="elektryczne"] .rk-dec-icon {
    background: var(--rk-sum-gold);
    color: #ffffff;
}

.rk-dec-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-sum-dark);
    margin: 0;
}

.rk-dec-subtitle {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}

/* Wynik symulacji */
.rk-final-result {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 30px;
    align-items: start;
    padding: 35px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-sum-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-svg-illustrator {
    width: 100%;
    height: auto;
    max-width: 140px;
    margin: 0 auto;
}

.rk-res-content h3 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 800;
}

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

.rk-res-content strong {
    color: var(--rk-sum-dark);
    font-weight: 700;
}

/* Tagi długi ogon */
.rk-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px dashed var(--rk-sum-border);
}

.rk-mat-tag {
    display: inline-block;
    background: #f1f5f9;
    color: var(--rk-sum-gray);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s;
    border: 1px solid transparent;
}

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

/* Mocne CTA */
.rk-final-cta-box {
    padding: 45px 50px;
    background: #ffffff;
    text-align: center;
    border-top: 1px solid var(--rk-sum-border);
}

.rk-final-cta-title {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-sum-dark);
    margin: 0 0 15px 0;
}

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

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

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

.rk-btn-huge svg { transition: transform 0.3s; }
.rk-btn-huge:hover svg { transform: translateX(5px); }

/* Mobile RWD */
@media (max-width: 768px) {
    .rk-final-header, .rk-final-interactive, .rk-final-cta-box { padding: 35px 25px; }
    .rk-dec-wrapper { grid-template-columns: 1fr; gap: 10px; }
    .rk-final-result { grid-template-columns: 1fr; text-align: center; padding: 25px; }
    .rk-svg-illustrator { max-width: 100px; margin-bottom: 20px; }
    .rk-tags-container { justify-content: center; }
    .rk-btn-huge { 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/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Podsumowanie i wytyczne inżynieryjne: Wodne czy elektryczne?",
    "description": "Zestawienie CAPEX i OPEX dla systemów ogrzewania podłogowego. Sprawdź, kiedy wybrać pompę ciepła, a kiedy opłaca się elektryczna mata grzewcza.",
    "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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-capex-opex",
    "name": "Wskaźniki CAPEX i OPEX: Wodne vs Elektryczne Ogrzewanie Podłogowe",
    "description": "Porównanie kosztów inwestycyjnych i operacyjnych dla instalacji płaszczyznowych w budownictwie WT 2021 oraz budynkach pasywnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "koszty operacyjne OPEX podłogówka",
      "kapitał początkowy CAPEX ogrzewanie",
      "ogrzewanie dla standardu WT 2021",
      "charakterystyka energetyczna budynku OZC",
      "bilansowanie zużycia prądu 1 do 1"
    ],
    "measurementTechnique": "Analiza zapotrzebowania EU i bilansowanie kosztów instalacji pompy ciepła względem mat oporowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wodne ogrzewanie: Wysoki CAPEX, bardzo niski OPEX. Standard dla domów > 80m2.",
        "Elektryczne ogrzewanie: Bardzo niski CAPEX, wysoki OPEX. Zasadne przy EU mniejszym niż 15 kWh/m2/rok lub w małych mieszkaniach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-kalkulator-decyzji",
    "name": "Symulator Wyboru Systemu Grzewczego (Woda vs Prąd)",
    "description": "Interaktywne narzędzie inżynieryjne ułatwiające dobór systemu grzewczego na podstawie wielkości inwestycji i charakterystyki energetycznej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-final-container" id="system-decision-app">
    <div class="rk-final-header">
        <h2>Ostateczny wybór systemu grzewczego: Wodne czy Elektryczne?</h2>
        <p>Wybór nie powinien być loterią. Zobacz inżynieryjne podsumowanie kosztów i zastosowania, aby zabezpieczyć swój portfel na kolejne dekady.</p>
    </div>

    <div class="rk-final-interactive">
        <div class="rk-dec-wrapper" id="sysDecisions">
            <button class="rk-dec-btn active" data-choice="wodne">
                <div class="rk-dec-icon">
                    <svg width="28" height="28" 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-dec-title">Ogrzewanie Wodne</h4>
                <p class="rk-dec-subtitle">Zasilane pompą ciepła lub gazem</p>
            </button>
            <button class="rk-dec-btn" data-choice="elektryczne">
                <div class="rk-dec-icon">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                </div>
                <h4 class="rk-dec-title">Ogrzewanie Elektryczne</h4>
                <p class="rk-dec-subtitle">Maty, folie i kable oporowe</p>
            </button>
        </div>

        <div class="rk-final-result" id="sysResultBox">
            <div id="sysSvgContainer">
                <svg class="rk-svg-illustrator" viewBox="0 0 100 100" fill="none" stroke="var(--rk-sum-blue)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
                    <path d="M20 80 Q 35 60 50 80 T 80 80" />
                    <path d="M20 60 Q 35 40 50 60 T 80 60" />
                    <path d="M20 40 Q 35 20 50 40 T 80 40" />
                    <circle cx="50" cy="50" r="40" stroke-dasharray="8 4" stroke-width="2" />
                </svg>
            </div>
            
            <div class="rk-res-content" id="sysResultContent">
                <h3 style="color: var(--rk-sum-blue);">Wysoki CAPEX, Minimalny OPEX</h3>
                <p>Technologia o wysokim kapitale początkowym (zakup pompy ciepła, hydrauliki), która <strong>gwarantuje najniższe z możliwych koszty operacyjne</strong>. System współpracuje z każdym niskotemperaturowym źródłem energii.</p>
                <p><strong>Zastosowanie:</strong> Standard dla nowoczesnego, energooszczędnego budownictwa mieszkaniowego o powierzchni <strong>powyżej 80 - 100 m2</strong>.</p>
            </div>
        </div>

        <div class="rk-tags-container">
            <span class="rk-mat-tag"># wodne ogrzewanie podłogowe koszty</span>
            <span class="rk-mat-tag"># elektryczne maty grzewcze opinie</span>
            <span class="rk-mat-tag"># projekt ogrzewania ozc</span>
            <span class="rk-mat-tag"># ogrzewanie podłogowe w kamienicy</span>
            <span class="rk-mat-tag"># darmowe ogrzewanie z fotowoltaiki</span>
            <span class="rk-mat-tag"># tanie ogrzewanie łazienki</span>
            <span class="rk-mat-tag"># niskotemperaturowa pompa ciepła</span>
            <span class="rk-mat-tag"># koszty eksploatacji podłogówki</span>
        </div>
    </div>

    <div class="rk-final-cta-box">
        <h3 class="rk-final-cta-title">Nie zgaduj. Liczby nie kłamią.</h3>
        <p class="rk-final-cta-text">
            Zanim wylejesz posadzkę, upewnij się, że Twój system jest policzony przez inżyniera. Błędy na etapie wyboru źródła ciepła mszczą się przez dekady. Czytaj więcej o optymalizacji i normach w naszej czytelni.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-huge">
            PRZEJDŹ DO BAZY WIEDZY EKSKLUZYWNEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-dec-btn');
    const resultContent = document.getElementById('sysResultContent');
    const svgContainer = document.getElementById('sysSvgContainer');

    // SVG templates
    const svgWodne = `
        <svg class="rk-svg-illustrator" viewBox="0 0 100 100" fill="none" stroke="var(--rk-sum-blue)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
            <path d="M20 80 Q 35 60 50 80 T 80 80" />
            <path d="M20 60 Q 35 40 50 60 T 80 60" />
            <path d="M20 40 Q 35 20 50 40 T 80 40" />
            <circle cx="50" cy="50" r="40" stroke-dasharray="8 4" stroke-width="2" />
        </svg>
    `;

    const svgElektryczne = `
        <svg class="rk-svg-illustrator" viewBox="0 0 100 100" fill="none" stroke="var(--rk-sum-gold)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
            <path d="M50 15 L35 45 L55 45 L50 85 L65 55 L45 55 Z" fill="#fef3c7" />
            <circle cx="50" cy="50" r="45" stroke-dasharray="12 6" stroke-width="2" />
        </svg>
    `;

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Reset active classes
            btns.forEach(function(b) { b.classList.remove('active'); });
            
            // Add active to clicked
            this.classList.add('active');

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

            if (choice === 'wodne') {
                svgContainer.innerHTML = svgWodne;
                resultContent.innerHTML = `
                    <h3 style="color: var(--rk-sum-blue);">Wysoki CAPEX, Minimalny OPEX</h3>
                    <p>Technologia o wysokim kapitale początkowym (zakup pompy ciepła, hydrauliki), która <strong>gwarantuje najniższe z możliwych koszty operacyjne</strong>. System współpracuje z każdym niskotemperaturowym źródłem energii.</p>
                    <p><strong>Zastosowanie:</strong> Standard dla nowoczesnego, energooszczędnego budownictwa mieszkaniowego o powierzchni <strong>powyżej 80 - 100 m2</strong>.</p>
                `;
            }

            if (choice === 'elektryczne') {
                svgContainer.innerHTML = svgElektryczne;
                resultContent.innerHTML = `
                    <h3 style="color: var(--rk-sum-gold);">Niski CAPEX, Wysoki OPEX</h3>
                    <p>System o bardzo niskich kosztach inwestycyjnych i banalnie prostym montażu. Charakteryzuje się jednak wysokim kosztem eksploatacji ze względu na bezpośrednie zużycie prądu (COP = 1).</p>
                    <p><strong>Zastosowanie:</strong> Uzasadnienie ekonomiczne wyłącznie w budynkach o charakterystyce pasywnej (EU poniżej 15 kWh/m2*rok), renowacjach kamienic lub jako strefowe dogrzewanie łazienek.</p>
                `;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-blue-light: #f0f9ff;
    --rk-dl-gray: #64748b;
    --rk-dl-border: #e2e8f0;
    --rk-dl-bg: #ffffff;
    --rk-dl-red: #ef4444;
}

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

/* Nagłówek */
.rk-dl-header {
    padding: 35px 40px 25px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-dl-border);
}

.rk-dl-header h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

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

/* Główny układ - Grid */
.rk-dl-body {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 0;
}

/* Kolumna Lewa - Miniatura */
.rk-dl-thumb-section {
    padding: 40px;
    background: #ffffff;
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rk-dl-thumbnail {
    width: 100%;
    max-width: 220px;
    height: auto;
    border-radius: 8px;
    border: 1px solid var(--rk-dl-border);
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.1);
    display: block;
}

/* Kolumna Prawa - Akcje */
.rk-dl-actions-section {
    padding: 40px;
    background: #f8fafc;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-dl-desc {
    font-size: 15px;
    color: var(--rk-dl-gray);
    line-height: 1.6;
    margin: 0 0 25px 0;
}

/* Przyciski */
.rk-dl-buttons {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-btn-download {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 20px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    border: 2px solid transparent;
    cursor: pointer;
}

.rk-btn-pdf {
    background: var(--rk-dl-red);
    color: #ffffff;
}

.rk-btn-pdf:hover {
    background: #dc2626;
}

.rk-btn-view {
    background: #ffffff;
    color: var(--rk-dl-blue);
    border-color: var(--rk-dl-blue);
}

.rk-btn-view:hover {
    background: var(--rk-dl-blue-light);
}

.rk-btn-view.is-active {
    background: var(--rk-dl-dark);
    border-color: var(--rk-dl-dark);
    color: #ffffff;
}

/* Klauzula Autorska */
.rk-dl-copyright {
    padding: 15px 20px;
    background: #fffbeb;
    border-left: 3px solid #d97706;
    border-radius: 0 8px 8px 0;
    font-size: 13px;
    font-weight: 600;
    color: #92400e;
    line-height: 1.5;
    margin: 0;
}

/* Interaktywny Podgląd (Ukryty domyślnie) */
.rk-dl-preview-box {
    display: none;
    padding: 40px;
    background: #ffffff;
    border-top: 1px solid var(--rk-dl-border);
    text-align: center;
}

.rk-dl-preview-box.is-visible {
    display: block;
}

.rk-dl-full-image {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    border: 1px solid var(--rk-dl-border);
}

/* Mobile RWD */
@media (max-width: 768px) {
    .rk-dl-container { margin: 20px auto; border-radius: 16px; }
    .rk-dl-body { grid-template-columns: 1fr; }
    .rk-dl-thumb-section { border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 30px; }
    .rk-dl-actions-section { padding: 30px 20px; }
    .rk-dl-buttons { flex-direction: column; }
    .rk-btn-download { width: 100%; }
    .rk-dl-preview-box { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/"
    },
    "headline": "Materiały dodatkowe: Infografika porównawcza układów grzewczych",
    "description": "Zestawienie wizualne kluczowych różnic, zalet i wad wodnego oraz elektrycznego ogrzewania podłogowego. Plik PDF do pobrania z zachowaniem praw autorskich.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Jakie-ogrzewanie-podlogowe-wybrac-%E2%80%93-wodne-czy-elektryczne.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-22",
    "dateModified": "2026-06-22"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#dataset-infografika",
    "name": "Wizualne Zestawienie Parametrów Ogrzewania Podłogowego (Infografika)",
    "description": "Skompresowana wiedza inżynieryjna dotycząca kosztów, montażu i eksploatacji ogrzewania płaszczyznowego, dostępna w formacie PDF do celów edukacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe pdf",
      "zestawienie ogrzewanie wodne i elektryczne materiały",
      "darmowy pdf o ogrzewaniu podłogowym",
      "porównanie kosztów ogrzewania wizualizacja",
      "prawa autorskie projekt ogrzewania"
    ],
    "measurementTechnique": "Udostepnienie danych ustrukturyzowanych w formacie graficznym (WebP) oraz przenośnym dokumencie (PDF) dla inwestorów i wykonawców.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zawartość: Kompletne porównanie CAPEX/OPEX, wysokości wylewek, żywotności materiałów.",
        "Dystrybucja: Zezwolenie na udostępnianie wyłącznie z zachowaniem logotypu portalu i bez modyfikacji struktury pliku."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/#webapp-przegladarka-pdf",
    "name": "Narzędzie Pobierania i Podglądu Dokumentacji Technicznej",
    "description": "Interaktywny moduł pozwalający na asynchroniczny podgląd infografiki (WebP) bezpośrednio w oknie przeglądarki oraz bezpieczne pobranie pliku źródłowego (PDF).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-module">
    <div class="rk-dl-header">
        <h2>
            <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>
            Materiały dodatkowe: Infografika podsumowująca
        </h2>
        <p>Zapisz najważniejsze informacje na dysku lub udostępnij je swojemu wykonawcy. Cała wiedza z artykułu skompresowana w jednym, czytelnym dokumencie.</p>
    </div>

    <div class="rk-dl-body">
        <div class="rk-dl-thumb-section">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Jakie-ogrzewanie-podlogowe-wybrac-%E2%80%93-wodne-czy-elektryczne.webp" alt="Miniatura: Jakie ogrzewanie podłogowe wybrać" class="rk-dl-thumbnail" loading="lazy">
        </div>

        <div class="rk-dl-actions-section">
            <h3 class="rk-dl-title">Jakie ogrzewanie podłogowe wybrać?</h3>
            <p class="rk-dl-desc">Pobierz wysokiej jakości plik PDF przygotowany do druku (idealny na budowę) lub otwórz szybki podgląd graficzny bezpośrednio w oknie przeglądarki.</p>

            <div class="rk-dl-buttons">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Jakie-ogrzewanie-podlogowe-wybrac-%E2%80%93-wodne-czy-elektryczne.pdf" target="_blank" rel="noopener noreferrer" class="rk-btn-download rk-btn-pdf">
                    <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="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 plik PDF
                </a>
                <button type="button" class="rk-btn-download rk-btn-view" id="btnPreviewToggle">
                    <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="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>
                    Podgląd na ekranie
                </button>
            </div>

            <p class="rk-dl-copyright">
                © 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski. Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.
            </p>
        </div>
    </div>

    <div class="rk-dl-preview-box" id="previewContainer">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Jakie-ogrzewanie-podlogowe-wybrac-%E2%80%93-wodne-czy-elektryczne.webp" alt="Pełna infografika: Jakie ogrzewanie podłogowe wybrać" class="rk-dl-full-image" loading="lazy">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btnPreview = document.getElementById('btnPreviewToggle');
    var previewContainer = document.getElementById('previewContainer');

    if (btnPreview !== null) {
        if (previewContainer !== null) {
            btnPreview.addEventListener('click', function() {
                var isVisible = previewContainer.classList.contains('is-visible');
                
                // Zagnieżdżona logika warunkowa bez operatora &&
                if (isVisible === true) {
                    previewContainer.classList.remove('is-visible');
                    btnPreview.classList.remove('is-active');
                    btnPreview.innerHTML = '<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="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg> Podgląd na ekranie';
                } else {
                    previewContainer.classList.add('is-visible');
                    btnPreview.classList.add('is-active');
                    btnPreview.innerHTML = '<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="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> Zamknij podgląd';
                }
            });
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jakie-ogrzewanie-podlogowe-wybrac-wodne-czy-elektryczne/">Jakie ogrzewanie podłogowe wybrać – wodne czy elektryczne?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>System mokry czy suchy w wodnym ogrzewaniu podłogowym – który wybrać?</title>
		<link>https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 12 May 2025 15:20:28 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Koszty instalacji]]></category>
		<category><![CDATA[Koszty instalacji grzewczych]]></category>
		<category><![CDATA[Materiały instalacyjne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Remont]]></category>
		<category><![CDATA[System mokry]]></category>
		<category><![CDATA[System suchy]]></category>
		<category><![CDATA[błędy instalatorów]]></category>
		<category><![CDATA[montaż ogrzewania]]></category>
		<category><![CDATA[ogrzewanie domu]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[porównanie systemów]]></category>
		<category><![CDATA[projekt instalacji]]></category>
		<category><![CDATA[system mokry]]></category>
		<category><![CDATA[system suchy]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2591</guid>

					<description><![CDATA[<p>System mokry czy suchy w wodnym ogrzewaniu podłogowym to jedna z kluczowych decyzji przy projektowaniu instalacji grzewczej. W naszym szczegółowym przewodniku znajdziesz nie tylko porównanie obu technologii, ale także praktyczne wskazówki, analizy kosztów, dobór materiałów i najczęstsze błędy wykonawcze. Dowiedz się, który system sprawdzi się w Twoim domu i jak uniknąć kosztownych pomyłek przy inwestycji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/">System mokry czy suchy w wodnym ogrzewaniu podłogowym – który wybrać?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Wodne ogrzewanie podłogowe</strong> to jeden z najwygodniejszych i najbardziej energooszczędnych sposobów na ogrzewanie domu. Jednak przed jego montażem trzeba podjąć kluczową decyzję: <em>system mokry czy suchy</em>? Każdy z nich ma inne właściwości, zastosowanie i wymagania instalacyjne. W tym artykule porównujemy oba rozwiązania, aby pomóc Ci wybrać najlepszą opcję dla Twojego domu.</p>



<h2 class="wp-block-heading">Jak działa wodne ogrzewanie podłogowe?</h2>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe polega na rozprowadzaniu ciepła za pomocą rur wypełnionych wodą, ukrytych pod posadzką. Dzieli się na dwa główne systemy:</p>



<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/czym-jest-system-mokry-w-wodnym-ogrzewaniu-podlogowym/">System mokry</a></strong> – rury zatopione są w warstwie wylewki betonowej.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">System suchy</a></strong> – rury układane są w gotowych panelach lub matach izolacyjnych.</li>
</ul>



<p class="wp-block-paragraph">Oba rozwiązania mają swoje zalety, ale różnią się pod względem kosztów, czasu montażu i efektywności cieplnej.</p>



<h2 class="wp-block-heading">System mokry – tradycyjne rozwiązanie z wysoką bezwładnością cieplną.</h2>



<h3 class="wp-block-heading">Czym charakteryzuje się system mokry?</h3>



<p class="wp-block-paragraph">W systemie mokrym rury grzewcze zalane są jastrychem (wylewką cementową lub anhydrytową), który pełni rolę akumulatora ciepła. Dzięki temu podłoga długo się nagrzewa, ale też długo oddaje ciepło.</p>



<h3 class="wp-block-heading">Zalety systemu mokrego.</h3>



<ul class="wp-block-list">
<li>Wysoka efektywność energetyczna – idealny do współpracy z pompą ciepła.</li>



<li>Równomierne rozprowadzenie ciepła – brak odczuwalnych stref zimna i gorąca.</li>



<li>Trwałość – wylewka chroni rury przed uszkodzeniami mechanicznymi.</li>



<li>Kompatybilność z różnymi źródłami ciepła (np. kotły gazowe, pompy ciepła).</li>
</ul>



<h3 class="wp-block-heading">Wady systemu mokrego.</h3>



<ul class="wp-block-list">
<li>Długi czas montażu – schnięcie wylewki może trwać nawet 4 tygodnie.</li>



<li>Grubsza warstwa podłogi (ok. 7–15 cm) – może wymagać podniesienia progów.</li>



<li>Wyższe koszty materiałowe i robocizny.</li>
</ul>



<h3 class="wp-block-heading">Gdzie sprawdzi się system mokry?</h3>



<ul class="wp-block-list">
<li>Nowe budownictwo – gdzie można zaplanować grubszą podłogę.</li>



<li>Dom z niskotemperaturowym źródłem ciepła (np. pompa ciepła).</li>



<li>Pomieszczenia, w których zależy nam na stabilnym ogrzewaniu.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład</strong>: W domu o powierzchni 100 m², przy rozstawie rur co 15 cm, potrzeba ok. 600–700 mb rury. Zobacz: <a href="https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/">ile rury na m² ogrzewania podłogowego</a></p>



<h2 class="wp-block-heading">System suchy – lekki i szybki w montażu</h2>



<h3 class="wp-block-heading">Czym jest system suchy?</h3>



<p class="wp-block-paragraph">W systemie suchym rury układa się w:</p>



<ul class="wp-block-list">
<li>Płytach styropianowych z rowkami,</li>



<li>Matach aluminiowych,</li>



<li>Specjalnych panelach drewnianych.</li>
</ul>



<p class="wp-block-paragraph">Nie wymaga wylewki, dzięki czemu montaż jest znacznie szybszy.</p>



<h3 class="wp-block-heading">Zalety systemu suchego.</h3>



<ul class="wp-block-list">
<li>Szybki montaż – brak konieczności czekania na schnięcie jastrychu.</li>



<li>Cienka warstwa podłogi (2–5 cm) – idealny do remontów.</li>



<li>Lepsza reakcja na zmiany temperatury – szybciej się nagrzewa.</li>



<li>Niższy koszt instalacji w porównaniu do systemu mokrego.</li>
</ul>



<h3 class="wp-block-heading">Wady systemu suchego.</h3>



<ul class="wp-block-list">
<li>Mniejsza bezwładność cieplna – wymaga częstszej pracy kotła.</li>



<li>Mniej równomierne rozprowadzenie ciepła niż w systemie mokrym.</li>



<li>Wrażliwość na uszkodzenia mechaniczne.</li>
</ul>



<h3 class="wp-block-heading">Gdzie najlepiej zastosować system suchy?</h3>



<ul class="wp-block-list">
<li>Remonty starych budynków – gdzie nie można podnieść podłogi.</li>



<li>Domy z lekką konstrukcją stropu.</li>



<li>Łazienki i pomieszczenia wymagające szybkiego nagrzewania.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład</strong>: W systemie suchym, przy rozstawie rur co 10 cm, na 1 m² potrzeba ok. 10 mb rury, co daje ok. 1000 mb na 100 m².</p>



<h2 class="wp-block-heading">O co najczęściej pytają inwestorzy?</h2>



<h3 class="wp-block-heading">Czy można zrobić ogrzewanie podłogowe bez wylewki?</h3>



<p class="wp-block-paragraph">Tak, to właśnie główna zaleta systemu suchego. W takim przypadku rury układane są w specjalnych matach lub kasetach aluminiowych, bez potrzeby stosowania jastrychu.</p>



<h3 class="wp-block-heading">Jaka grubość podłogi w systemie suchym?</h3>



<p class="wp-block-paragraph">Systemy suche wymagają znacznie cieńszej konstrukcji – całkowita grubość warstw z rurami i wykończeniem wynosi zazwyczaj 4–6 cm. To istotne w starszych budynkach i remontach.</p>



<h3 class="wp-block-heading">Czy ogrzewanie podłogowe bez wylewki jest efektywne?</h3>



<p class="wp-block-paragraph">Jest bardziej responsywne, ale ma mniejszą bezwładność cieplną. Szybko się nagrzewa i szybko stygnie. Idealne do łazienek, kuchni i pomieszczeń czasowo użytkowanych.</p>



<h3 class="wp-block-heading">Czy płyty do suchego systemu są dostępne w Polsce?</h3>



<p class="wp-block-paragraph">Tak. Najczęściej stosuje się płyty gipsowo-włóknowe z frezowanymi rowkami, maty EPS z folią aluminiową lub systemowe kasety aluminiowe.</p>



<h3 class="wp-block-heading">Czy system suchy można stosować na drewniany strop?</h3>



<p class="wp-block-paragraph">Tak, to jedno z jego najczęstszych zastosowań. Lekka konstrukcja nie obciąża stropu, a układanie nie wymaga ciężkiego sprzętu.</p>



<h2 class="wp-block-heading">Porady praktyczne przed wyborem systemu.</h2>



<p class="wp-block-paragraph"><strong>1. Oceń wysokość dostępną pod podłogą.</strong><br>System mokry wymaga 7–15 cm, suchy 2–5 cm. W remontowanych domach często tylko suchy jest realny.</p>



<p class="wp-block-paragraph"><strong>2. Sprawdź rodzaj stropu.</strong><br>Jeśli masz lekki drewniany strop, system suchy jest bezpieczniejszym wyborem.</p>



<p class="wp-block-paragraph"><strong>3. Zadbaj o odpowiednie wykończenie podłogi.</strong><br>Do obu systemów nadają się płytki i panele z niskim oporem cieplnym. Unikaj litego drewna.</p>



<p class="wp-block-paragraph"><strong>4. Upewnij się, że masz projekt.</strong><br>Brak dokumentacji to prosta droga do błędów montażowych. Skorzystaj z: <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt ogrzewania podłogowego</a></p>



<p class="wp-block-paragraph"><strong>5. Porównaj koszty eksploatacji.</strong><br>System mokry jest bardziej efektywny przy pompie ciepła. Suchy lepiej reaguje w łazienkach lub pokojach gościnnych.</p>



<h2 class="wp-block-heading">Jakie materiały stosuje się w obu systemach?</h2>



<h3 class="wp-block-heading">System mokry:</h3>



<ul class="wp-block-list">
<li><strong>Rury wielowarstwowe PEX/PERT</strong>: np. <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/">KISAN RedART</a> lub <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kan-therm-bluepert-16x2-0/">KAN-therm BluePERT</a></li>



<li><strong>Folia aluminiowa i izolacja EPS/XPS</strong>: np. <a href="https://projekt-ogrzewania.pl/produkt/folia-do-ogrzewania-podlogowego-laminat-metalizowany-z-rastrem/">folia metalizowana z rastrem</a></li>



<li><strong>Taśmy i spinki montażowe</strong>: np. <a href="https://projekt-ogrzewania.pl/produkt/tasma-przyscienna-z-pianki-poliuretanowej-do-ogrzewania-podlogowego/">taśma brzegowa</a>, <a href="https://projekt-ogrzewania.pl/produkt/spinka-do-styropianu-do-takera/">spinki do takera</a></li>
</ul>



<h3 class="wp-block-heading">System suchy:</h3>



<ul class="wp-block-list">
<li><strong>Płyty gipsowo-włóknowe lub styropianowe z kanałami</strong></li>



<li><strong>Płyty aluminiowe lub kasety rozprowadzające ciepło</strong></li>



<li><strong>Systemowe maty montażowe i płyty suchego jastrychu</strong></li>
</ul>



<h2 class="wp-block-heading">Koszty wykonania i eksploatacji – porównanie</h2>



<p class="wp-block-paragraph">Zobacz szczegóły w artykule: <a href="https://projekt-ogrzewania.pl/ile-kosztuje-100-m%c2%b2-ogrzewania-podlogowego/">ile kosztuje 100 m² ogrzewania podłogowego</a></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><th>Koszt instalacji (materiały + robocizna)</th><th>System mokry</th><th>System suchy</th></tr><tr><td>Średnio za m²</td><td>150–250 zł</td><td>120–180 zł</td></tr><tr><td>Koszt robocizny</td><td>wyższy</td><td>niższy</td></tr><tr><td>Koszt eksploatacji</td><td>niższy</td><td>wyższy (częstsze cykle grzania)</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Błędy, których warto unikać</h2>



<ul class="wp-block-list">
<li>Układanie systemu mokrego w starych budynkach z cienkim stropem.</li>



<li>Brak projektu instalacji: zobacz <a href="https://projekt-ogrzewania.pl/czy-trzeba-miec-projekt-na-ogrzewanie-podlogowe/">czy trzeba mieć projekt?</a></li>



<li>Stosowanie litego drewna jako wykończenia podłogi</li>



<li>Zbyt cienka warstwa izolacji termicznej – zobacz <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacja brzegowa i dylatacje</a></li>
</ul>



<h2 class="wp-block-heading">Kiedy nie warto stosować ogrzewania podłogowego?</h2>



<ul class="wp-block-list">
<li>W nieogrzewanych pomieszczeniach gospodarczych.</li>



<li>W domach z bardzo wysokimi stropami, gdzie dominują straty pionowe.</li>



<li>W pomieszczeniach, gdzie nie można zastosować izolacji podposadzkowej.</li>
</ul>



<p class="wp-block-paragraph">Zobacz więcej: <a href="https://projekt-ogrzewania.pl/gdzie-nie-ukladac-ogrzewania-podlogowego/">gdzie nie układać ogrzewania podłogowego</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-1747061406335"><strong class="schema-faq-question"><strong>Czy system mokry jest zawsze lepszy od suchego?</strong></strong> <p class="schema-faq-answer">Nie zawsze. Mokry sprawdza się w nowym budownictwie, a suchy lepiej w remontach i tam, gdzie liczy się niska wysokość podłogi.</p> </div> <div class="schema-faq-section" id="faq-question-1747061421357"><strong class="schema-faq-question"><strong>Ile kosztuje ogrzewanie podłogowe w systemie mokrym?</strong></strong> <p class="schema-faq-answer">Średnio od 150 do 250 zł za m² z materiałami i robocizną. Koszty zależą od metrażu i rodzaju wylewki.</p> </div> <div class="schema-faq-section" id="faq-question-1747061435817"><strong class="schema-faq-question"><strong>Czy suchy system nadaje się do łazienki?</strong></strong> <p class="schema-faq-answer">Tak, pod warunkiem zastosowania odpowiednich paneli lub płyt o dobrej przewodności cieplnej i odporności na wilgoć.</p> </div> <div class="schema-faq-section" id="faq-question-1747061447998"><strong class="schema-faq-question"><strong>Który system szybciej się nagrzewa?</strong></strong> <p class="schema-faq-answer">System suchy działa szybciej, ale też szybciej stygnie. System mokry nagrzewa się dłużej, ale długo oddaje ciepło.</p> </div> <div class="schema-faq-section" id="faq-question-1747061458160"><strong class="schema-faq-question"><strong>Czy do obu systemów potrzebny jest projekt?</strong></strong> <p class="schema-faq-answer">Tak, projekt zapewnia poprawne rozmieszczenie rur, dobór mocy i minimalizuje ryzyko błędów montażowych.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie: który system wybrać?</h2>



<p class="wp-block-paragraph"><strong>Wybierz system mokry, jeśli:</strong></p>



<ul class="wp-block-list">
<li>Budujesz dom od podstaw,</li>



<li>Zależy Ci na wysokiej efektywności energetycznej,</li>



<li>Masz niskotemperaturowe źródło ciepła (np. pompa ciepła).</li>
</ul>



<p class="wp-block-paragraph"><strong>Wybierz system suchy, jeśli:</strong></p>



<ul class="wp-block-list">
<li>Robisz remont i nie chcesz podnosić podłogi,</li>



<li>Potrzebujesz szybkiego montażu,</li>



<li>Mieszkasz w domu z lekkim stropem.</li>
</ul>



<p class="wp-block-paragraph">Oba systemy mają swoje zastosowanie – kluczowe jest dopasowanie rozwiązania do Twoich potrzeb i warunków budowlanych. Jeśli masz wątpliwości, skonsultuj się z profesjonalnym projektantem, który pomoże podjąć najlepszą decyzję.</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="E2Us4pO8LW"><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=ZCPtYfaBnS#?secret=E2Us4pO8LW" data-secret="E2Us4pO8LW" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/system-mokry-czy-suchy-w-wodnym-ogrzewaniu-podlogowym-ktory-wybrac/">System mokry czy suchy w wodnym ogrzewaniu podłogowym – który wybrać?</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>Jak gęsto rozkładać podłogówkę?</title>
		<link>https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/</link>
					<comments>https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 24 Jan 2025 09:26:29 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Ekologiczne ogrzewanie]]></category>
		<category><![CDATA[Izolacja budynków]]></category>
		<category><![CDATA[Komfort cieplny w domu]]></category>
		<category><![CDATA[Koszty instalacji grzewczych]]></category>
		<category><![CDATA[Nowoczesne systemy grzewcze]]></category>
		<category><![CDATA[Ogrzewanie niskotemperaturowe]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Rozstaw rur w podłogówce]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[ekologiczne systemy grzewcze]]></category>
		<category><![CDATA[izolacja budynku]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[koszty instalacji]]></category>
		<category><![CDATA[niskotemperaturowe ogrzewanie]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2015</guid>

					<description><![CDATA[<p>Jak gęsto rozkładać podłogówkę? To pytanie nurtuje wielu inwestorów planujących instalację ogrzewania podłogowego. Rozstaw rur zależy od wielu czynników, takich jak typ pomieszczenia, izolacja budynku czy rodzaj posadzki. W artykule wyjaśniamy, jak dobrać optymalny rozstaw rur, aby zapewnić efektywność systemu i komfort cieplny. Dowiedz się, jakie są najczęściej stosowane rozstawy i jak wpływają one na koszty oraz wydajność ogrzewania.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/">Jak gęsto rozkładać podłogówkę?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-hero-dark: #0f172a;
    --rk-hero-darker: #020617;
    --rk-hero-brand: #ea580c; /* Ciepły, energetyczny pomarańcz */
    --rk-hero-brand-hover: #c2410c;
    --rk-hero-accent: #38bdf8; /* Zimny błękit dla kontrastu (strefy chłodu) */
    --rk-hero-text: #f8fafc;
    --rk-hero-muted: #94a3b8;
    --rk-hero-panel: #1e293b;
    --rk-hero-border: #334155;
    --rk-hero-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.rk-hero-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-hero-dark);
    border-radius: 24px;
    box-shadow: var(--rk-hero-shadow);
    border: 1px solid var(--rk-hero-border);
    overflow: hidden;
    color: var(--rk-hero-text);
}

/* Sekcja Treściowa (Wstęp) */
.rk-hero-content {
    padding: 50px 50px 35px;
    background: linear-gradient(135deg, var(--rk-hero-darker) 0%, var(--rk-hero-dark) 100%);
    position: relative;
    border-bottom: 1px solid var(--rk-hero-border);
}

.rk-hero-content::after {
    content: '';
    position: absolute;
    top: 0; right: 0; width: 50%; height: 100%;
    background: radial-gradient(circle at top right, rgba(234, 88, 12, 0.15) 0%, transparent 60%);
    pointer-events: none;
}

.rk-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(234, 88, 12, 0.2);
    color: #fdba74;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(234, 88, 12, 0.3);
}

.rk-hero-title {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.25;
    margin: 0 0 25px 0;
    letter-spacing: -0.5px;
}

.rk-hero-title span {
    background: linear-gradient(to right, #fb923c, #ea580c);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.rk-hero-lead {
    font-size: 17px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

.rk-hero-link {
    color: #fb923c;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(251, 146, 60, 0.5);
    transition: all 0.3s ease;
}

.rk-hero-link:hover {
    color: #fdba74;
    border-bottom-style: solid;
    text-shadow: 0 0 10px rgba(234, 88, 12, 0.4);
}

/* Moduł Interaktywny: Symulator Rozstawu */
.rk-hero-interactive {
    padding: 40px 50px;
    background: var(--rk-hero-panel);
}

.rk-hero-h3 {
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 30px 0;
    text-align: center;
    color: #ffffff;
}

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

/* Controls */
.rk-controls-box {
    background: rgba(15, 23, 42, 0.6);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-hero-border);
}

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

.rk-slider-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-hero-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-slider-value {
    font-size: 24px;
    font-weight: 900;
    color: #ffffff;
    background: var(--rk-hero-dark);
    padding: 5px 15px;
    border-radius: 8px;
    border: 1px solid var(--rk-hero-border);
}

/* Custom Range Slider */
.rk-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #334155;
    border-radius: 4px;
    outline: none;
    margin: 20px 0;
}

.rk-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--rk-hero-brand);
    cursor: pointer;
    transition: transform 0.1s;
    box-shadow: 0 0 15px rgba(234, 88, 12, 0.5);
}

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

/* Data Output Cards */
.rk-metrics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 25px;
}

.rk-metric-card {
    background: var(--rk-hero-dark);
    padding: 15px;
    border-radius: 12px;
    text-align: center;
    border: 1px solid var(--rk-hero-border);
    transition: all 0.3s;
}

.rk-metric-title {
    font-size: 12px;
    color: var(--rk-hero-muted);
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 8px;
}

.rk-metric-val {
    font-size: 18px;
    font-weight: 900;
    color: #ffffff;
}

/* SVG WIZUALIZACJA */
.rk-visual-box {
    background: #000000;
    border-radius: 16px;
    padding: 20px;
    border: 2px solid var(--rk-hero-border);
    position: relative;
    overflow: hidden;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-floor-svg {
    width: 100%;
    height: 100%;
    max-width: 500px;
}

/* SVG Elements */
.rk-svg-concrete { fill: #1e293b; }
.rk-svg-pipe { fill: #ef4444; stroke: #991b1b; stroke-width: 2; transition: cx 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.rk-svg-heat-wave { fill: url(#heatGradient); opacity: 0; transition: opacity 0.3s; }
.rk-svg-cold-wave { fill: url(#coldGradient); opacity: 0; transition: opacity 0.3s; }

/* Dynamic Status Alert */
.rk-status-alert {
    margin-top: 20px;
    padding: 15px 20px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: all 0.3s;
}

@media (max-width: 768px) {
    .rk-hero-content, .rk-hero-interactive { padding: 30px 25px; }
    .rk-hero-title { font-size: 26px; }
    .rk-metrics-grid { grid-template-columns: 1fr; }
    .rk-visual-box { height: 160px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Jak gęsto rozkładać podłogówkę? Inżynierski przewodnik po rozstawie rur",
    "description": "Zły rozstaw rur generuje straty finansowe i efekt zimnych stref. Poznaj twarde dane projektowe oparte na europejskich normach i dobierz gęstość pętli do pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset",
    "name": "Wpływ rozstawu rur na rozkład temperatur posadzki i wydajność źródła ciepła",
    "description": "Baza danych symulacyjnych obrazująca zależność pomiędzy gęstością ułożenia rur (krok 10, 15, 20, 30 cm) a zjawiskiem zebry termicznej oraz sprawnością COP pompy ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak gęsto rozkładać podłogówkę",
      "rozstaw rur a pompa ciepła",
      "zimne strefy podłogówki",
      "efekt zebry termicznej",
      "wydajność pompy ciepła"
    ],
    "measurementTechnique": "Symulacja rozkładu izoterm w jastrychu w zależności od gęstości pętli grzewczych oparta na PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw 10 cm: Idealny dla pomp ciepła (najwyższy COP), brak zimnych stref.",
        "Rozstaw 15 cm: Standard inżynierski dla dobrze izolowanych domów (Złoty środek).",
        "Rozstaw > 20 cm: Ryzyko zebry termicznej, drastyczny spadek sprawności systemu niskotemperaturowego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp",
    "name": "Kalkulator Wizualny: Gęstość Podłogówki a Zebra Termiczna",
    "description": "Interaktywny symulator SVG demonstrujący na żywo powstawanie stref chłodu, rozkład rur PEX oraz spadek wydajności źródła ciepła przy błędnym rozstawie.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 Range Inputs and SVG support.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA INTRO
=========================================== -->
<div class="rk-hero-container" id="rk-intro-app">
    <!-- Sekcja Tekstowa -->
    <div class="rk-hero-content">
        <div class="rk-hero-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            Inżynierski Przewodnik
        </div>
        <h2 class="rk-hero-title">Jak gęsto rozkładać podłogówkę? <span>Koniec z mitami instalatorów</span></h2>
        <p class="rk-hero-lead">
            Decydując się na montaż wodnego ogrzewania podłogowego, kluczowym pytaniem każdego inwestora jest: jak gęsto rozkładać podłogówkę, aby system działał efektywnie i oszczędnie? Zły rozstaw rur grzewczych generuje potężne <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/" class="rk-hero-link">straty finansowe</a>, niedogrzanie pomieszczeń lub uciążliwy <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/" class="rk-hero-link">efekt &#8222;zimnych stref&#8221;</a>. Prawidłowe zagęszczenie pętli to fundament, który decyduje o sprawności <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-hero-link">pompy ciepła</a> oraz komforcie termicznym domowników. W tym inżynierskim przewodniku obalam instalatorskie mity i podaję twarde dane projektowe oparte na <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" class="rk-hero-link">europejskich normach</a>, które pozwolą Ci uniknąć kosztownych błędów wykonawczych na Twojej budowie.
        </p>
    </div>

    <!-- Sekcja Interaktywna -->
    <div class="rk-hero-interactive">
        <h3 class="rk-hero-h3">Symulator OZC: Zobacz, co się dzieje pod Twoją posadzką</h3>
        
        <div class="rk-sim-layout">
            <!-- Interfejs suwaka -->
            <div class="rk-controls-box">
                <div class="rk-slider-header">
                    <span class="rk-slider-label">Ustaw projektowany rozstaw rur</span>
                    <span class="rk-slider-value" id="rk-spacing-val">15 cm</span>
                </div>
                <input type="range" class="rk-range" id="rk-spacing-slider" min="10" max="30" step="5" value="15">
                
                <div class="rk-metrics-grid">
                    <div class="rk-metric-card" id="card-temp">
                        <div class="rk-metric-title">Wymagane Zasilanie</div>
                        <div class="rk-metric-val" id="rk-out-temp">32°C</div>
                    </div>
                    <div class="rk-metric-card" id="card-cop">
                        <div class="rk-metric-title">Wydajność COP</div>
                        <div class="rk-metric-val" id="rk-out-cop" style="color: #10b981;">Wysoka</div>
                    </div>
                    <div class="rk-metric-card" id="card-pipe">
                        <div class="rk-metric-title">Rura na m²</div>
                        <div class="rk-metric-val" id="rk-out-pipe">6.6 mb</div>
                    </div>
                </div>

                <div class="rk-status-alert" id="rk-alert-box" style="background: rgba(16, 185, 129, 0.1); color: #34d399; border: 1px solid #059669;">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <span>Standard inżynierski. Złoty środek dla nowych budynków.</span>
                </div>
            </div>

            <!-- Wizualizacja SVG -->
            <div class="rk-visual-box">
                <svg class="rk-floor-svg" viewBox="0 0 400 120" preserveAspectRatio="xMidYMid meet">
                    <defs>
                        <!-- Gradienty emisji ciepła -->
                        <radialGradient id="heatGradient" cx="50%" cy="50%" r="50%">
                            <stop offset="0%" stop-color="#ea580c" stop-opacity="0.8"/>
                            <stop offset="100%" stop-color="#ea580c" stop-opacity="0"/>
                        </radialGradient>
                        <linearGradient id="coldGradient" x1="0%" y1="0%" x2="100%" y2="0%">
                            <stop offset="0%" stop-color="#0284c7" stop-opacity="0.5"/>
                            <stop offset="50%" stop-color="#0284c7" stop-opacity="0"/>
                            <stop offset="100%" stop-color="#0284c7" stop-opacity="0.5"/>
                        </linearGradient>
                    </defs>

                    <!-- Jastrych (Beton) -->
                    <rect x="0" y="20" width="400" height="80" class="rk-svg-concrete" rx="4"/>
                    
                    <!-- Warstwa powłoki chłodnej (widoczna przy rzadkim rozstawie) -->
                    <rect id="rk-svg-cold" x="0" y="20" width="400" height="80" class="rk-svg-cold-wave" rx="4"/>

                    <!-- Warstwa powłoki ciepłej (widoczna przy gęstym rozstawie) -->
                    <rect id="rk-svg-hot" x="0" y="20" width="400" height="80" fill="#ea580c" opacity="0.4" style="transition: opacity 0.4s;"/>

                    <!-- Pętle Rur - Dynamika X zależy od JS -->
                    <g id="rk-pipes-group">
                        <circle class="rk-svg-pipe" cx="50" cy="60" r="10" />
                        <circle class="rk-svg-pipe" cx="125" cy="60" r="10" />
                        <circle class="rk-svg-pipe" cx="200" cy="60" r="10" />
                        <circle class="rk-svg-pipe" cx="275" cy="60" r="10" />
                        <circle class="rk-svg-pipe" cx="350" cy="60" r="10" />
                    </g>
                    
                    <!-- Kafelki na górze -->
                    <path d="M 0 20 L 400 20" stroke="#64748b" stroke-width="4"/>
                    <line x1="80" y1="16" x2="80" y2="20" stroke="#64748b" stroke-width="4"/>
                    <line x1="160" y1="16" x2="160" y2="20" stroke="#64748b" stroke-width="4"/>
                    <line x1="240" y1="16" x2="240" y2="20" stroke="#64748b" stroke-width="4"/>
                    <line x1="320" y1="16" x2="320" y2="20" stroke="#64748b" stroke-width="4"/>
                </svg>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie domeny
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-intro-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; border-radius:20px; border: 2px solid #ef4444; color:#f8fafc; font-family:sans-serif;">
                <div style="font-size: 40px; margin-bottom: 15px;">🛑</div>
                <div style="color:#ef4444; font-size:20px; font-weight:900; text-transform:uppercase; margin-bottom:10px;">Blokada Antypiracka</div>
                <div style="font-size:15px; color:#cbd5e1; line-height:1.6;">Kod symulatora przestrzennego oraz struktury JSON-LD należy do Projekt-Ogrzewania.pl. Wykryto użycie na nieautoryzowanej domenie.</div>
            </div>
        `;
        return;
    }

    // 2. Logika Symulatora
    const slider = document.getElementById('rk-spacing-slider');
    const valText = document.getElementById('rk-spacing-val');
    
    // SVG Elements
    const pipes = document.querySelectorAll('.rk-svg-pipe');
    const layerCold = document.getElementById('rk-svg-cold');
    const layerHot = document.getElementById('rk-svg-hot');
    
    // Output Elements
    const outTemp = document.getElementById('rk-out-temp');
    const outCop = document.getElementById('rk-out-cop');
    const outPipe = document.getElementById('rk-out-pipe');
    
    const alertBox = document.getElementById('rk-alert-box');
    const alertIcon = alertBox.querySelector('svg');
    const alertText = alertBox.querySelector('span');

    // SVG Base dimensions: center is 200. Total width 400.
    // 5 pipes: index 0 to 4. Middle is index 2.
    
    function updateSimulation() {
        const spacing = parseInt(slider.value);
        valText.textContent = spacing + ' cm';
        
        // Obliczenia rur
        let reqTemp, copStat, copColor, pipeUsage, alertMsg, alertBg, alertBorder, alertColor;
        let iconHTML = '';

        // Skala w SVG (odległość w pikselach między rurami). Zależy od wybranego rozstawu.
        // Jeśli 10cm to np. 50px dystansu. 30cm to 150px dystansu.
        const pixelSpacing = spacing * 5; 
        
        pipes.forEach((pipe, i) => {
            // Środek to rura [2]. Jej cx = 200.
            const offset = (i - 2) * pixelSpacing;
            pipe.setAttribute('cx', 200 + offset);
        });

        // Logika fizyki
        if (spacing === 10) {
            reqTemp = "29°C";
            copStat = "Maksymalna";
            copColor = "#10b981"; // zielony
            pipeUsage = "10.0 mb";
            
            layerCold.style.opacity = "0";
            layerHot.style.opacity = "0.7";
            
            alertBg = "rgba(16, 185, 129, 0.1)";
            alertBorder = "#059669";
            alertColor = "#34d399";
            alertMsg = "Ideały pod Pompę Ciepła. Najniższe rachunki i równomierne ciepło.";
            iconHTML = '<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline>';
            
        } else if (spacing === 15) {
            reqTemp = "32°C";
            copStat = "Optymalna";
            copColor = "#38bdf8"; // niebieski jasny
            pipeUsage = "6.6 mb";
            
            layerCold.style.opacity = "0";
            layerHot.style.opacity = "0.4";

            alertBg = "rgba(56, 189, 248, 0.1)";
            alertBorder = "#0284c7";
            alertColor = "#7dd3fc";
            alertMsg = "Złoty standard inżynierski dla dobrze izolowanych budynków.";
            iconHTML = '<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline>';

        } else if (spacing === 20) {
            reqTemp = "37°C";
            copStat = "Średnia";
            copColor = "#fbbf24"; // żółty
            pipeUsage = "5.0 mb";
            
            layerCold.style.opacity = "0.4";
            layerHot.style.opacity = "0.1";

            alertBg = "rgba(251, 191, 36, 0.1)";
            alertBorder = "#d97706";
            alertColor = "#fcd34d";
            alertMsg = "Dopuszczalne tylko w sypialniach. W salonie może powodować niedogrzanie.";
            iconHTML = '<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>';

        } else {
            // 25 - 30 cm
            reqTemp = "45°C+";
            copStat = "Drastyczny spadek";
            copColor = "#ef4444"; // czerwony
            pipeUsage = (100 / spacing).toFixed(1) + " mb";
            
            layerCold.style.opacity = "0.8"; // Mocna zebra
            layerHot.style.opacity = "0";

            alertBg = "rgba(239, 68, 68, 0.1)";
            alertBorder = "#b91c1c";
            alertColor = "#fca5a5";
            alertMsg = "BŁĄD: Zebra termiczna! Zimne pasy na podłodze i zarzynanie sprężarki pompy.";
            iconHTML = '<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line>';
        }

        // Apply changes
        outTemp.textContent = reqTemp;
        outCop.textContent = copStat;
        outCop.style.color = copColor;
        outPipe.textContent = pipeUsage;

        alertBox.style.background = alertBg;
        alertBox.style.borderColor = alertBorder;
        alertBox.style.color = alertColor;
        alertText.textContent = alertMsg;
        alertIcon.innerHTML = iconHTML;
    }

    // Init and listeners
    slider.addEventListener('input', updateSimulation);
    // Call once to set default visual state
    updateSimulation();
});
</script>



<style>
:root {
    --rk-zone-dark: #0f172a;
    --rk-zone-darker: #020617;
    --rk-zone-brand: #3b82f6; /* Techniczny niebieski */
    --rk-zone-accent-10: #ef4444; /* Czerwony - gorąco */
    --rk-zone-accent-15: #10b981; /* Zielony - optymalnie */
    --rk-zone-accent-20: #0ea5e9; /* Błękit - chłodniej */
    --rk-zone-bg: #f8fafc;
    --rk-zone-card: #ffffff;
    --rk-zone-text: #334155;
    --rk-zone-muted: #64748b;
    --rk-zone-border: #e2e8f0;
}

.rk-zone-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-zone-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-zone-border);
    overflow: hidden;
}

/* Header */
.rk-zone-header {
    background: var(--rk-zone-dark);
    padding: 45px 50px;
    color: #ffffff;
    position: relative;
}

.rk-zone-header::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0; height: 4px;
    background: linear-gradient(90deg, var(--rk-zone-accent-10) 0%, var(--rk-zone-accent-15) 50%, var(--rk-zone-accent-20) 100%);
}

.rk-zone-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(59, 130, 246, 0.3);
}

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

.rk-zone-lead {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-link {
    color: #60a5fa;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(96, 165, 250, 0.5);
    transition: all 0.3s;
}

.rk-link:hover {
    color: #93c5fd;
    border-bottom-style: solid;
}

/* Interfejs */
.rk-zone-interactive {
    padding: 40px 50px;
}

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

/* Selektor Rozstawu (Tabs) */
.rk-tabs-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 35px;
}

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

.rk-tab-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
}

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

.rk-tab-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-zone-muted);
    text-transform: uppercase;
    text-align: center;
}

/* Aktywne stany zakładek */
.rk-tab-btn[data-zone="10"].active { border-color: var(--rk-zone-accent-10); background: #fef2f2; }
.rk-tab-btn[data-zone="10"].active .rk-tab-val { color: var(--rk-zone-accent-10); }

.rk-tab-btn[data-zone="15"].active { border-color: var(--rk-zone-accent-15); background: #f0fdf4; }
.rk-tab-btn[data-zone="15"].active .rk-tab-val { color: var(--rk-zone-accent-15); }

.rk-tab-btn[data-zone="20"].active { border-color: var(--rk-zone-accent-20); background: #f0f9ff; }
.rk-tab-btn[data-zone="20"].active .rk-tab-val { color: var(--rk-zone-accent-20); }

/* Główny panel danych i SVG */
.rk-panel-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: stretch;
}

/* Karta z tekstem dynamicznym */
.rk-data-card {
    background: var(--rk-zone-card);
    border-radius: 20px;
    padding: 30px;
    border: 1px solid var(--rk-zone-border);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dyn-title {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-dyn-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-zone-text);
    margin: 0 0 20px 0;
}

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

.rk-metric-item {
    background: var(--rk-zone-bg);
    padding: 15px;
    border-radius: 12px;
    border: 1px solid var(--rk-zone-border);
}

.rk-metric-lbl {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-zone-muted);
    margin-bottom: 5px;
    text-transform: uppercase;
}

.rk-metric-val-s {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-zone-dark);
}

/* Wizualizacja SVG */
.rk-svg-wrapper {
    background: var(--rk-zone-dark);
    border-radius: 20px;
    padding: 20px;
    border: 1px solid var(--rk-zone-darker);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.8);
}

.rk-svg-scene {
    width: 100%;
    height: auto;
    max-width: 400px;
}

/* Elementy SVG z animacjami */
.rk-pipe { transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); fill: #e2e8f0; stroke: #475569; stroke-width: 2; }
.rk-heat-layer { transition: opacity 0.5s, fill 0.5s; opacity: 0; }
.rk-zebra-layer { transition: opacity 0.5s; fill: url(#zebraGradient); opacity: 0; }
.rk-heat-wave { stroke-dasharray: 10 15; animation: riseUp 2s linear infinite; opacity: 0.7; transition: stroke 0.5s; }

@keyframes riseUp { to { stroke-dashoffset: -25; } }

/* Klasy stanów dla SVG */
.state-10 .rk-pipe-group-10 .rk-pipe { fill: #ef4444; stroke: #991b1b; }
.state-10 .rk-pipe-group-15 { opacity: 0; transform: scale(0); }
.state-10 .rk-pipe-group-20 { opacity: 0; transform: scale(0); }
.state-10 .rk-heat-layer { opacity: 0.8; fill: url(#heatGradientHot); }
.state-10 .rk-heat-wave { stroke: #ef4444; }

.state-15 .rk-pipe-group-10 { opacity: 0; transform: scale(0); }
.state-15 .rk-pipe-group-15 .rk-pipe { fill: #10b981; stroke: #047857; }
.state-15 .rk-pipe-group-20 { opacity: 0; transform: scale(0); }
.state-15 .rk-heat-layer { opacity: 0.6; fill: url(#heatGradientOpti); }
.state-15 .rk-heat-wave { stroke: #10b981; }

.state-20 .rk-pipe-group-10 { opacity: 0; transform: scale(0); }
.state-20 .rk-pipe-group-15 { opacity: 0; transform: scale(0); }
.state-20 .rk-pipe-group-20 .rk-pipe { fill: #0ea5e9; stroke: #0369a1; }
.state-20 .rk-heat-layer { opacity: 0.3; fill: url(#heatGradientCool); }
.state-20 .rk-zebra-layer { opacity: 1; } /* Włączenie zebry termicznej */
.state-20 .rk-heat-wave { stroke: #0ea5e9; }

@media (max-width: 768px) {
    .rk-zone-header, .rk-zone-interactive { padding: 30px 20px; }
    .rk-tabs-wrapper { grid-template-columns: 1fr; gap: 10px; }
    .rk-panel-grid { grid-template-columns: 1fr; }
    .rk-tab-btn { flex-direction: row; justify-content: center; padding: 15px; }
    .rk-svg-wrapper { height: 200px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-pokoje",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Jak gęsto rozkładać podłogówkę w standardowych pomieszczeniach mieszkalnych?",
    "description": "Zasady doboru rozstawu rur (10 cm, 15 cm, 20 cm) według normy PN-EN 1264. Poznaj optymalne gęstości dla łazienek, salonów i sypialni pod pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-pokoje",
    "name": "Normy rozstawu rur wg PN-EN 1264 i PN-EN 12831",
    "description": "Zestawienie parametrów projektowych określających wymaganą gęstość pętli grzewczych w zależności od specyfiki i zapotrzebowania cieplnego pomieszczenia.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozstaw rur podłogówki",
      "co 10 cm czy 15 cm",
      "strefa brzegowa podłogówki",
      "temperatura zasilania pompy ciepła",
      "obliczenia OZC"
    ],
    "measurementTechnique": "Analiza zapotrzebowania cieplnego w oparciu o europejskie normy inżynierskie i charakterystykę cieplną budynków.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Łazienki i strefy brzegowe: Wymagany rozstaw co 10 cm dla zapotrzebowania >70 W/m².",
        "Salony i kuchnie: Optymalny rozstaw co 15 cm dla zasilania pompy ciepła temp. 35°C.",
        "Sypialnie i garderoby: Dopuszczalny rozstaw co 20 cm wyłącznie przy zapotrzebowaniu <30 W/m²."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp-pokoje",
    "name": "Wizualizator Gęstości Pętli Grzewczych",
    "description": "Interaktywny panel demonstrujący różnice w rozstawie rur (10, 15, 20 cm) i ich wpływ na wydajność systemu podłogowego w różnych strefach domu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 SVG support.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA 
=========================================== -->
<div class="rk-zone-container" id="rk-zone-app">
    <!-- Nagłówek i Wstęp -->
    <div class="rk-zone-header">
        <div class="rk-zone-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Inżynieria w praktyce
        </div>
        <h2 class="rk-zone-title">Jak gęsto rozkładać podłogówkę w pomieszczeniach?</h2>
        <p class="rk-zone-lead">
            Zgodnie z normą <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" class="rk-link">PN-EN 1264</a>, wybór odległości między rurami nie może być dziełem przypadku ani "intuicji" instalatora. Dla nowoczesnych budynków o zapotrzebowaniu na energię poniżej 40 W/m² uniwersalnym krokiem jest 15 cm. Poniżej zobaczysz, jak dobierać rozstaw w zależności od strefy w domu, aby maksymalnie wykorzystać potencjał pompy ciepła.
        </p>
    </div>

    <!-- Sekcja Interaktywna -->
    <div class="rk-zone-interactive">
        <h3 class="rk-zone-h3">Wybierz strefę i sprawdź optymalny krok (rozstaw) rur</h3>
        
        <!-- Tab Controls -->
        <div class="rk-tabs-wrapper">
            <div class="rk-tab-btn active" data-zone="10">
                <span class="rk-tab-val">10 cm</span>
                <span class="rk-tab-label">Łazienki & Strefy Brzegowe</span>
            </div>
            <div class="rk-tab-btn" data-zone="15">
                <span class="rk-tab-val">15 cm</span>
                <span class="rk-tab-label">Salony & Kuchnie (Optimum)</span>
            </div>
            <div class="rk-tab-btn" data-zone="20">
                <span class="rk-tab-val">20 cm</span>
                <span class="rk-tab-label">Sypialnie & Pomocnicze</span>
            </div>
        </div>

        <!-- Panel Danych i SVG -->
        <div class="rk-panel-grid">
            
            <!-- Dynamiczny Tekst -->
            <div class="rk-data-card" id="rk-dyn-content">
                <!-- Treść ładuje się przez JS -->
            </div>

            <!-- SVG Wizualizacja -->
            <div class="rk-svg-wrapper state-10" id="rk-svg-stage">
                <svg class="rk-svg-scene" viewBox="0 0 300 120">
                    <defs>
                        <!-- Gradienty dla jastrychu -->
                        <linearGradient id="heatGradientHot" x1="0" y1="1" x2="0" y2="0">
                            <stop offset="0%" stop-color="#ef4444" stop-opacity="0.8"/>
                            <stop offset="100%" stop-color="#ef4444" stop-opacity="0"/>
                        </linearGradient>
                        <linearGradient id="heatGradientOpti" x1="0" y1="1" x2="0" y2="0">
                            <stop offset="0%" stop-color="#10b981" stop-opacity="0.6"/>
                            <stop offset="100%" stop-color="#10b981" stop-opacity="0"/>
                        </linearGradient>
                        <linearGradient id="heatGradientCool" x1="0" y1="1" x2="0" y2="0">
                            <stop offset="0%" stop-color="#0ea5e9" stop-opacity="0.4"/>
                            <stop offset="100%" stop-color="#0ea5e9" stop-opacity="0"/>
                        </linearGradient>
                        <!-- Zebra termiczna (naprzemienne zimne/ciepłe pasy dla 20cm) -->
                        <linearGradient id="zebraGradient" x1="0" y1="0" x2="1" y2="0">
                            <stop offset="10%" stop-color="#0ea5e9" stop-opacity="0.6"/>
                            <stop offset="30%" stop-color="#020617" stop-opacity="0.2"/>
                            <stop offset="50%" stop-color="#0ea5e9" stop-opacity="0.6"/>
                            <stop offset="70%" stop-color="#020617" stop-opacity="0.2"/>
                            <stop offset="90%" stop-color="#0ea5e9" stop-opacity="0.6"/>
                        </linearGradient>
                    </defs>

                    <!-- Wylewka tło -->
                    <rect x="0" y="40" width="300" height="60" fill="#1e293b" rx="4"/>
                    
                    <!-- Warstwy cieplne -->
                    <rect class="rk-zebra-layer" x="0" y="40" width="300" height="60" rx="4"/>
                    <rect class="rk-heat-layer" x="0" y="40" width="300" height="60" rx="4"/>

                    <!-- Fale konwekcji -->
                    <path class="rk-heat-wave" d="M 50 35 Q 50 10 40 5 M 150 35 Q 150 10 160 5 M 250 35 Q 250 10 240 5" fill="none" stroke-width="3" stroke-linecap="round"/>

                    <!-- Rury 10 cm (Zagęszczone - 7 rur) -->
                    <g class="rk-pipe-group-10">
                        <circle class="rk-pipe" cx="30" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="70" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="110" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="150" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="190" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="230" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="270" cy="70" r="8"/>
                    </g>

                    <!-- Rury 15 cm (Złoty środek - 5 rur) -->
                    <g class="rk-pipe-group-15">
                        <circle class="rk-pipe" cx="30" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="90" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="150" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="210" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="270" cy="70" r="8"/>
                    </g>

                    <!-- Rury 20 cm (Rzadkie - 4 rury) -->
                    <g class="rk-pipe-group-20">
                        <circle class="rk-pipe" cx="45" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="115" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="185" cy="70" r="8"/>
                        <circle class="rk-pipe" cx="255" cy="70" r="8"/>
                    </g>

                    <!-- Wykończenie podłogi -->
                    <path d="M 0 40 L 300 40" stroke="#64748b" stroke-width="4"/>
                    <line x1="100" y1="36" x2="100" y2="40" stroke="#64748b" stroke-width="4"/>
                    <line x1="200" y1="36" x2="200" y2="40" stroke="#64748b" stroke-width="4"/>
                </svg>
            </div>

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

<!-- Logika JS -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie Domeny
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-zone-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; border-radius:24px; border:2px solid #ef4444; color:#fff; font-family:sans-serif; margin: 40px auto; max-width:800px;">
                <div style="font-size: 40px; margin-bottom: 15px;">🛑</div>
                <div style="color:#ef4444; font-size:22px; font-weight:900; margin-bottom: 10px; text-transform:uppercase;">Naruszenie Praw Autorskich</div>
                <div style="color:#cbd5e1; font-size:15px; line-height:1.6;">Skrypt interaktywny i struktura JSON-LD są własnością Projekt-Ogrzewania.pl. Wykryto próbę kradzieży.</div>
            </div>
        `;
        return;
    }

    // Dane do wstrzykiwania
    const zoneData = {
        "10": {
            title: "Strefy intensywne i łazienki",
            color: "var(--rk-zone-accent-10)",
            desc: "Zagęszczenie do 10 cm stosuje się tam, gdzie zapotrzebowanie na ciepło przekracza <strong>70 W/m²</strong> (wg PN-EN 12831). Łazienka wymaga 24°C, a wolna powierzchnia podłogi jest ograniczona. Ten krok jest również obligatoryjny w <a href='https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/' class='rk-link'>strefach brzegowych</a> przy dużych oknach.",
            metric1Lbl: "Moc Grzewcza",
            metric1Val: "> 70 W/m²",
            metric2Lbl: "Temp. Wewnętrzna",
            metric2Val: "24°C"
        },
        "15": {
            title: "Złoty środek dla pomp ciepła",
            color: "var(--rk-zone-accent-15)",
            desc: "Absolutny standard inżynierski w pokojach dziennych, salonach i kuchniach. Uzyskujemy równomierny rozkład temperatur, eliminując pasy termiczne. To <a href='https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/' class='rk-link'>optymalny rozstaw dla układów zasilanych pompą ciepła</a>, gwarantujący wysoką wydajność przy zasilaniu na poziomie ok. 35°C.",
            metric1Lbl: "Moc Grzewcza",
            metric1Val: "40 - 60 W/m²",
            metric2Lbl: "Temp. Zasilania",
            metric2Val: "ok. 35°C"
        },
        "20": {
            title: "Sypialnie i pom. pomocnicze",
            color: "var(--rk-zone-accent-20)",
            desc: "Rozstaw dopuszczalny wyłącznie przy zapotrzebowaniu <a href='https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/' class='rk-link'>OZC poniżej 30 W/m²</a>. Idealny do sypialni (18-20°C). Zwiększenie odległości do 20 cm w słabo zaizolowanym salonie grozi drastycznym niedogrzaniem i zniszczy efektywność ekonomiczną całej pompy ciepła.",
            metric1Lbl: "Moc Grzewcza",
            metric1Val: "< 30 W/m²",
            metric2Lbl: "Temp. Wewnętrzna",
            metric2Val: "18 - 20°C"
        }
    };

    const tabs = document.querySelectorAll('.rk-tab-btn');
    const dynContent = document.getElementById('rk-dyn-content');
    const svgStage = document.getElementById('rk-svg-stage');

    function renderContent(zone) {
        const data = zoneData[zone];
        
        dynContent.innerHTML = `
            <h4 class="rk-dyn-title" style="color: ${data.color}">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                ${data.title}
            </h4>
            <p class="rk-dyn-desc">${data.desc}</p>
            <div class="rk-metrics-mini">
                <div class="rk-metric-item">
                    <div class="rk-metric-lbl">${data.metric1Lbl}</div>
                    <div class="rk-metric-val-s">${data.metric1Val}</div>
                </div>
                <div class="rk-metric-item">
                    <div class="rk-metric-lbl">${data.metric2Lbl}</div>
                    <div class="rk-metric-val-s">${data.metric2Val}</div>
                </div>
            </div>
        `;

        // Update SVG state class
        svgStage.className = `rk-svg-wrapper state-${zone}`;
    }

    // Init click events
    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Remove active from all
            tabs.forEach(t => t.classList.remove('active'));
            // Add active to clicked
            this.classList.add('active');
            // Render specific data
            renderContent(this.getAttribute('data-zone'));
        });
    });

    // Default load (10cm active from HTML)
    renderContent("10");
});
</script>



<style>
:root {
    --rk-temp-dark: #1e293b;
    --rk-temp-darker: #0f172a;
    --rk-temp-brand: #f97316; /* Energetyczny pomarańcz ciepła */
    --rk-temp-brand-light: #ffedd5;
    --rk-temp-safe: #10b981; /* Zielony komfort */
    --rk-temp-warn: #eab308; /* Żółty - strefy specjalne */
    --rk-temp-danger: #ef4444; /* Czerwony - błąd fizjologiczny */
    --rk-temp-bg: #ffffff;
    --rk-temp-panel: #f8fafc;
    --rk-temp-border: #e2e8f0;
    --rk-temp-text: #334155;
    --rk-temp-muted: #64748b;
}

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

/* Nagłówek i Tekst Wstępny */
.rk-temp-header {
    background: linear-gradient(135deg, var(--rk-temp-darker) 0%, var(--rk-temp-dark) 100%);
    padding: 45px 50px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-temp-brand);
}

.rk-temp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(249, 115, 22, 0.2);
    color: #fdba74;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(249, 115, 22, 0.3);
}

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

.rk-temp-title span { color: #fb923c; }

.rk-temp-lead {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

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

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

/* Moduł Interaktywny */
.rk-temp-interactive {
    padding: 40px 50px;
    background: var(--rk-temp-panel);
}

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

.rk-sim-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: stretch;
}

/* Panel Kontrolny */
.rk-control-panel {
    background: #ffffff;
    padding: 30px;
    border-radius: 20px;
    border: 1px solid var(--rk-temp-border);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
}

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

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

.rk-slider-value {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-temp-dark);
    transition: color 0.3s;
}

/* Custom Range Slider */
.rk-range {
    -webkit-appearance: none;
    width: 100%;
    height: 10px;
    background: linear-gradient(90deg, #10b981 30%, #eab308 60%, #ef4444 90%);
    border-radius: 5px;
    outline: none;
    margin: 20px 0 30px 0;
}

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

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

/* Wyniki dynamiczne (Grid Kafelków) */
.rk-metrics-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: auto;
}

.rk-metric-box {
    background: var(--rk-temp-panel);
    padding: 15px;
    border-radius: 12px;
    border: 1px solid var(--rk-temp-border);
    text-align: center;
}

.rk-metric-lbl {
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-temp-muted);
    text-transform: uppercase;
    margin-bottom: 8px;
}

.rk-metric-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-temp-brand);
}

.rk-status-box {
    margin-top: 15px;
    padding: 15px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s;
}

/* Wizualizacja SVG */
.rk-visual-panel {
    background: var(--rk-temp-dark);
    border-radius: 20px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
    border: 2px solid var(--rk-temp-darker);
}

.rk-room-svg {
    width: 100%;
    height: 100%;
    max-width: 300px;
}

/* Stany Animacji SVG */
.rk-svg-floor { transition: fill 0.5s; }
.rk-svg-radiate { opacity: 0; transition: opacity 0.3s, fill 0.5s; }
.rk-heat-wave { stroke-dasharray: 10 15; animation: radiateUp 2s linear infinite; transition: stroke 0.5s; }

@keyframes radiateUp { to { stroke-dashoffset: -25; } }

/* Cytat inżynierski */
.rk-quote-section {
    padding: 35px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-temp-border);
}

.rk-quote-box {
    background: var(--rk-temp-brand-light);
    border-left: 5px solid var(--rk-temp-brand);
    padding: 25px 30px;
    border-radius: 0 16px 16px 0;
    margin-bottom: 25px;
}

.rk-quote-text {
    font-size: 16px;
    font-weight: 700;
    color: #7c2d12;
    margin: 0;
    line-height: 1.6;
}

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

@media (max-width: 768px) {
    .rk-temp-header, .rk-temp-interactive, .rk-quote-section { padding: 30px 20px; }
    .rk-sim-layout { grid-template-columns: 1fr; }
    .rk-metrics-grid { grid-template-columns: 1fr; }
    .rk-visual-panel { height: 220px; }
    .rk-slider-value { font-size: 28px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-temperatura",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Jaka jest maksymalna temperatura powierzchni podłogi według normy PN-EN 1264?",
    "description": "Limity fizjologiczne i techniczne temperatur w ogrzewaniu podłogowym. Emisja ciepła a projektowe obciążenie cieplne (OZC) – dowiedz się dlaczego podłoga nie może grzać mocniej niż 29°C.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-temperatura",
    "name": "Tabela Emisyjności Cieplnej Posadzki wg PN-EN 1264",
    "description": "Zestawienie maksymalnych wartości strumienia ciepła (W/m²) dla ogrzewania podłogowego w zależności od dopuszczalnych temperatur fizjologicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna temperatura podłogówki",
      "norma PN-EN 1264-2",
      "strumień ciepła podłogi",
      "fizjologia ogrzewania płaszczyznowego",
      "limity cieplne OZC"
    ],
    "measurementTechnique": "Obliczenia emisyjności w oparciu o różnicę temperatur między powietrzem a posadzką przy współczynniku przejmowania ciepła ok. 11 W/(m²K).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Strefa stałego przebywania: Max 29°C (Emisja graniczna: ~100 W/m² przy 20°C powietrza).",
        "Łazienki: Max 33°C (Emisja graniczna: ~90 W/m² przy 24°C powietrza).",
        "Strefy brzegowe przy oknach: Max 35°C."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp-temperatura",
    "name": "Symulator Komfortu Fizjologicznego Posadzki",
    "description": "Interaktywne narzędzie obliczeniowe korelujące temperaturę powierzchni posadzki z mocą emisyjną (W/m²) oraz ostrzeżeniami o przekroczeniu norm PN-EN 1264.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 input range support for real-time calculation.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA 
=========================================== -->
<div class="rk-temp-container" id="rk-temp-app">
    <!-- Nagłówek -->
    <div class="rk-temp-header">
        <div class="rk-temp-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
            Normy i Bezpieczeństwo
        </div>
        <h2 class="rk-temp-title">Jaka jest maksymalna temperatura podłogi <span>wg normy PN-EN 1264?</span></h2>
        <p class="rk-temp-lead">
            Norma ściśle ogranicza temperaturę gotowej posadzki do <strong>29°C w strefie stałego przebywania</strong> oraz do <strong>33°C w łazienkach</strong>. W <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/" class="rk-link">strefach brzegowych</a> dopuszcza się 35°C. Przekroczenie tych fizjologicznych granic prowadzi do problemów z krążeniem u domowników oraz uszkodzenia okładzin. Ogrzewanie podłogowe oddaje energię w 70% przez promieniowanie, co wymusza rygorystyczne limity.
        </p>
    </div>

    <!-- Moduł Interaktywny -->
    <div class="rk-temp-interactive">
        <h3 class="rk-temp-h3">Symulator Limitu Emisji (Założenie: Powietrze 20°C)</h3>
        
        <div class="rk-sim-layout">
            <!-- Kontrolki -->
            <div class="rk-control-panel">
                <div class="rk-slider-header">
                    <span class="rk-slider-label">Zadana Temperatura Posadzki</span>
                    <span class="rk-slider-value" id="rk-floor-val">24°C</span>
                </div>
                
                <input type="range" class="rk-range" id="rk-temp-slider" min="20" max="38" step="1" value="24">
                
                <div class="rk-metrics-grid">
                    <div class="rk-metric-box">
                        <div class="rk-metric-lbl">Wydajność Cieplna</div>
                        <div class="rk-metric-val" id="rk-emission-val">44 W/m²</div>
                    </div>
                    <div class="rk-metric-box">
                        <div class="rk-metric-lbl">Emisja Fali</div>
                        <div class="rk-metric-val" id="rk-radiation-val">70%</div>
                    </div>
                </div>

                <div class="rk-status-box" id="rk-alert-box">
                    <svg id="rk-alert-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"></svg>
                    <span id="rk-alert-text">Status optymalny</span>
                </div>
            </div>

            <!-- SVG -->
            <div class="rk-visual-panel">
                <svg class="rk-room-svg" viewBox="0 0 200 200">
                    <defs>
                        <radialGradient id="glowG" cx="50%" cy="100%" r="100%">
                            <stop offset="0%" stop-color="#10b981" stop-opacity="0.8"/>
                            <stop offset="100%" stop-color="#10b981" stop-opacity="0"/>
                        </radialGradient>
                        <radialGradient id="glowY" cx="50%" cy="100%" r="100%">
                            <stop offset="0%" stop-color="#eab308" stop-opacity="0.8"/>
                            <stop offset="100%" stop-color="#eab308" stop-opacity="0"/>
                        </radialGradient>
                        <radialGradient id="glowR" cx="50%" cy="100%" r="100%">
                            <stop offset="0%" stop-color="#ef4444" stop-opacity="0.9"/>
                            <stop offset="100%" stop-color="#ef4444" stop-opacity="0"/>
                        </radialGradient>
                    </defs>
                    
                    <!-- Termometr otoczenia -->
                    <path d="M 20 50 L 20 20 A 5 5 0 0 1 30 20 L 30 50 A 10 10 0 1 1 20 50 Z" fill="#334155"/>
                    <circle cx="25" cy="55" r="5" fill="#38bdf8"/>
                    <text x="40" y="58" font-size="12" fill="#cbd5e1" font-weight="bold">Powietrze: 20°C</text>

                    <!-- Promieniowanie i konwekcja -->
                    <rect id="rk-svg-glow" class="rk-svg-radiate" x="0" y="100" width="200" height="100" fill="url(#glowG)"/>
                    <path class="rk-heat-wave" id="rk-wave-1" d="M 50 140 Q 60 100 50 60" fill="none" stroke-width="3" stroke-linecap="round"/>
                    <path class="rk-heat-wave" id="rk-wave-2" d="M 100 140 Q 90 100 100 60" fill="none" stroke-width="3" stroke-linecap="round" style="animation-delay: 0.5s"/>
                    <path class="rk-heat-wave" id="rk-wave-3" d="M 150 140 Q 160 100 150 60" fill="none" stroke-width="3" stroke-linecap="round" style="animation-delay: 1s"/>

                    <!-- Posadzka -->
                    <path d="M 0 160 L 200 160" stroke="#cbd5e1" stroke-width="4"/>
                    <rect id="rk-svg-floor" class="rk-svg-floor" x="0" y="162" width="200" height="38" fill="#1e293b"/>
                    
                    <!-- Rury -->
                    <circle cx="40" cy="180" r="8" fill="#334155"/>
                    <circle cx="100" cy="180" r="8" fill="#334155"/>
                    <circle cx="160" cy="180" r="8" fill="#334155"/>
                </svg>
            </div>
        </div>
    </div>

    <!-- Wnioski / Cytat -->
    <div class="rk-quote-section">
        <div class="rk-quote-box">
            <p class="rk-quote-text">
                Ważny parametr inżynierski: Przy temperaturze powietrza 20°C i granicznej temperaturze podłogi 29°C, maksymalny strumień ciepła, jaki posadzka może fizycznie oddać do otoczenia, wynosi dokładnie 100 W/m². Dla łazienki (powietrze 24°C, podłoga 33°C) limit ten wynosi 90 W/m².
            </p>
        </div>
        <p class="rk-quote-sub">
            Jeśli z Twoich <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-link">wyliczeń OZC</a> wynika, że pomieszczenie traci więcej energii niż ten fizyczny limit emisyjny, zagęszczanie rur ponad normę nic nie da. Nie możesz podnieść temperatury podłogi do 38°C, bo wymusisz na domownikach życie w warunkach permanentnego dyskomfortu. Rozwiązaniem jest poprawa izolacji budynku (<a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/" class="rk-link">grubszy styropian</a>, szczelniejsze okna) lub montaż uzupełniającego źródła ciepła (np. grzejnika drabinkowego czy <a href="https://projekt-ogrzewania.pl/punkt-rosy-w-ogrzewaniu-podlogowym-jak-bezpiecznie-chlodzic-dom-bez-ryzyka-kondensacji/" class="rk-link">klimatyzacji</a>).
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie domeny
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-temp-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; border-radius:24px; border:2px solid #ef4444; color:#fff; font-family:sans-serif; margin: 40px auto; max-width:800px;">
                <div style="font-size: 40px; margin-bottom: 15px;">🛑</div>
                <div style="color:#ef4444; font-size:22px; font-weight:900; margin-bottom: 10px; text-transform:uppercase;">Naruszenie Licencji i Praw Autorskich</div>
                <div style="color:#cbd5e1; font-size:15px; line-height:1.6;">Kod symulatora fizjologicznego oraz baza JSON-LD należą do Projekt-Ogrzewania.pl. Użycie na tej domenie jest nielegalne.</div>
            </div>
        `;
        return;
    }

    // 2. Logika Symulatora
    const slider = document.getElementById('rk-temp-slider');
    const valText = document.getElementById('rk-floor-val');
    const emissionVal = document.getElementById('rk-emission-val');
    
    // Alert Box
    const alertBox = document.getElementById('rk-alert-box');
    const alertText = document.getElementById('rk-alert-text');
    const alertIcon = document.getElementById('rk-alert-icon');
    
    // SVG Elements
    const floor = document.getElementById('rk-svg-floor');
    const glow = document.getElementById('rk-svg-glow');
    const waves = document.querySelectorAll('.rk-heat-wave');

    // Wzór normowy uproszczony: q = 11.1 * (T_floor - T_air). Założenie T_air = 20°C
    const T_air = 20;

    function updateSim() {
        const temp = parseInt(slider.value);
        valText.textContent = temp + '°C';
        
        // Obliczenie strumienia cieplnego
        let emission = 0;
        if(temp > T_air) {
            emission = Math.round((temp - T_air) * 11.1);
        }
        emissionVal.textContent = emission + ' W/m²';

        let stateColor, statusBg, statusBorder, statusMsg, iconPath, glowUrl;

        // Logika normy
        if (temp >= 20 && temp <= 27) {
            stateColor = '#10b981'; // Green
            statusBg = 'rgba(16, 185, 129, 0.15)';
            statusBorder = '#059669';
            statusMsg = 'Komfort idealny. Brak uczucia "ciężkich nóg".';
            iconPath = '<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline>';
            glowUrl = 'url(#glowG)';
        } else if (temp > 27 && temp <= 29) {
            stateColor = '#3b82f6'; // Blue-ish limit
            statusBg = 'rgba(59, 130, 246, 0.15)';
            statusBorder = '#2563eb';
            statusMsg = 'Górna granica normy dla salonów (Max 29°C).';
            iconPath = '<circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line>';
            glowUrl = 'url(#glowG)';
        } else if (temp > 29 && temp <= 33) {
            stateColor = '#eab308'; // Yellow
            statusBg = 'rgba(234, 179, 8, 0.15)';
            statusBorder = '#ca8a04';
            statusMsg = 'Dopuszczalne tylko w łazienkach (Max 33°C).';
            iconPath = '<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>';
            glowUrl = 'url(#glowY)';
        } else if (temp > 33 && temp <= 35) {
            stateColor = '#f97316'; // Orange
            statusBg = 'rgba(249, 115, 22, 0.15)';
            statusBorder = '#ea580c';
            statusMsg = 'Strefy brzegowe pod oknami (Max 35°C).';
            iconPath = '<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon>';
            glowUrl = 'url(#glowY)';
        } else {
            // > 35
            stateColor = '#ef4444'; // Red
            statusBg = 'rgba(239, 68, 68, 0.15)';
            statusBorder = '#dc2626';
            statusMsg = 'NIEBEZPIECZEŃSTWO! Ryzyko żylaków i pękania posadzki.';
            iconPath = '<circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line>';
            glowUrl = 'url(#glowR)';
        }

        // Apply UI updates
        valText.style.color = stateColor;
        
        alertBox.style.background = statusBg;
        alertBox.style.borderColor = statusBorder;
        alertBox.style.color = statusBorder; // text match border
        alertText.textContent = statusMsg;
        alertIcon.innerHTML = iconPath;

        // Apply SVG updates
        floor.style.fill = stateColor;
        glow.style.fill = glowUrl;
        
        if(temp <= 20) {
            glow.style.opacity = 0;
            waves.forEach(w => w.style.opacity = 0);
        } else {
            glow.style.opacity = 1;
            waves.forEach(w => {
                w.style.opacity = 0.8;
                w.style.stroke = stateColor;
                // Wraz ze wzrostem temp, fale szybciej się ruszają (symulacja)
                let speed = 3 - ((temp - 20) / 10);
                if(speed < 0.5) speed = 0.5;
                w.style.animationDuration = speed + 's';
            });
        }
    }

    // Init
    slider.addEventListener('input', updateSim);
    updateSim();
});
</script>



<style>
:root {
    --rk-cop-dark: #0f172a;
    --rk-cop-darker: #020617;
    --rk-cop-brand: #8b5cf6; /* Technologiczny fiolet */
    --rk-cop-brand-light: #ddd6fe;
    --rk-cop-green: #10b981; /* Wysoki COP */
    --rk-cop-yellow: #f59e0b; /* Średni COP */
    --rk-cop-red: #ef4444; /* Niski COP */
    --rk-cop-bg: #ffffff;
    --rk-cop-panel: #f8fafc;
    --rk-cop-border: #e2e8f0;
    --rk-cop-text: #334155;
    --rk-cop-muted: #64748b;
}

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

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

.rk-cop-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(139, 92, 246, 0.25);
    color: #c4b5fd;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(139, 92, 246, 0.4);
}

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

.rk-cop-title span { color: #a78bfa; }

.rk-cop-lead {
    font-size: 16px;
    line-height: 1.7;
    color: #e2e8f0;
    margin: 0;
}

.rk-link {
    color: #a78bfa;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(167, 139, 250, 0.5);
    transition: all 0.3s;
}

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

/* Ciało Kontenera */
.rk-cop-body {
    padding: 40px 50px;
}

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

.rk-cop-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
    align-items: stretch;
}

/* Panel Kontrolny i Wyniki */
.rk-cop-controls {
    background: var(--rk-cop-panel);
    padding: 30px;
    border-radius: 20px;
    border: 1px solid var(--rk-cop-border);
    display: flex;
    flex-direction: column;
}

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

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

.rk-slider-value {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-cop-brand);
}

.rk-range-cop {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #cbd5e1;
    border-radius: 4px;
    outline: none;
    margin: 15px 0 35px 0;
}

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

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

/* Kafelki z danymi */
.rk-data-tiles {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: auto;
}

.rk-tile {
    background: #ffffff;
    padding: 15px;
    border-radius: 12px;
    border: 1px solid var(--rk-cop-border);
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

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

.rk-tile-val {
    font-size: 20px;
    font-weight: 900;
    transition: color 0.3s;
}

/* Panel SVG */
.rk-cop-visual {
    background: var(--rk-cop-darker);
    border-radius: 20px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.8);
    border: 2px solid var(--rk-cop-dark);
}

.rk-svg-engine {
    width: 100%;
    height: 100%;
    max-width: 320px;
}

/* Animacje SVG */
.rk-fan-blade { transform-origin: 100px 80px; }
.rk-pipe-indicator { transition: opacity 0.3s, fill 0.3s; }
.rk-temp-gauge { transition: stroke-dashoffset 0.5s cubic-bezier(0.4, 0, 0.2, 1), stroke 0.5s; }

/* Inżynierskie studium przypadku (Case Study) */
.rk-case-study {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid var(--rk-cop-border);
    padding: 30px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
}

.rk-case-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-cop-border);
}

.rk-case-icon {
    width: 40px; height: 40px;
    background: var(--rk-cop-brand-light);
    color: var(--rk-cop-brand);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
}

.rk-case-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cop-dark);
    margin: 0;
}

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

.rk-math-col {
    background: var(--rk-cop-panel);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-cop-border);
}

.rk-math-col h4 {
    margin: 0 0 10px 0;
    font-size: 15px;
    font-weight: 800;
}

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

.rk-math-highlight {
    display: block;
    margin-top: 10px;
    padding: 10px;
    background: #ffffff;
    border-radius: 8px;
    font-family: monospace;
    font-size: 14px;
    font-weight: 700;
    border: 1px dashed var(--rk-cop-muted);
}

.rk-conclusion {
    margin-top: 20px;
    padding: 15px 20px;
    background: rgba(16, 185, 129, 0.1);
    border-left: 4px solid var(--rk-cop-green);
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: #065f46;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .rk-cop-header, .rk-cop-body { padding: 30px 20px; }
    .rk-cop-grid, .rk-math-grid, .rk-data-tiles { grid-template-columns: 1fr; }
    .rk-cop-visual { height: 250px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-cop",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Jak rozstaw rur ogrzewania podłogowego wpływa na sprawność pompy ciepła?",
    "description": "Zmniejszenie rozstawu rur z 20 cm do 10 cm obniża temperaturę zasilania o 5K. Poznaj inżynierskie obliczenia udowadniające, dlaczego zagęszczenie pętli zwiększa SCOP pompy ciepła o 15%.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-cop",
    "name": "Wpływ rozstawu rur podłogówki na współczynnik SCOP pompy ciepła",
    "description": "Zestawienie parametrów zasilania w zależności od rozstawu rur (10 cm vs 20 cm) dla strumienia ciepła 50 W/m² i oporu posadzki 0,06 m²K/W.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa ciepła a rozstaw rur",
      "współczynnik SCOP",
      "temperatura zasilania podłogówki",
      "koszty ogrzewania pompy ciepła",
      "obliczenia inżynierskie podłogówki"
    ],
    "measurementTechnique": "Obliczenia inżynierskie na podstawie bilansu cieplnego, założonego oporu cieplnego okładziny 0,06 m²K/W i delty temperatur (ΔT = 5K).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw 20 cm: Wymagane zasilanie 40,7°C, spadek wydajności SCOP.",
        "Rozstaw 10 cm: Wymagane zasilanie 35,6°C, wzrost SCOP o ~12.5%, spadek kosztów o 10-15%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp-cop",
    "name": "Kalkulator SCOP Pompy Ciepła vs Rozstaw",
    "description": "Interaktywny kalkulator pokazujący spadek rachunków za prąd o 2-3% na każdy stopień obniżenia temperatury zasilania dzięki gęstszemu ułożeniu rur.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 Range input and SVG animation support.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA 
=========================================== -->
<div class="rk-cop-container" id="rk-cop-app">
    <!-- Nagłówek -->
    <div class="rk-cop-header">
        <div class="rk-cop-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
            Efektywność Energetyczna (SCOP)
        </div>
        <h2 class="rk-cop-title">Jak rozstaw rur ogrzewania podłogowego <span>wpływa na sprawność pompy ciepła?</span></h2>
        <p class="rk-cop-lead">
            Zmniejszenie rozstawu rur z 20 cm do 10 cm pozwala obniżyć temperaturę zasilania instalacji o 4K do 5K przy zachowaniu identycznej mocy grzewczej systemu. Obniżenie temperatury projektowej z 40°C do 35°C zwiększa sezonowy współczynnik efektywności (SCOP) <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-link">pompy ciepła</a> o 10% do 15%, co bezpośrednio tnie rachunki za prąd.
        </p>
    </div>

    <div class="rk-cop-body">
        <h3 class="rk-cop-h3">Symulator obciążenia sprężarki</h3>
        
        <div class="rk-cop-grid">
            <!-- Panel Kontrolny -->
            <div class="rk-cop-controls">
                <div class="rk-slider-header">
                    <span class="rk-slider-label">Rozstaw Rur PEX/PERT</span>
                    <span class="rk-slider-value" id="rk-cop-spacing-val">10 cm</span>
                </div>
                
                <!-- Suwak: 10, 15, 20 -->
                <input type="range" class="rk-range-cop" id="rk-cop-slider" min="10" max="20" step="5" value="10">
                
                <div class="rk-data-tiles">
                    <div class="rk-tile">
                        <div class="rk-tile-lbl">Wymagane Zasilanie</div>
                        <div class="rk-tile-val" id="rk-cop-temp-val" style="color: var(--rk-cop-green);">35.6°C</div>
                    </div>
                    <div class="rk-tile">
                        <div class="rk-tile-lbl">Wydajność (SCOP)</div>
                        <div class="rk-tile-val" id="rk-cop-eff-val" style="color: var(--rk-cop-green);">+15%</div>
                    </div>
                </div>
            </div>

            <!-- SVG Panel -->
            <div class="rk-cop-visual">
                <svg class="rk-svg-engine" viewBox="0 0 200 160">
                    <!-- Obudowa Pompy -->
                    <rect x="20" y="20" width="160" height="120" fill="#1e293b" rx="8" stroke="#475569" stroke-width="3"/>
                    <rect x="30" y="30" width="140" height="100" fill="#0f172a" rx="4"/>
                    
                    <!-- Wiatrak (Sprężarka) -->
                    <circle cx="100" cy="80" r="40" fill="#1e293b" stroke="#334155" stroke-width="4"/>
                    <g id="rk-fan" class="rk-fan-blade" style="animation: spinFan 2s linear infinite;">
                        <path d="M 100 80 Q 80 45 100 40 Q 120 45 100 80" fill="#94a3b8"/>
                        <path d="M 100 80 Q 135 100 135 80 Q 135 60 100 80" fill="#94a3b8"/>
                        <path d="M 100 80 Q 65 100 65 80 Q 65 60 100 80" fill="#94a3b8"/>
                        <circle cx="100" cy="80" r="8" fill="#cbd5e1"/>
                    </g>
                    <!-- Kratka na wiatraku -->
                    <line x1="60" y1="80" x2="140" y2="80" stroke="#475569" stroke-width="2"/>
                    <line x1="100" y1="40" x2="100" y2="120" stroke="#475569" stroke-width="2"/>

                    <!-- Zegar Temperatury -->
                    <circle cx="160" cy="40" r="15" fill="#0f172a" stroke="#475569" stroke-width="2"/>
                    <path d="M 150 40 A 10 10 0 1 1 170 40" fill="none" stroke="#334155" stroke-width="4" stroke-linecap="round"/>
                    <path id="rk-gauge-arc" class="rk-temp-gauge" d="M 150 40 A 10 10 0 0 1 170 40" fill="none" stroke="#10b981" stroke-width="4" stroke-linecap="round" stroke-dasharray="31.4" stroke-dashoffset="15.7"/>
                </svg>
            </div>
        </div>

        <h3 class="rk-cop-h3">Inżynierskie studium przypadku</h3>
        <div class="rk-case-study">
            <div class="rk-case-header">
                <div class="rk-case-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                </div>
                <h4 class="rk-case-title">Obliczenie wpływu rozstawu na temperaturę zasilania</h4>
            </div>

            <p style="margin: 0 0 20px 0; font-size: 15px; color: var(--rk-cop-text); line-height: 1.7;">
                Dla pokoju o powierzchni 20 m² i zapotrzebowaniu na moc <strong>Q = 1000 W</strong> (strumień ciepła q = 50 W/m²), przy wykończeniu podłogi <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/" class="rk-link">panelem laminowanym</a> o oporze R = 0,06 m²K/W i temperaturze wewnętrznej 20°C:
            </p>

            <div class="rk-math-grid">
                <div class="rk-math-col" style="border-left: 4px solid var(--rk-cop-red);">
                    <h4 style="color: var(--rk-cop-red);">Przy rozstawie co 20 cm (16x2 mm)</h4>
                    <p>Wymagana średnia temperatura czynnika grzewczego w pętli musi wynosić 38,2°C.</p>
                    <span class="rk-math-highlight" style="color: var(--rk-cop-red);">
                        Zasilanie pompy (ΔT = 5K) = 40,7°C
                    </span>
                </div>
                
                <div class="rk-math-col" style="border-left: 4px solid var(--rk-cop-green);">
                    <h4 style="color: var(--rk-cop-green);">Po zagęszczeniu do 10 cm</h4>
                    <p>Ten sam strumień ciepła uzyskamy przy średniej temperaturze czynnika wynoszącej zaledwie 33,1°C.</p>
                    <span class="rk-math-highlight" style="color: var(--rk-cop-green);">
                        Zasilanie pompy (ΔT = 5K) = 35,6°C
                    </span>
                </div>
            </div>

            <div class="rk-conclusion">
                <strong>Złota zasada zysku:</strong> Odciążasz sprężarkę! Każdy 1°C mniej na zasilaniu instalacji podłogowej to spadek rachunków za prąd o około 2-3% w skali całego sezonu grzewczego. Stąd wniosek: projektując instalację pod pompę ciepła, dążymy do zagęszczenia (10-15 cm), traktując rozstaw 20 cm jako kosztowną ostateczność.
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domeny
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-cop-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; border-radius:24px; border:2px solid #ef4444; color:#fff; font-family:sans-serif; margin: 40px auto; max-width:800px;">
                <div style="font-size: 40px; margin-bottom: 15px;">🛑</div>
                <div style="color:#ef4444; font-size:22px; font-weight:900; margin-bottom: 10px; text-transform:uppercase;">Naruszenie Praw Autorskich</div>
                <div style="color:#cbd5e1; font-size:15px; line-height:1.6;">Interaktywny symulator COP i zaszyte dane inżynierskie stanowią własność Projekt-Ogrzewania.pl. Użycie zabronione.</div>
            </div>
        `;
        return;
    }

    // 2. Logika symulatora
    const slider = document.getElementById('rk-cop-slider');
    const valText = document.getElementById('rk-cop-spacing-val');
    const tempVal = document.getElementById('rk-cop-temp-val');
    const effVal = document.getElementById('rk-cop-eff-val');
    
    // SVG Elements
    const fan = document.getElementById('rk-fan');
    const gauge = document.getElementById('rk-gauge-arc');

    // Wstrzyknięcie klatek kluczowych rotacji, jeśli ich nie ma w CSS globalnie
    if (!document.getElementById('rk-spin-style')) {
        const style = document.createElement('style');
        style.id = 'rk-spin-style';
        style.innerHTML = `@keyframes spinFan { 100% { transform: rotate(360deg); } }`;
        document.head.appendChild(style);
    }

    function updateSimulation() {
        const spacing = parseInt(slider.value);
        valText.textContent = spacing + ' cm';
        
        let reqTemp, effStatus, colorHex, fanSpeed, gaugeOffset;

        if (spacing === 10) {
            reqTemp = "35.6°C";
            effStatus = "+15%";
            colorHex = "var(--rk-cop-green)";
            fanSpeed = "3s"; // Sprężarka pracuje na luzie
            gaugeOffset = "23"; // Mniej wypełniony zegar
        } else if (spacing === 15) {
            reqTemp = "38.1°C";
            effStatus = "+6%";
            colorHex = "var(--rk-cop-yellow)";
            fanSpeed = "1.2s"; // Średnie obciążenie
            gaugeOffset = "12";
        } else {
            // 20 cm
            reqTemp = "40.7°C";
            effStatus = "BAZA (0%)";
            colorHex = "var(--rk-cop-red)";
            fanSpeed = "0.4s"; // Sprężarka wyje (duże obciążenie)
            gaugeOffset = "0"; // Zegar pełny
        }

        // Aktualizacja UI tekstowego
        tempVal.textContent = reqTemp;
        tempVal.style.color = colorHex;
        effVal.textContent = effStatus;
        effVal.style.color = colorHex;

        // Aktualizacja SVG
        fan.style.animationDuration = fanSpeed;
        gauge.style.stroke = colorHex;
        gauge.style.strokeDashoffset = gaugeOffset;
    }

    slider.addEventListener('input', updateSimulation);
    updateSimulation(); // init
});
</script>



<style>
:root {
    --rk-algo-dark: #0f172a;
    --rk-algo-panel: #1e293b;
    --rk-algo-brand: #0ea5e9;
    --rk-algo-brand-dark: #0284c7;
    --rk-algo-accent: #38bdf8;
    --rk-algo-text: #f8fafc;
    --rk-algo-muted: #94a3b8;
    --rk-algo-border: #334155;
    --rk-algo-bg: #0b1120;
    --rk-algo-glow: rgba(14, 165, 233, 0.4);
}

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

/* Nagłówek */
.rk-algo-header {
    background: linear-gradient(135deg, #020617 0%, var(--rk-algo-dark) 100%);
    padding: 45px 50px;
    position: relative;
    border-bottom: 2px solid var(--rk-algo-border);
}

.rk-algo-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 100%;
    background-image: linear-gradient(var(--rk-algo-border) 1px, transparent 1px), linear-gradient(90deg, var(--rk-algo-border) 1px, transparent 1px);
    background-size: 30px 30px;
    opacity: 0.1;
    pointer-events: none;
}

.rk-algo-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.15);
    color: var(--rk-algo-accent);
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    border: 1px solid rgba(14, 165, 233, 0.3);
}

.rk-algo-title {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.rk-algo-title span { color: var(--rk-algo-accent); }

.rk-algo-lead {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-link {
    color: var(--rk-algo-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(56, 189, 248, 0.5);
    transition: all 0.3s;
}

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

/* Główny układ: Procedura (Lewo) + Kalkulator (Prawo) */
.rk-algo-body {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    background: var(--rk-algo-dark);
}

.rk-algo-h3 {
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Lista kroków (Procedura inżynierska) */
.rk-steps-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-step-item {
    background: var(--rk-algo-panel);
    border: 1px solid var(--rk-algo-border);
    border-radius: 16px;
    padding: 20px;
    position: relative;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.rk-step-header {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 10px;
}

.rk-step-num {
    background: var(--rk-algo-brand);
    color: #ffffff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 900;
    flex-shrink: 0;
    box-shadow: 0 0 10px var(--rk-algo-glow);
}

.rk-step-title {
    font-size: 15px;
    font-weight: 700;
    color: #e2e8f0;
    line-height: 1.4;
    margin: 0;
}

.rk-step-desc {
    font-size: 13px;
    color: var(--rk-algo-muted);
    line-height: 1.6;
    margin: 0 0 10px 43px;
}

.rk-formula {
    background: #000000;
    border: 1px solid var(--rk-algo-border);
    padding: 10px 15px;
    border-radius: 8px;
    font-family: 'Courier New', Courier, monospace;
    font-weight: 700;
    color: var(--rk-algo-accent);
    margin-left: 43px;
    font-size: 14px;
    text-align: center;
    letter-spacing: 0.5px;
}

/* Interaktywny Kalkulator Algorytmiczny */
.rk-calc-box {
    background: var(--rk-algo-panel);
    border-radius: 20px;
    padding: 30px;
    border: 1px solid var(--rk-algo-brand);
    box-shadow: 0 0 30px rgba(14, 165, 233, 0.1);
    display: flex;
    flex-direction: column;
}

.rk-calc-group {
    margin-bottom: 25px;
}

.rk-calc-lbl {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-algo-muted);
    text-transform: uppercase;
    margin-bottom: 10px;
}

.rk-calc-val {
    color: #ffffff;
    font-size: 18px;
}

/* NOWA KLASA DLA SUWAKÓW ABY UNIKNĄĆ KONFLIKTU */
.rk-algo-range {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    background: var(--rk-algo-border);
    border-radius: 3px;
    outline: none;
}

.rk-algo-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-algo-brand);
    cursor: pointer;
    box-shadow: 0 0 10px var(--rk-algo-glow);
    transition: transform 0.1s;
}

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

/* Wyniki Kalkulatora */
.rk-results-panel {
    background: #000000;
    border-radius: 16px;
    padding: 20px;
    margin-top: auto;
    border: 1px solid var(--rk-algo-border);
}

.rk-res-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px dashed var(--rk-algo-border);
}
.rk-res-row:last-child { border-bottom: none; }

.rk-res-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-algo-muted);
}

.rk-res-data {
    font-size: 18px;
    font-weight: 900;
    color: #ffffff;
}

.rk-res-highlight {
    font-size: 24px;
    color: var(--rk-algo-accent);
}

/* SVG Wizualizacja Przekroju */
.rk-svg-viewport {
    background: #000000;
    border-radius: 16px;
    padding: 15px;
    margin-top: 25px;
    border: 1px solid var(--rk-algo-border);
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

.rk-bp-concrete { fill: #1e293b; stroke: #334155; stroke-width: 2; }
.rk-bp-pipe { fill: var(--rk-algo-bg); stroke: var(--rk-algo-accent); stroke-width: 3; }
.rk-bp-dim { stroke: var(--rk-algo-muted); stroke-width: 1; stroke-dasharray: 2 2; }
.rk-bp-text { fill: var(--rk-algo-muted); font-size: 12px; font-family: monospace; }

/* Grupy rur ukrywane przez JS */
.rk-group-10, .rk-group-15, .rk-group-20 { opacity: 0; transition: opacity 0.4s ease; }
.rk-group-10.active, .rk-group-15.active, .rk-group-20.active { opacity: 1; }

@media (max-width: 768px) {
    .rk-algo-header, .rk-algo-body { padding: 30px 20px; }
    .rk-algo-body { grid-template-columns: 1fr; gap: 30px; }
    .rk-step-desc, .rk-formula { margin-left: 0; margin-top: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-algorytm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Jak obliczyć optymal rozstaw rur podłogówki?",
    "description": "Profesjonalny algorytm obliczeniowy doboru rozstawu rur w ogrzewaniu podłogowym krok po kroku. Kalkulacja gęstości strumienia cieplnego wg PN-EN 12831.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-algorytm",
    "name": "Algorytm inżynierski wyznaczania gęstości strumienia cieplnego q",
    "description": "Zestawienie wzorów matematycznych i limitów normowych służących do projektowania rozstawu pętli ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczenia OZC podłogówki",
      "wzór na rozstaw rur",
      "gęstość strumienia cieplnego q",
      "norma PN-EN 12831",
      "projektowanie instalacji podłogowej"
    ],
    "measurementTechnique": "Algorytm 5 kroków obliczeniowych (Q_obl -> q -> t_m -> dt_ln -> b) wyznaczający gęstość ułożenia rur na bazie bilansu cieplnego OZC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Krok 1: Skorygowanie mocy (Q_obl = Q_OZC * 1.15).",
        "Krok 2: Wyznaczenie gęstości strumienia z pow. netto (q = Q_obl / A_eff).",
        "Krok 5: Przypisanie rozstawu. q > 60 W/m² = 10 cm; q = 35-60 W/m² = 15 cm; q < 35 W/m² = 20 cm."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp-algorytm",
    "name": "Kalkulator Algorytmu OZC dla Podłogówki",
    "description": "Interaktywny kalkulator inżynierski przeliczający wartość obciążenia cieplnego OZC oraz powierzchnię na niezbędny strumień cieplny q i optymalny rozstaw pętli.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 input range for algorithmic calculations.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-algo-container" id="rk-algo-app">
    <div class="rk-algo-header">
        <div class="rk-algo-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
            Procedura Obliczeniowa
        </div>
        <h2 class="rk-algo-title">Jak obliczyć optymalny rozstaw <span>rur podłogówki?</span></h2>
        <p class="rk-algo-lead">
            Aby prawidłowo wyliczyć rozstaw rur, należy bezwzględnie oprzeć się na jednostkowym zapotrzebowaniu na ciepło <strong>q</strong> (W/m²), wyznaczonym z certyfikowanego bilansu OZC (zgodnego z normą <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" class="rk-link">PN-EN 12831</a>). Projektant dopasowuje rozstaw tak, aby opór cieplny okładziny nie zablokował strumienia ciepła. Poznaj algorytm stosowany w biurach inżynierskich.
        </p>
    </div>

    <div class="rk-algo-body">
        
        <div class="rk-algo-steps">
            <h3 class="rk-algo-h3">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 14 10 14 10 20"></polyline><polyline points="20 10 14 10 14 4"></polyline><line x1="14" y1="10" x2="21" y2="3"></line><line x1="3" y1="21" x2="10" y2="14"></line></svg>
                Algorytm Krok po Kroku
            </h3>
            
            <div class="rk-steps-list">
                <div class="rk-step-item">
                    <div class="rk-step-header">
                        <div class="rk-step-num">1</div>
                        <h4 class="rk-step-title">Wyznaczenie projektowego obciążenia cieplnego pomieszczenia (Q_obl)</h4>
                    </div>
                    <p class="rk-step-desc">Wartość pobieramy z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-link">arkusza OZC</a> i korygujemy o inżynierski naddatek (15%) na szybkie podgrzanie po wietrzeniu.</p>
                    <div class="rk-formula">Q_obl = Q_OZC × 1.15</div>
                </div>

                <div class="rk-step-item">
                    <div class="rk-step-header">
                        <div class="rk-step-num">2</div>
                        <h4 class="rk-step-title">Obliczenie gęstości strumienia cieplnego posadzki (q)</h4>
                    </div>
                    <p class="rk-step-desc">Dzielimy moc przez pow. grzewczą netto (bez stałej zabudowy). <em>Przykład: 800W / 12m² = 66,67 W/m².</em></p>
                    <div class="rk-formula">q = Q_obl / A_eff</div>
                </div>

                <div class="rk-step-item">
                    <div class="rk-step-header">
                        <div class="rk-step-num">3</div>
                        <h4 class="rk-step-title">Wyznaczenie temperatur (t_m oraz dt_ln)</h4>
                    </div>
                    <p class="rk-step-desc">Obliczamy średnią temperaturę czynnika oraz logarytmiczną różnicę temperatur między wodą a powietrzem.</p>
                    <div class="rk-formula">t_m = t_z - (ΔT / 2)</div>
                </div>

                <div class="rk-step-item" style="border-color: var(--rk-algo-brand);">
                    <div class="rk-step-header">
                        <div class="rk-step-num">4</div>
                        <h4 class="rk-step-title">Dobór rozstawu rur (b) z funkcji przewodzenia</h4>
                    </div>
                    <p class="rk-step-desc">Jeśli strumień <strong>q > 60 W/m²</strong>, bezwzględnie krok 10 cm. W przedziale <strong>35-60 W/m²</strong> stosuje się krok 15 cm. Poniżej <strong>35 W/m²</strong> to <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="rk-link">krok 20 cm</a>.</p>
                    <div class="rk-formula">b = [ λ_jastrych × (t_m - t_f) ] / (q × ψ)</div>
                </div>
            </div>
        </div>

        <div class="rk-calc-box">
            <h3 class="rk-algo-h3" style="color: var(--rk-algo-accent); margin-bottom: 30px;">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="8" y1="6" x2="16" y2="6"></line><line x1="16" y1="14" x2="16.01" y2="14"></line><line x1="12" y1="14" x2="12.01" y2="14"></line><line x1="8" y1="14" x2="8.01" y2="14"></line><line x1="16" y1="18" x2="16.01" y2="18"></line><line x1="12" y1="18" x2="12.01" y2="18"></line><line x1="8" y1="18" x2="8.01" y2="18"></line><line x1="16" y1="10" x2="16.01" y2="10"></line><line x1="12" y1="10" x2="12.01" y2="10"></line><line x1="8" y1="10" x2="8.01" y2="10"></line></svg>
                Symulator Kroków 1 i 2
            </h3>

            <div class="rk-calc-group">
                <div class="rk-calc-lbl">
                    <span>Moc z OZC (Q_OZC)</span>
                    <span class="rk-calc-val" id="rk-val-ozc">800 W</span>
                </div>
                <input type="range" class="rk-algo-range" id="rk-slider-ozc" min="200" max="1500" step="50" value="800">
            </div>

            <div class="rk-calc-group">
                <div class="rk-calc-lbl">
                    <span>Pow. Netto Pętli (A_eff)</span>
                    <span class="rk-calc-val" id="rk-val-area">12 m²</span>
                </div>
                <input type="range" class="rk-algo-range" id="rk-slider-area" min="5" max="25" step="1" value="12">
            </div>

            <div class="rk-results-panel">
                <div class="rk-res-row">
                    <span class="rk-res-name">Moc skorygowana (Q_obl):</span>
                    <span class="rk-res-data" id="rk-res-qobl">920 W</span>
                </div>
                <div class="rk-res-row">
                    <span class="rk-res-name">Gęstość strumienia (q):</span>
                    <span class="rk-res-data" id="rk-res-q" style="color: #fcd34d;">76.7 W/m²</span>
                </div>
                <div class="rk-res-row" style="margin-top: 10px; border: none;">
                    <span class="rk-res-name">Wynikowy rozstaw (b):</span>
                    <span class="rk-res-data rk-res-highlight" id="rk-res-spacing">10 cm</span>
                </div>
            </div>

            <div class="rk-svg-viewport">
                <svg class="rk-svg-blueprint" viewBox="0 0 200 60">
                    <rect x="0" y="20" width="200" height="40" class="rk-bp-concrete" rx="2"/>
                    <line x1="0" y1="20" x2="200" y2="20" stroke="#475569" stroke-width="2"/>
                    
                    <g class="rk-group-10" id="rk-bp-10">
                        <circle cx="25" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="50" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="75" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="100" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="125" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="150" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="175" cy="40" r="5" class="rk-bp-pipe"/>
                        <line x1="75" y1="10" x2="100" y2="10" class="rk-bp-dim"/>
                        <line x1="75" y1="5" x2="75" y2="15" stroke="#94a3b8"/>
                        <line x1="100" y1="5" x2="100" y2="15" stroke="#94a3b8"/>
                        <text x="87.5" y="8" class="rk-bp-text" text-anchor="middle">10cm</text>
                    </g>

                    <g class="rk-group-15" id="rk-bp-15">
                        <circle cx="20" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="60" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="100" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="140" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="180" cy="40" r="5" class="rk-bp-pipe"/>
                        <line x1="60" y1="10" x2="100" y2="10" class="rk-bp-dim"/>
                        <line x1="60" y1="5" x2="60" y2="15" stroke="#94a3b8"/>
                        <line x1="100" y1="5" x2="100" y2="15" stroke="#94a3b8"/>
                        <text x="80" y="8" class="rk-bp-text" text-anchor="middle">15cm</text>
                    </g>

                    <g class="rk-group-20" id="rk-bp-20">
                        <circle cx="35" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="80" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="125" cy="40" r="5" class="rk-bp-pipe"/>
                        <circle cx="170" cy="40" r="5" class="rk-bp-pipe"/>
                        <line x1="80" y1="10" x2="125" y2="10" class="rk-bp-dim"/>
                        <line x1="80" y1="5" x2="80" y2="15" stroke="#94a3b8"/>
                        <line x1="125" y1="5" x2="125" y2="15" stroke="#94a3b8"/>
                        <text x="102.5" y="8" class="rk-bp-text" text-anchor="middle">20cm</text>
                    </g>
                </svg>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domeny (Brak H2/H3 w Alercie)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-algo-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; border-radius:24px; border:2px solid #ef4444; color:#fff; font-family:sans-serif; margin:40px auto; max-width:800px;">
                <div style="font-size: 40px; margin-bottom: 15px;">🛑</div>
                <div style="color:#ef4444; font-size:22px; font-weight:900; margin-bottom:10px; text-transform:uppercase;">Naruszenie Praw Autorskich</div>
                <div style="color:#cbd5e1; font-size:15px; line-height:1.6;">Skrypt algorytmu oraz znaczników JSON-LD jest własnością Projekt-Ogrzewania.pl. Użycie zabronione.</div>
            </div>
        `;
        return;
    }

    // 2. Logika Algorytmu OZC
    const sliderOzc = document.getElementById('rk-slider-ozc');
    const valOzc = document.getElementById('rk-val-ozc');
    const sliderArea = document.getElementById('rk-slider-area');
    const valArea = document.getElementById('rk-val-area');
    
    const resQobl = document.getElementById('rk-res-qobl');
    const resQ = document.getElementById('rk-res-q');
    const resSpacing = document.getElementById('rk-res-spacing');
    
    // SVG Grupy
    const bp10 = document.getElementById('rk-bp-10');
    const bp15 = document.getElementById('rk-bp-15');
    const bp20 = document.getElementById('rk-bp-20');

    function calculateAlgorithm() {
        const q_ozc = parseInt(sliderOzc.value);
        const a_eff = parseFloat(sliderArea.value);
        
        // Aktualizacja labeli
        valOzc.textContent = q_ozc + ' W';
        valArea.textContent = a_eff + ' m²';

        // Matematyka inżynierska
        const q_obl = Math.round(q_ozc * 1.15); // +15%
        const q_strumien = (q_obl / a_eff).toFixed(1);

        // Wyniki text
        resQobl.textContent = q_obl + ' W';
        resQ.textContent = q_strumien + ' W/m²';

        // Warunki doboru (krok 5)
        let spacingResult = "15 cm";
        let activeLayer = bp15;
        let color = "#10b981"; // Green (Optimum)

        if (q_strumien > 60) {
            spacingResult = "10 cm";
            activeLayer = bp10;
            color = "#ef4444"; // Red (High load)
        } else if (q_strumien < 35) {
            spacingResult = "20 cm";
            activeLayer = bp20;
            color = "#0ea5e9"; // Blue (Low load)
        }

        resQ.style.color = color;
        resSpacing.textContent = spacingResult;

        // Aktualizacja SVG wizualizacji (z użyciem transition)
        bp10.classList.remove('active');
        bp15.classList.remove('active');
        bp20.classList.remove('active');
        activeLayer.classList.add('active');
    }

    // Nasłuchiwacze
    sliderOzc.addEventListener('input', calculateAlgorithm);
    sliderArea.addEventListener('input', calculateAlgorithm);
    
    // Inicjalizacja
    calculateAlgorithm();
});
</script>



<ol start="1" class="wp-block-list">
<li></li>
</ol>



<style>
:root {
    --rk-pcalc-dark: #0f172a;
    --rk-pcalc-brand: #3b82f6;
    --rk-pcalc-accent: #60a5fa;
    --rk-pcalc-bg: #ffffff;
    --rk-pcalc-text: #334155;
    --rk-pcalc-muted: #64748b;
    --rk-pcalc-border: #e2e8f0;
}

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

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

.rk-pcalc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59, 130, 246, 0.25);
    color: #93c5fd;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(59, 130, 246, 0.3);
}

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

.rk-pcalc-title span { color: var(--rk-pcalc-accent); }

.rk-pcalc-lead {
    font-size: 16px;
    line-height: 1.7;
    color: #e2e8f0;
    margin: 0;
}

.rk-link {
    color: var(--rk-pcalc-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(59, 130, 246, 0.4);
    transition: all 0.3s;
}

.rk-link:hover { color: #2563eb; border-bottom-style: solid; }

/* Moduł zawartości */
.rk-pcalc-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

/* Tabela Responsywna */
.rk-table-section { margin-top: 10px; }

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

.rk-table-header { display: none; }

.rk-table-row {
    background: #ffffff;
    border: 1px solid var(--rk-pcalc-border);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    display: grid;
    gap: 12px;
}

.rk-cell {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    border-bottom: 1px dashed var(--rk-pcalc-border);
    padding-bottom: 8px;
}
.rk-cell:last-child { border-bottom: none; padding-bottom: 0; }

.rk-cell-lbl { font-weight: 700; color: var(--rk-pcalc-muted); }
.rk-cell-val { font-weight: 900; color: var(--rk-pcalc-dark); font-size: 16px; }
.rk-cell-val.main { color: var(--rk-pcalc-brand); font-size: 18px; }

/* Case Study */
.rk-case-study {
    background: #ffffff;
    border-left: 4px solid var(--rk-pcalc-brand);
    padding: 25px 30px;
    border-radius: 0 16px 16px 0;
    margin-top: 40px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

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

.rk-math-block {
    background: var(--rk-pcalc-dark);
    color: #ffffff;
    padding: 15px 20px;
    border-radius: 12px;
    font-family: monospace;
    font-size: 14px;
    margin-bottom: 15px;
}

.rk-math-block span { color: var(--rk-pcalc-accent); font-weight: bold; }

.rk-alert-red {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
    padding: 16px 20px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
    margin-top: 15px;
    border: 1px solid rgba(239, 68, 68, 0.2);
}

@media (min-width: 850px) {
    .rk-grid-table {
        background: #ffffff;
        border: 1px solid var(--rk-pcalc-border);
        border-radius: 16px;
        overflow: hidden;
        gap: 0;
    }
    .rk-table-header {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1.2fr 1.2fr;
        background: var(--rk-pcalc-dark);
        color: #ffffff;
        padding: 15px 20px;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
        text-align: center;
    }
    .rk-table-row {
        grid-template-columns: 1fr 1fr 1fr 1.2fr 1.2fr;
        border: none;
        border-bottom: 1px solid var(--rk-pcalc-border);
        border-radius: 0;
        padding: 15px 20px;
        box-shadow: none;
        align-items: center;
        text-align: center;
    }
    .rk-table-row:last-child { border-bottom: none; }
    .rk-cell { display: block; border: none; padding: 0; }
    .rk-cell-lbl { display: none; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-rura",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Ile rury PEX/PERT potrzeba na m² ogrzewania podłogowego?",
    "description": "Zestawienie zużycia rury 16x2 mm dla rozstawów 10, 15 i 20 cm. Parametry techniczne i obliczanie pętli grzewczych.",
    "author": { "@type": "Person", "name": "Robert Kucharski" },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-rura",
    "name": "Parametry techniczno-hydrauliczne rury PEX-Al-PEX 16x2 mm",
    "description": "Tabela zużycia materiałów: mb na m², pojemność wodna i waga jastrychu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": { "@type": "Person", "name": "Robert Kucharski" },
    "keywords": ["zużycie rury PEX", "pojemność wodna podłogówki", "waga jastrychu"],
    "measurementTechnique": "Obliczenia geometryczne zapotrzebowania z 5% naddatkiem montażowym.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw 10 cm: 10 mb/m²",
        "Rozstaw 15 cm: 6.67 mb/m²",
        "Rozstaw 20 cm: 5.0 mb/m²"
      ]
    }
  }
]
</script>

<div class="rk-pcalc-container">
    <div class="rk-pcalc-header">
        <div class="rk-pcalc-badge">Zestawienie Materiałowe</div>
        <h2 class="rk-pcalc-title">Ile rury PEX/PERT potrzeba <span>na m² ogrzewania?</span></h2>
        <p class="rk-pcalc-lead">
            Dla rozstawu rur co 10 cm zużycie materiału wynosi dokładnie 10 mb/m², dla 15 cm jest to 6,67 mb/m², a dla 20 cm spada do 5 mb/m². Do wartości czysto geometrycznych należy doliczyć od <strong>5% do 10% naddatku</strong> na podejścia do <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" class="rk-link-light">rozdzielacza</a>.
        </p>
    </div>

    <div class="rk-pcalc-interactive">
        <div class="rk-table-section">
            <div class="rk-grid-table">
                <div class="rk-table-header">
                    <div>Rozstaw rur</div>
                    <div>Zużycie [mb/m²]</div>
                    <div>Pojemność [l/m²]</div>
                    <div>Max obszar pętli [m²]</div>
                    <div>Waga posadzki [kg/m²]</div>
                </div>
                <div class="rk-table-row">
                    <div class="rk-cell"><span class="rk-cell-lbl">Rozstaw rur:</span> <span class="rk-cell-val main">10 cm</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Zużycie:</span> <span class="rk-cell-val">10.0 mb/m²</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Pojemność:</span> <span class="rk-cell-val">1.13 l/m²</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Max obszar:</span> <span class="rk-cell-val">10.0 m²</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Waga posadzki:</span> <span class="rk-cell-val">145 kg/m²</span></div>
                </div>
                <div class="rk-table-row">
                    <div class="rk-cell"><span class="rk-cell-lbl">Rozstaw rur:</span> <span class="rk-cell-val main">15 cm</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Zużycie:</span> <span class="rk-cell-val">6.67 mb/m²</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Pojemność:</span> <span class="rk-cell-val">0.75 l/m²</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Max obszar:</span> <span class="rk-cell-val">15.0 m²</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Waga posadzki:</span> <span class="rk-cell-val">142 kg/m²</span></div>
                </div>
                <div class="rk-table-row">
                    <div class="rk-cell"><span class="rk-cell-lbl">Rozstaw rur:</span> <span class="rk-cell-val main">20 cm</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Zużycie:</span> <span class="rk-cell-val">5.0 mb/m²</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Pojemność:</span> <span class="rk-cell-val">0.57 l/m²</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Max obszar:</span> <span class="rk-cell-val">20.0 m²</span></div>
                    <div class="rk-cell"><span class="rk-cell-lbl">Waga posadzki:</span> <span class="rk-cell-val">140 kg/m²</span></div>
                </div>
            </div>
        </div>

        <div class="rk-case-study">
            <h4 style="font-size: 18px; font-weight: 800; color: var(--rk-pcalc-dark); margin: 0 0 15px 0;">Obliczenie i podział na pętle w praktyce</h4>
            <p>Wyobraźmy sobie duży salon o powierzchni <strong>40 m²</strong>. Planujemy ułożyć rury co <strong>15 cm</strong>.</p>
            <div class="rk-math-block">
                1. Długość bazowa: 40 m² × 6,67 mb/m² = <span>266,8 mb</span><br>
                2. Z naddatkiem 5%: 266,8 × 1,05 = <span>280,1 mb rury</span>
            </div>
            <p>Ponieważ <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/" class="rk-link">maksymalna długość pętli</a> dla rury 16 mm wynosi 100 mb, dzielimy salon na <strong>3 niezależne obwody</strong>.</p>
            <div class="rk-alert-red">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                <span>Próba ułożenia tego na dwóch pętlach po 140 mb skończyłaby się katastrofą hydrauliczną (<a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" style="color: inherit; text-decoration: underline; white-space: nowrap;">za długa pętla</a>).</span>
            </div>
        </div>
    </div>
</div>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-panel: #1e293b;
    --rk-err-danger: #ef4444; /* Czerwony - Błędy / Przeciążenie */
    --rk-err-warn: #f59e0b;   /* Żółty - Ostrzeżenie */
    --rk-err-success: #10b981; /* Zielony - Optymalnie */
    --rk-err-cold: #3b82f6;   /* Niebieski - Niedogrzanie */
    --rk-err-bg: #f8fafc;
    --rk-err-border: #e2e8f0;
    --rk-err-text: #334155;
    --rk-err-muted: #64748b;
}

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

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

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

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

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

.rk-err-lead {
    font-size: 16px;
    line-height: 1.7;
    color: #e2e8f0;
    margin: 0;
}

.rk-link {
    color: #fca5a5;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(252, 165, 165, 0.5);
    transition: all 0.3s;
}

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

/* Interaktywny Symulator Błędów */
.rk-err-interactive {
    padding: 40px 50px;
}

.rk-err-h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-err-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 30px;
    margin-bottom: 40px;
}

/* Panel Suwaka */
.rk-sim-controls {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    border: 1px solid var(--rk-err-border);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
}

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

.rk-ctrl-lbl {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-err-muted);
    text-transform: uppercase;
}

.rk-ctrl-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-err-dark);
}

/* Unikalna klasa dla suwaka */
.rk-err-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: linear-gradient(90deg, #ef4444 0%, #10b981 50%, #3b82f6 100%);
    border-radius: 4px;
    outline: none;
    margin-bottom: 30px;
}

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

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

/* Wskaźniki parametrów */
.rk-param-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: auto;
}

.rk-param-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 15px;
    background: var(--rk-err-bg);
    border-radius: 10px;
    font-size: 14px;
    border: 1px solid var(--rk-err-border);
}

.rk-param-item span:first-child { font-weight: 700; color: var(--rk-err-muted); }
.rk-param-item span:last-child { font-weight: 900; }

/* Panel Wizualizacji SVG */
.rk-viz-board {
    background: var(--rk-err-dark);
    border-radius: 20px;
    border: 2px solid #334155;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
}

.rk-viz-status {
    position: absolute;
    top: 20px; left: 20px; right: 20px;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(4px);
    padding: 15px;
    border-radius: 12px;
    color: #ffffff;
    font-weight: 800;
    font-size: 15px;
    text-align: center;
    z-index: 10;
    border: 1px solid rgba(255,255,255,0.1);
}

.rk-svg-layer {
    width: 100%;
    height: 100%;
    min-height: 250px;
    display: none; /* Przełączane przez JS */
}
.rk-svg-layer.active { display: block; }

/* Animacje SVG */
.rk-anim-laminar { stroke-dasharray: 20 10; animation: flowSlow 4s linear infinite; }
.rk-anim-turbulent { stroke-dasharray: 5 10 15 5; animation: flowFast 1s linear infinite; }
.rk-anim-pump-shake { animation: shakeError 0.3s ease-in-out infinite; transform-origin: center; }
.rk-anim-zebra { opacity: 0; animation: pulseZebra 3s infinite alternate; }

@keyframes flowSlow { to { stroke-dashoffset: -60; } }
@keyframes flowFast { to { stroke-dashoffset: -100; } }
@keyframes pulseZebra { from { opacity: 0.2; } to { opacity: 0.8; } }
@keyframes shakeError {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    25% { transform: translate(-2px, 2px) rotate(-2deg); }
    50% { transform: translate(2px, -2px) rotate(2deg); }
    75% { transform: translate(-2px, -2px) rotate(-1deg); }
}

/* Karty Skutków Błędów */
.rk-effects-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 40px;
}

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

.rk-effect-card.dense { border-top: 4px solid var(--rk-err-danger); }
.rk-effect-card.sparse { border-top: 4px solid var(--rk-err-cold); }

.rk-effect-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-effect-list {
    margin: 0; padding: 0; list-style: none;
}

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

.rk-effect-list li::before {
    content: '→';
    position: absolute;
    left: 0; top: 0;
    color: var(--rk-err-muted);
    font-weight: bold;
}

/* Case Study - Obliczenia */
.rk-case-block {
    background: var(--rk-err-panel);
    border-radius: 20px;
    padding: 30px;
    color: #ffffff;
}

.rk-case-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-err-border);
}

.rk-case-header svg { color: var(--rk-err-warn); }

.rk-case-text {
    font-size: 15px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0 0 20px 0;
}

.rk-case-math {
    background: #000000;
    padding: 20px;
    border-radius: 12px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 14px;
    color: #38bdf8;
    border: 1px dashed #334155;
    margin-bottom: 20px;
}

.rk-case-math span { color: #f87171; font-weight: bold; }

.rk-alert-box {
    background: rgba(239, 68, 68, 0.15);
    border-left: 4px solid var(--rk-err-danger);
    padding: 15px 20px;
    border-radius: 0 10px 10px 0;
    font-size: 14px;
    font-weight: 600;
    color: #fca5a5;
    line-height: 1.6;
}

@media (max-width: 850px) {
    .rk-err-header, .rk-err-interactive { padding: 30px 20px; }
    .rk-err-grid, .rk-effects-grid { grid-template-columns: 1fr; }
    .rk-viz-board { height: 280px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Jakie są konsekwencje błędów w gęstości układania podłogówki?",
    "description": "Analiza skutków błędnego rozstawu rur w ogrzewaniu podłogowym. Dowiedz się, dlaczego zbyt gęsty rozstaw niszczy pompę obiegową, a zbyt rzadki wywołuje zebrę 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.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-bledy",
    "name": "Parametry hydrauliczne i termiczne błędów montażowych O.P.",
    "description": "Zestawienie porównawcze konsekwencji skrajnych rozstawów rur: opory hydrauliczne (kPa), liczba Reynoldsa i zjawiska termiczne posadzki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "skutki złego rozstawu rur",
      "przepływ laminarny podłogówka",
      "opór hydrauliczny pompy obiegowej",
      "efekt zebry termicznej",
      "błędy montażu ogrzewania podłogowego"
    ],
    "measurementTechnique": "Obliczenia hydrauliczne spadku ciśnienia, przepływu masowego (m = Q / (cp * ΔT)) oraz liczby Reynoldsa (Re > 4000 dla przepływu turbulentnego).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zbyt gęsty rozstaw (<10cm): Opory hydrauliczne > 35 kPa, przeciążenie pompy obiegowej, przepływ laminarny.",
        "Zbyt rzadki rozstaw (>20cm): Zebra termiczna na posadzce, spadek sprawności emisyjnej o 20%, wzrost rachunków o 15-24%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp-bledy",
    "name": "Symulator Błędów Hydraulicznych",
    "description": "Interaktywna animacja SVG diagnozująca problemy instalacyjne. Zmieniając rozstaw rur, użytkownik obserwuje powstawanie przepływu laminarnego lub zjawiska zebry termicznej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 range input.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-err-app">
    <div class="rk-err-header">
        <div class="rk-err-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Demaskujemy Błędy Instalatorów
        </div>
        <h2 class="rk-err-title">Jakie są konsekwencje błędów <span>w gęstości układania podłogówki?</span></h2>
        <p class="rk-err-lead">
            Zbyt rzadki rozstaw rur (powyżej 20 cm) powoduje spadek sprawności emisyjnej o ponad 20% i powstawanie odczuwalnych różnic temperatur (tzw. zebra termiczna). Z kolei bezmyślne zagęszczanie (np. co 5 cm w całym domu) generuje potężne opory hydrauliczne przeciążające <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" class="rk-link">pompę obiegową</a>, doprowadzając do wysoce niekorzystnego przepływu laminarnego zamiast turbulentnego.
        </p>
    </div>

    <div class="rk-err-interactive">
        <h3 class="rk-err-h3">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg>
            Symulator Diagnostyczny Układu
        </h3>

        <div class="rk-err-grid">
            
            <div class="rk-sim-controls">
                <div class="rk-ctrl-header">
                    <span class="rk-ctrl-lbl">Rozstaw Rur na posadzce</span>
                    <span class="rk-ctrl-val" id="rk-val-display">15 cm</span>
                </div>
                
                <input type="range" class="rk-err-range" id="rk-err-slider" min="5" max="30" step="5" value="15">
                
                <div class="rk-param-list">
                    <div class="rk-param-item">
                        <span>Rodzaj przepływu:</span>
                        <span id="rk-stat-flow" style="color: var(--rk-err-success);">Turbulentny</span>
                    </div>
                    <div class="rk-param-item">
                        <span>Liczba Reynoldsa:</span>
                        <span id="rk-stat-re" style="color: var(--rk-err-success);">Re > 4000</span>
                    </div>
                    <div class="rk-param-item">
                        <span>Opór / Pompa:</span>
                        <span id="rk-stat-pump" style="color: var(--rk-err-success);">Optymalne (15 kPa)</span>
                    </div>
                </div>
            </div>

            <div class="rk-viz-board">
                <div class="rk-viz-status" id="rk-viz-alert">Wszystkie parametry w normie. Idealne oddawanie ciepła.</div>
                
                <svg class="rk-svg-layer" id="rk-scene-dense" viewBox="0 0 300 200" preserveAspectRatio="xMidYMid slice">
                    <rect x="20" y="80" width="260" height="40" fill="none" stroke="#64748b" stroke-width="4" rx="4"/>
                    <line x1="30" y1="90" x2="270" y2="90" stroke="#3b82f6" stroke-width="3" stroke-linecap="round" class="rk-anim-laminar"/>
                    <line x1="30" y1="100" x2="270" y2="100" stroke="#2563eb" stroke-width="3" stroke-linecap="round" class="rk-anim-laminar" style="animation-duration: 3s;"/>
                    <line x1="30" y1="110" x2="270" y2="110" stroke="#1d4ed8" stroke-width="3" stroke-linecap="round" class="rk-anim-laminar" style="animation-duration: 5s;"/>
                    <g class="rk-anim-pump-shake" transform="translate(150, 45)">
                        <circle cx="0" cy="0" r="25" fill="#ef4444" stroke="#7f1d1d" stroke-width="4"/>
                        <path d="M -10 -10 L 10 10 M 10 -10 L -10 10" stroke="#ffffff" stroke-width="4" stroke-linecap="round"/>
                    </g>
                </svg>

                <svg class="rk-svg-layer active" id="rk-scene-optimal" viewBox="0 0 300 200" preserveAspectRatio="xMidYMid slice">
                    <rect x="20" y="80" width="260" height="40" fill="none" stroke="#64748b" stroke-width="4" rx="4"/>
                    <path d="M 30 100 Q 60 85 90 100 T 150 100 T 210 100 T 270 100" fill="none" stroke="#10b981" stroke-width="4" class="rk-anim-turbulent"/>
                    <path d="M 30 100 Q 60 115 90 100 T 150 100 T 210 100 T 270 100" fill="none" stroke="#34d399" stroke-width="3" class="rk-anim-turbulent" style="animation-direction: reverse;"/>
                    
                    <g transform="translate(150, 45)">
                        <circle cx="0" cy="0" r="25" fill="#10b981" stroke="#065f46" stroke-width="4"/>
                        <polyline points="-10,0 0,10 15,-10" fill="none" stroke="#ffffff" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
                    </g>
                </svg>

                <svg class="rk-svg-layer" id="rk-scene-sparse" viewBox="0 0 300 200" preserveAspectRatio="xMidYMid slice">
                    <rect x="0" y="100" width="300" height="60" fill="#1e293b"/>
                    <circle cx="50" cy="130" r="10" fill="#ef4444"/>
                    <circle cx="250" cy="130" r="10" fill="#ef4444"/>
                    
                    <rect x="0" y="90" width="100" height="10" fill="#f87171" class="rk-anim-zebra"/>
                    <rect x="100" y="90" width="100" height="10" fill="#3b82f6" class="rk-anim-zebra" style="animation-delay: 1.5s;"/>
                    <rect x="200" y="90" width="100" height="10" fill="#f87171" class="rk-anim-zebra"/>

                    <text x="150" y="70" fill="#93c5fd" font-size="14" font-weight="bold" text-anchor="middle">STREFA CHŁODU (ZEBRA)</text>
                </svg>
            </div>
        </div>

        <h3 class="rk-err-h3">Skutki techniczno-finansowe w praktyce</h3>
        
        <div class="rk-effects-grid">
            <div class="rk-effect-card dense">
                <h4 class="rk-effect-title"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-err-danger)" stroke-width="3"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg> Zbyt gęsty rozstaw (< 10 cm wszędzie)</h4>
                <ul class="rk-effect-list">
                    <li><strong>Drastyczny wzrost kosztów inwestycyjnych:</strong> Zużywasz dwa razy więcej rury PEX oraz plastyfikatorów do betonu.</li>
                    <li><strong>Przewymiarowany rozdzielacz:</strong> Zamiast 6 sekcji, potrzebujesz drogiego modelu na 12 sekcji.</li>
                    <li><strong>Spadek prędkości wody:</strong> Przez opory hydrauliczne pompa obiegowa zwalnia, przepływ staje się laminarny i pogarsza się proces oddawania ciepła do jastrychu.</li>
                </ul>
            </div>

            <div class="rk-effect-card sparse">
                <h4 class="rk-effect-title"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-err-cold)" stroke-width="3"><line x1="5" y1="12" x2="19" y2="12"></line></svg> Zbyt rzadki rozstaw (25 - 30 cm)</h4>
                <ul class="rk-effect-list">
                    <li><strong>Nierównomierne nagrzewanie:</strong> Stopa człowieka wyczuwa gorące pasy nad rurą i lodowate przestrzenie pomiędzy nimi.</li>
                    <li><strong>Wzrost rachunków za ogrzewanie:</strong> Aby dogrzać dom, inwestor podnosi temperaturę na pompie o 5-8°C.</li>
                    <li><strong>Utrata efektywności:</strong> Spadek <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/" class="rk-link" style="color: var(--rk-err-text); border-color: var(--rk-err-muted);">delty temperatur (ΔT)</a> generuje wzrost kosztów prądu o 15-24% w skali całego roku.</li>
                </ul>
            </div>
        </div>

        <div class="rk-case-block">
            <div class="rk-case-header">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                <h4 style="margin: 0; font-size: 18px;">Przykład z inżynierskiego biurka</h4>
            </div>
            
            <p class="rk-case-text">
                Aby w rurze grzewczej zachodziła efektywna wymiana ciepła, ruch wody musi mieć charakter turbulentny (burzliwy), co odpowiada liczbie Reynoldsa <strong>Re > 4000</strong>. Przyjrzyjmy się konkretnym wyliczeniom dla całego domu o zapotrzebowaniu na moc <strong>Q = 11,5 kW</strong>, przy standardowym spadku temperatury ΔT = 5K:
            </p>

            <div class="rk-case-math">
                // Obliczenie masowego przepływu czynnika:<br>
                m = Q / (cp * ΔT)<br>
                m = 11.5 kW / (1.16 * 5K)<br>
                Wymagany przepływ (m) = <span>1,98 m³/h</span>
            </div>

            <div class="rk-alert-box">
                Jeśli instalator zignoruje wyliczenia i zagęści rury "na oko" (np. co 5 cm), całkowity opór hydrauliczny instalacji łatwo <strong>przekroczy 35 kPa</strong>. Standardowa pompa obiegowa wbudowana w pompę ciepła (o wysokości podnoszenia 6 m słupa wody) "uklęknie" pod takim oporem. W efekcie podłogówka będzie zimna, mimo że rachunki za prąd będą rosły, a urządzenie będzie pracować na 100% mocy!
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domeny (Brak tagów nagłówkowych w alercie)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-err-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; border-radius:24px; border:2px solid #ef4444; color:#fff; font-family:sans-serif; margin:40px auto; max-width:800px;">
                <div style="font-size: 40px; margin-bottom: 15px;">🛑</div>
                <div style="color:#ef4444; font-size:22px; font-weight:900; margin-bottom:10px; text-transform:uppercase;">Naruszenie Praw Autorskich</div>
                <div style="color:#cbd5e1; font-size:15px; line-height:1.6;">Interaktywny symulator błędów oraz JSON-LD są własnością Projekt-Ogrzewania.pl. Użycie nielegalne.</div>
            </div>
        `;
        return;
    }

    // 2. Logika symulatora
    const slider = document.getElementById('rk-err-slider');
    const valDisplay = document.getElementById('rk-val-display');
    
    // Pola tekstowe
    const statFlow = document.getElementById('rk-stat-flow');
    const statRe = document.getElementById('rk-stat-re');
    const statPump = document.getElementById('rk-stat-pump');
    const alertBox = document.getElementById('rk-viz-alert');

    // Sceny SVG
    const sceneDense = document.getElementById('rk-scene-dense');
    const sceneOpti = document.getElementById('rk-scene-optimal');
    const sceneSparse = document.getElementById('rk-scene-sparse');

    function updateSimulator() {
        const val = parseInt(slider.value);
        valDisplay.textContent = val + " cm";

        // Ukrycie wszystkich scen
        sceneDense.classList.remove('active');
        sceneOpti.classList.remove('active');
        sceneSparse.classList.remove('active');

        // Kolory zdefiniowane w CSS
        const colorDanger = 'var(--rk-err-danger)';
        const colorWarn = 'var(--rk-err-warn)';
        const colorSuccess = 'var(--rk-err-success)';
        const colorCold = 'var(--rk-err-cold)';

        if (val < 10) {
            // ZBYT GĘSTO
            statFlow.textContent = "Laminarny (BŁĄD)";
            statFlow.style.color = colorDanger;
            
            statRe.textContent = "Re < 2000";
            statRe.style.color = colorDanger;
            
            statPump.textContent = "Krytyczne (>35 kPa)";
            statPump.style.color = colorDanger;

            alertBox.textContent = "BŁĄD: Przepływ laminarny. Pompa zablokowana przez potężny opór hydrauliczny!";
            alertBox.style.color = "#fca5a5";
            alertBox.style.borderColor = "#ef4444";

            sceneDense.classList.add('active');

        } else if (val >= 10 && val <= 15) {
            // OPTYMALNIE
            statFlow.textContent = "Turbulentny (Burzliwy)";
            statFlow.style.color = colorSuccess;
            
            statRe.textContent = "Re > 4000";
            statRe.style.color = colorSuccess;
            
            statPump.textContent = "Optymalne (15-20 kPa)";
            statPump.style.color = colorSuccess;

            alertBox.textContent = "IDEALNIE: Woda skutecznie odbiera ciepło. Pompa pracuje na luzie.";
            alertBox.style.color = "#6ee7b7";
            alertBox.style.borderColor = "#10b981";

            sceneOpti.classList.add('active');

        } else {
            // ZBYT RZADKO (20-30)
            statFlow.textContent = "Mieszany";
            statFlow.style.color = colorWarn;
            
            statRe.textContent = "Re ~ 3000";
            statRe.style.color = colorWarn;
            
            statPump.textContent = "Niskie (<10 kPa)";
            statPump.style.color = colorCold;

            alertBox.textContent = "BŁĄD: Zjawisko Zebry Termicznej. Podłoga ogrzewa się strefowo i niedogrzewa domu.";
            alertBox.style.color = "#93c5fd";
            alertBox.style.borderColor = "#3b82f6";

            sceneSparse.classList.add('active');
        }
    }

    // Nasłuch
    slider.addEventListener('input', updateSimulator);
    
    // Inicjalizacja domyślnego stanu (15cm)
    updateSimulator();
});
</script>



<style>
:root {
    --rk-slab-dark: #0f172a;
    --rk-slab-darker: #020617;
    --rk-slab-border: #334155;
    --rk-slab-text: #334155;
    --rk-slab-muted: #64748b;
    --rk-slab-bg: #ffffff;
    --rk-slab-panel: #f8fafc;
    
    /* Kolory warstw budowlanych */
    --rk-color-anhydrite: #f59e0b; /* Bursztynowy jastrych */
    --rk-color-cement: #94a3b8;    /* Betonowy szary */
    --rk-color-eps: #e2e8f0;       /* Styropian biały/szary */
    --rk-color-pir: #dae5d0;       /* Płyta PIR miętowa */
    --rk-color-heat: #ef4444;      /* Intensywne ciepło */
}

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

/* Nagłówek i Wstęp */
.rk-slab-header {
    background: linear-gradient(135deg, var(--rk-slab-darker) 0%, var(--rk-slab-dark) 100%);
    padding: 45px 50px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-color-anhydrite);
}

.rk-slab-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.15);
    color: #fcd34d;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.rk-slab-title {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.rk-slab-title span { color: var(--rk-color-anhydrite); }

.rk-slab-lead {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-link {
    color: var(--rk-color-anhydrite);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(245, 158, 11, 0.5);
    transition: all 0.3s;
}

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

/* Panel sterowania i wizualizacji */
.rk-slab-body {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 35px;
    background: #ffffff;
}

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

.rk-ctrl-group {
    background: var(--rk-slab-panel);
    border: 1px solid #e2e8f0;
    padding: 25px;
    border-radius: 20px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-ctrl-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-slab-muted);
    text-transform: uppercase;
    margin-bottom: 15px;
    display: block;
    letter-spacing: 0.5px;
}

/* Przełącznik Jastrychu (Tabs) */
.rk-screed-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.rk-screed-btn {
    padding: 14px 10px;
    border: 2px solid #e2e8f0;
    background: #ffffff;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-slab-muted);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-align: center;
}

.rk-screed-btn:hover { border-color: #cbd5e1; }
.rk-screed-btn.active[data-screed="anhydrite"] { border-color: var(--rk-color-anhydrite); background: #fefce8; color: #b45309; }
.rk-screed-btn.active[data-screed="cement"] { border-color: #64748b; background: #f1f5f9; color: #1e293b; }

/* Suwak Izolacji */
.rk-ins-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.rk-ins-val { font-size: 20px; font-weight: 900; color: var(--rk-slab-dark); }

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

.rk-slab-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--rk-slab-dark);
    cursor: pointer;
    box-shadow: 0 0 10px rgba(0,0,0,0.15);
    border: 4px solid #ffffff;
    transition: transform 0.1s;
}
.rk-slab-range::-webkit-slider-thumb:hover { transform: scale(1.15); }

/* Parametry Wynikowe */
.rk-slab-outputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-out-card {
    background: var(--rk-slab-panel);
    border: 1px solid #e2e8f0;
    padding: 15px;
    border-radius: 14px;
    text-align: center;
}

.rk-out-lbl { font-size: 11px; font-weight: 700; color: var(--rk-slab-muted); text-transform: uppercase; margin-bottom: 5px; }
.rk-out-val { font-size: 18px; font-weight: 900; color: var(--rk-slab-dark); }

/* Prawa Kolumna: Wizualizacja Przekroju SVG */
.rk-viz-board {
    background: var(--rk-slab-darker);
    border-radius: 20px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--rk-slab-border);
    box-shadow: inset 0 0 40px rgba(0,0,0,0.8);
    position: relative;
}

.rk-svg-viewport {
    width: 100%;
    height: auto;
    margin-top: auto;
}

/* Elementy i klasy dynamiczne SVG */
.rk-svg-layer { transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
.rk-svg-pipe { fill: #ef4444; stroke: #b91c1c; stroke-width: 2; transition: all 0.5s; }
.rk-svg-text { fill: #94a3b8; font-size: 12px; font-family: monospace; transition: fill 0.5s; }
.rk-svg-dim { stroke: #475569; stroke-width: 1; stroke-dasharray: 2 2; transition: all 0.5s; }

/* Fale Transferu Ciepła (Radiacja boczna vs pionowa) */
.rk-wave-line { fill: none; stroke: var(--rk-color-heat); stroke-width: 2; stroke-linecap: round; opacity: 0.6; }
.rk-wave-group { opacity: 0; transform-origin: bottom; transition: all 0.5s; }
.rk-wave-group.active { opacity: 1; }

.rk-wave-lateral { stroke-dasharray: 6 6; animation: lateralMove 2s linear infinite; }
.rk-wave-vertical { stroke-dasharray: 6 6; animation: verticalMove 1.5s linear infinite; }

@keyframes lateralMove { to { stroke-dashoffset: -20; } }
@keyframes verticalMove { to { stroke-dashoffset: -20; } }

/* Blok Podsumowania struktury posadzki */
.rk-structural-alert {
    grid-column: 1 / -1;
    background: var(--rk-slab-panel);
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 30px;
    margin-top: 10px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.01);
}

.rk-struct-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-slab-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-struct-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin: 0;
}

.rk-blueprint-card {
    background: var(--rk-slab-dark);
    border: 1px solid var(--rk-slab-border);
    border-radius: 12px;
    padding: 20px;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.6;
    margin-top: 20px;
}

.rk-bp-row {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dashed var(--rk-slab-border);
    padding: 8px 0;
}
.rk-bp-row:last-child { border-bottom: none; }
.rk-bp-lbl { color: #94a3b8; font-weight: 500; }
.rk-bp-val { font-weight: 700; color: #f1f5f9; }
.rk-bp-val span { color: var(--rk-color-anhydrite); }

@media (max-width: 850px) {
    .rk-slab-header, .rk-slab-body { padding: 30px 20px; }
    .rk-slab-body { grid-template-columns: 1fr; gap: 30px; }
    .rk-slab-outputs { grid-template-columns: 1fr; }
    .rk-structural-alert { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-wylewka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Jak grubość styropianu i rodzaj wylewki wpływają na efektywność rozstawu rur?",
    "description": "Analiza wpływu oporu cieplnego styropianu EPS/PIR oraz przewodności jastrychu anhydrytowego na rozstaw rur grzewczych. Wytyczne wg normy PN-EN 1264.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-wylewka",
    "name": "Korelacja przewodności jastrychu i oporu termicznego izolacji podłogowej",
    "description": "Zbiór danych technicznych odwzorowujący wpływ przewodnictwa cieplnego lambda (W/mK) wylewek oraz grubości izolacji na czas bezwładności i dopuszczalny krok rur.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wylewka na ogrzewanie podłogowe",
      "ile styropianu pod ogrzewanie podłogowe",
      "jastrych anhydrytowy przewodność",
      "opór cieplny izolacji R",
      "bezwładność cieplna podłogówki"
    ],
    "measurementTechnique": "Modelowanie pól temperatur i strumieni przewodzenia posadzki płaskiej zgodnie z normami PN-EN 1264-2 oraz PN-EN 12831.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Jastrych anhydrytowy: Lambda = 1.8 W/(mK), grubość nad rurą 35 mm, bezwładność cieplna 1.5-2h. Pozwala zwiększyć rozstaw o 2-3 cm.",
        "Jastrych cementowy: Lambda = 1.2 W/(mK), grubość nad rurą 45 mm, bezwładność cieplna 4-5h.",
        "Izolacja normowa: Minimum 15 cm EPS 100 lub 12 cm PIR dla zachowania oporu R >= 4.5 m²K/W."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp-wylewka",
    "name": "Interaktywny Przekrój Płyty Grzewczej i Symulator Akumulacji",
    "description": "Aplikacja webowa symulująca kierunki rozchodzenia się strumienia ciepła (boczny transfer vs straty w grunt) w zależności od struktury fizycznej jastrychu i grubości izolacji EPS.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Canvas/SVG dynamic rendering support.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-slab-container" id="rk-wylewka-slab">
    <div class="rk-slab-header">
        <div class="rk-slab-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="3" y1="15" x2="21" y2="15"></line></svg>
            Fizyka Przewodzenia i Akumulacji
        </div>
        <h2 class="rk-slab-title">Jak grubość styropianu i rodzaj wylewki <span>wpływają na rozstaw rur?</span></h2>
        <p class="rk-slab-lead">
            Grubość izolacji podłogi na gruncie musi wynosić minimum 15 cm styropianu klasy EPS 100 (lub 12 cm PIR), aby opór cieplny warstwy przekroczył wartość **R = 4,5 m²K/W**. Rodzaj wylewki bezpośrednio modyfikuje dynamikę oddawania ciepła: jastrych anhydrytowy o wysokiej przewodności **λ = 1,8 W/(m·K)** pozwala na bezpieczne zwiększenie projektowanego rozstawu rur o 2-3 cm w stosunku do tradycyjnej wylewki cementowej **(λ = 1,2 W/(m·K))**, zachowując identyczną temperaturę powierzchni posadzki.
        </p>
    </div>

    <div class="rk-slab-body">
        
        <div class="rk-slab-controls">
            <div class="rk-ctrl-group">
                <span class="rk-ctrl-label">1. Wybierz rodzaj wylewki</span>
                <div class="rk-screed-tabs">
                    <button class="rk-screed-btn active" data-screed="anhydrite">Anhydryt</button>
                    <button class="rk-screed-btn" data-screed="cement">Cementowa</button>
                </div>
            </div>

            <div class="rk-ctrl-group">
                <div class="rk-ins-header">
                    <span class="rk-ctrl-label" style="margin:0;">2. Grubość Izolacji (EPS)</span>
                    <span class="rk-ins-val" id="rk-ins-display">15 cm</span>
                </div>
                <input type="range" class="rk-slab-range" id="rk-ins-slider" min="5" max="25" step="5" value="15">
            </div>

            <div class="rk-slab-outputs">
                <div class="rk-out-card">
                    <div class="rk-out-lbl">Przewodność λ</div>
                    <div class="rk-out-val" id="rk-out-lambda" style="color: var(--rk-color-anhydrite);">1.8 W/mK</div>
                </div>
                <div class="rk-out-card">
                    <div class="rk-out-card-inner">
                        <div class="rk-out-lbl">Opór Termiczny R</div>
                        <div class="rk-out-val" id="rk-out-r">4.15 m²K/W</div>
                    </div>
                </div>
                <div class="rk-out-card">
                    <div class="rk-out-lbl">Bezwładność</div>
                    <div class="rk-out-val" id="rk-out-inertia">1.5 - 2.0 h</div>
                </div>
                <div class="rk-out-card">
                    <div class="rk-out-lbl">Zalecany krok b</div>
                    <div class="rk-out-val" id="rk-out-step" style="color: #10b981;">15 cm</div>
                </div>
            </div>
        </div>

        <div class="rk-viz-board">
            <div class="rk-viz-status">Techniczny Przekrój Płyty Grzewczej (Skala dynamiczna)</div>
            
            <div class="rk-svg-viewport">
                <svg viewBox="0 0 400 240" fill="none" id="rk-blueprint-svg">
                    <rect x="20" y="20" width="360" height="8" fill="#475569" rx="1"/>
                    
                    <rect id="svg-screed-layer" x="20" y="28" width="360" height="51" fill="url(#screedGradAnhydrite)"/>
                    
                    <rect id="svg-insulation-layer" x="20" y="79" width="360" height="60" fill="var(--rk-color-eps)" stroke="#cbd5e1" stroke-width="1"/>
                    
                    <rect id="svg-base-layer" x="20" y="139" width="360" height="40" fill="#334155"/>
                    <text id="svg-base-text" x="200" y="163" class="rk-svg-text" text-anchor="middle" fill="#64748b" font-weight="bold">BETON KONTRAKTOWY / GRUNT</text>

                    <g id="svg-waves-anhydrite" class="rk-wave-group active">
                        <path class="rk-wave-line rk-wave-lateral" d="M 100 55 Q 100 35 120 32 T 140 32"/>
                        <path class="rk-wave-line rk-wave-lateral" d="M 100 55 Q 100 35 80 32 T 60 32"/>
                        <path class="rk-wave-line rk-wave-lateral" d="M 260 55 Q 260 35 280 32 T 300 32"/>
                        <path class="rk-wave-line rk-wave-lateral" d="M 260 55 Q 260 35 240 32 T 220 32"/>
                    </g>
                    <g id="svg-waves-cement" class="rk-wave-group">
                        <path class="rk-wave-line rk-wave-vertical" d="M 80 65 L 80 32 M 100 65 L 100 32 M 120 65 L 120 32"/>
                        <path class="rk-wave-line rk-wave-vertical" d="M 240 75 L 240 32 M 260 75 L 260 32 M 280 75 L 280 32"/>
                    </g>

                    <g id="svg-pipes-container">
                        </g>

                    <g id="svg-dimensions">
                        <line id="dim-screed-line" x1="385" y1="28" x2="385" y2="79" stroke="#94a3b8" stroke-width="1"/>
                        <text id="dim-screed-text" x="390" y="58" fill="#94a3b8" font-size="11" font-family="monospace">51mm</text>

                        <line id="dim-ins-line" x1="385" y1="79" x2="385" y2="139" stroke="#94a3b8" stroke-width="1"/>
                        <text id="dim-ins-text" x="390" y="113" fill="#94a3b8" font-size="11" font-family="monospace">15cm</text>
                    </g>

                    <defs>
                        <linearGradient id="screedGradAnhydrite" x1="0" y1="0" x2="0" y2="1">
                            <stop offset="0%" stop-color="#fef08a"/>
                            <stop offset="100%" stop-color="#b45309"/>
                        </linearGradient>
                        <linearGradient id="screedGradCement" x1="0" y1="0" x2="0" y2="1">
                            <stop offset="0%" stop-color="#cbd5e1"/>
                            <stop offset="100%" stop-color="#475569"/>
                        </linearGradient>
                    </defs>
                </svg>
            </div>
        </div>

        <div class="rk-structural-alert">
            <h4 class="rk-struct-title">
                <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l-7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                Inżynierski model uwarstwienia radiatora podłogowego
            </h4>
            <p class="rk-struct-desc">
                Wylewka pełni funkcję płaszczyznowego radiatora. Jastrych anhydrytowy ma strukturę płynną podczas aplikacji, dzięki czemu całkowicie otula rury grzewcze, eliminując mikroskopijne pustki powietrzne będące izolatorem. Wyższa przewodność i redukcja grubości sprawiają, że układ anhydrytowy cechuje się skrajnie niską bezwładnością. Reaguje na zmianę parametrów automatyki pokojowej dwukrotnie szybciej niż gruby, porowaty beton cementowy z miksokreta.
            </p>

            <div class="rk-blueprint-card">
                <div class="rk-bp-row">
                    <span class="rk-bp-lbl">Warstwa 1: Wykończenie Posadzki</span>
                    <span class="rk-bp-val">Płytki ceramiczne lub panele dedykowane</span>
                </div>
                <div class="rk-bp-row">
                    <span class="rk-bp-lbl">Warstwa 2: Radiator Przekazujący</span>
                    <span class="rk-bp-val" id="rk-bp-layer2">Jastrych Anhydrytowy (λ = <span>1.8 W/mK</span>)</span>
                </div>
                <div class="rk-bp-row">
                    <span class="rk-bp-lbl">Warstwa 3: Rdzeń Emisyjny</span>
                    <span class="rk-bp-val" id="rk-bp-layer3">Rura PEX-Al-PEX Ø 16 mm w rozstawie co <span>15 cm</span></span>
                </div>
                <div class="rk-bp-row">
                    <span class="rk-bp-lbl">Warstwa 4: Blokada Termiczna (Straty w grunt)</span>
                    <span class="rk-bp-val" id="rk-bp-layer4">Styropian EPS 100 (Grubość: <span>15 cm</span>)</span>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Domain Lock) - Brak tagów H2/H3 w strukturze błędu
    const currentDomain = window.location.hostname;
    const trustedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!trustedDomains.includes(currentDomain)) {
        const mainApp = document.getElementById('rk-wylewka-slab');
        if (mainApp) {
            mainApp.innerHTML = `
                <div style="padding: 45px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; max-width: 800px; margin: 40px auto;">
                    <div style="font-size: 45px; margin-bottom: 20px;">🛑</div>
                    <div style="font-size: 19px; font-weight: 900; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.5px;">Wykryto Naruszenie Licencji Inżynierskiej</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 550px; margin: 0 auto; line-height: 1.6;">
                        Interaktywny kontener fizyki struktur grzewczych oraz powiązana struktura danych Dataset/WebApplication stanowią chronioną własność serwisu Projekt-Ogrzewania.pl. Kod został zablokowany.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora Dynamicznego
    const btnAnhydrite = document.querySelector('.rk-screed-btn[data-screed="anhydrite"]');
    const btnCement = document.querySelector('.rk-screed-btn[data-screed="cement"]');
    const insSlider = document.getElementById('rk-ins-slider');
    const insDisplay = document.getElementById('rk-ins-display');

    // Pola tekstowe UI
    const outLambda = document.getElementById('rk-out-lambda');
    const outR = document.getElementById('rk-out-r');
    const outInertia = document.getElementById('rk-out-inertia');
    const outStep = document.getElementById('rk-out-step');

    // Pola tekstowe struktury dolnej
    const bpLayer2 = document.getElementById('rk-bp-layer2');
    const bpLayer3 = document.getElementById('rk-bp-layer3');
    const bpLayer4 = document.getElementById('rk-bp-layer4');

    // Elementy dynamiczne SVG
    const svgScreed = document.getElementById('svg-screed-layer');
    const svgInsulation = document.getElementById('svg-insulation-layer');
    const svgBase = document.getElementById('svg-base-layer');
    const svgBaseText = document.getElementById('svg-base-text');
    const svgPipesContainer = document.getElementById('svg-pipes-container');
    const dimScreedLine = document.getElementById('dim-screed-line');
    const dimScreedText = document.getElementById('dim-screed-text');
    const dimInsLine = document.getElementById('dim-ins-line');
    const dimInsText = document.getElementById('dim-ins-text');

    const wavesAnhydrite = document.getElementById('svg-waves-anhydrite');
    const wavesCement = document.getElementById('svg-waves-cement');

    let selectedScreed = 'anhydrite'; // stan początkowy

    function updateSlabSimulation() {
        const thicknessCm = parseInt(insSlider.value);
        insDisplay.textContent = thicknessCm + ' cm';
        
        // Przeliczenie oporu R (Styropian EPS 100: lambda = 0.036 W/mK)
        const R_value = (thicknessCm / 100 / 0.036).toFixed(2);
        outR.textContent = R_value + ' m²K/W';

        // Konfiguracja zmiennych w zależności od wybranego jastrychu
        let lambdaText, inertiaText, stepText, screedHeightPx, screedFill, dimScreedLabel;
        let pipePoints = [];

        // Przelicznik cm izolacji na piksele w SVG (1cm = 4px)
        const insHeightPx = thicknessCm * 4;

        if (selectedScreed === 'anhydrite') {
            lambdaText = '1.8 W/mK';
            inertiaText = '1.5 - 2.0 h';
            stepText = '15 cm';
            screedHeightPx = 51; // 35mm nad rurą + 16mm rura
            screedFill = 'url(#screedGradAnhydrite)';
            dimScreedLabel = '51mm';
            
            outLambda.style.color = 'var(--rk-color-anhydrite)';
            outStep.style.color = '#10b981';
            wavesAnhydrite.classList.add('active');
            wavesCement.classList.remove('active');

            // 2 rury dla rozstawu 15cm w przekroju
            pipePoints = [110, 290];

            bpLayer2.innerHTML = 'Jastrych Anhydrytowy (λ = <span style="color:var(--rk-color-anhydrite);">1.8 W/mK</span>)';
            bpLayer3.innerHTML = 'Rura PEX-Al-PEX Ø 16 mm w rozstawie co <span style="color:#10b981;">15 cm</span>';
        } else {
            lambdaText = '1.2 W/mK';
            inertiaText = '4.0 - 5.0 h';
            stepText = '12 cm';
            screedHeightPx = 61; // 45mm nad rurą + 16mm rura
            screedFill = 'url(#screedGradCement)';
            dimScreedLabel = '61mm';
            
            outLambda.style.color = '#64748b';
            outStep.style.color = 'var(--rk-color-warn)';
            wavesAnhydrite.classList.remove('active');
            wavesCement.classList.add('active');

            // 4 rury dla rozstawu 12cm w przekroju
            pipePoints = [60, 150, 240, 330];

            bpLayer2.innerHTML = 'Wylewka Cementowa / Miksokret (λ = <span style="color:#94a3b8;">1.2 W/mK</span>)';
            bpLayer3.innerHTML = 'Rura PEX-Al-PEX Ø 16 mm w rozstawie co <span style="color:var(--rk-color-warn);">12 cm</span>';
        }

        // Aktualizacja danych tekstowych UI
        outLambda.textContent = lambdaText;
        outInertia.textContent = inertiaText;
        outStep.textContent = stepText;
        bpLayer4.innerHTML = 'Styropian EPS 100 (Grubość: <span style="color:#10b981;">' + thicknessCm + ' cm</span> | R = ' + R_value + ' m²K/W)';

        // Pozycjonowanie i wymiarowanie dynamicznych warstw SVG
        svgScreed.setAttribute('height', screedHeightPx);
        svgScreed.setAttribute('fill', screedFill);

        // Izolacja zaczyna się tam, gdzie kończy jastrych (28 + screedHeightPx)
        const insY = 28 + screedHeightPx;
        svgInsulation.setAttribute('y', insY);
        svgInsulation.setAttribute('height', insHeightPx);

        // Baza pod izolacją
        const baseY = insY + insHeightPx;
        svgBase.setAttribute('y', baseY);
        svgBaseText.setAttribute('y', baseY + 24);

        // Aktualizacja rur wewnątrz jastrychu (cy lokowane przy dnie jastrychu minus promień 8px)
        const pipeCy = insY - 8;
        let pipesHTML = '';
        pipePoints.forEach(cx => {
            pipesHTML += `<circle class="rk-svg-pipe" cx="${cx}" cy="${pipeCy}" r="8"/>`;
            pipesHTML += `<circle cx="${cx}" cy="${pipeCy}" r="3" fill="#ffffff"/>`;
        });
        svgPipesContainer.innerHTML = pipesHTML;

        // Aktualizacja linii wymiarowych po prawej stronie przekroju
        dimScreedLine.setAttribute('y1', 28);
        dimScreedLine.setAttribute('y2', insY);
        dimScreedText.setAttribute('y', 28 + (screedHeightPx / 2) + 4);
        dimScreedText.textContent = dimScreedLabel;

        dimInsLine.setAttribute('y1', insY);
        dimInsLine.setAttribute('y2', baseY);
        dimInsText.setAttribute('y', insY + (insHeightPx / 2) + 4);
        dimInsText.textContent = thicknessCm + 'cm';
    }

    // Eventy przełączania jastrychów
    btnAnhydrite.addEventListener('click', function() {
        btnCement.classList.remove('active');
        this.classList.add('active');
        selectedScreed = 'anhydrite';
        updateSlabSimulation();
    });

    btnCement.addEventListener('click', function() {
        btnAnhydrite.classList.remove('active');
        this.classList.add('active');
        selectedScreed = 'cement';
        updateSlabSimulation();
    });

    // Event suwaka izolacji
    insSlider.addEventListener('input', updateSlabSimulation);

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



<style>
:root {
    --rk-proj-dark: #0f172a;
    --rk-proj-darker: #020617;
    --rk-proj-blue: #2563eb;
    --rk-proj-accent: #38bdf8;
    --rk-proj-text: #334155;
    --rk-proj-muted: #64748b;
    --rk-proj-border: #e2e8f0;
    --rk-proj-bg: #ffffff;
    --rk-proj-panel: #f8fafc;
    
    /* Kolory systemów */
    --rk-col-ozc: #ef4444;       /* OZC / Ciepło */
    --rk-col-vent: #10b981;      /* Rekuperacja / Powietrze */
    --rk-col-hydr: #3b82f6;      /* Hydraulika / Rotametry */
}

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

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

.rk-proj-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(37, 99, 235, 0.2);
    color: #93c5fd;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(37, 99, 235, 0.3);
}

.rk-proj-title {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.rk-proj-title span { color: var(--rk-proj-accent); }

.rk-proj-lead {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-link {
    color: var(--rk-proj-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(56, 189, 248, 0.5);
    transition: all 0.3s;
}

.rk-link:hover {
    color: #93c5fd;
    border-bottom-style: solid;
}

/* Interaktywny Panel */
.rk-proj-body {
    padding: 40px 50px;
    background: var(--rk-proj-panel);
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 35px;
}

/* Kontrolki (Przełączniki Systemowe) */
.rk-proj-controls {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

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

.rk-sys-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

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

.rk-sys-info { display: flex; flex-direction: column; }
.rk-sys-name { font-size: 15px; font-weight: 800; color: var(--rk-proj-dark); margin-bottom: 2px; }
.rk-sys-lbl { font-size: 11px; font-weight: 700; color: var(--rk-proj-muted); text-transform: uppercase; }

/* Stany aktywne dla przełączników */
.rk-sys-card.active[data-sys="ozc"] { border-color: var(--rk-col-ozc); background: #fef2f2; }
.rk-sys-card.active[data-sys="ozc"] .rk-sys-icon { background: var(--rk-col-ozc); color: white; }

.rk-sys-card.active[data-sys="reku"] { border-color: var(--rk-col-vent); background: #f0fdf4; }
.rk-sys-card.active[data-sys="reku"] .rk-sys-icon { background: var(--rk-col-vent); color: white; }

.rk-sys-card.active[data-sys="hydr"] { border-color: var(--rk-col-hydr); background: #eff6ff; }
.rk-sys-card.active[data-sys="hydr"] .rk-sys-icon { background: var(--rk-col-hydr); color: white; }

/* Prawa Kolumna: Dynamiczny Ekran Wizualizacji SVG */
.rk-display-board {
    background: var(--rk-proj-darker);
    border-radius: 20px;
    padding: 25px;
    border: 1px solid #334155;
    box-shadow: inset 0 0 35px rgba(0,0,0,0.7);
    display: flex;
    flex-direction: column;
}

.rk-display-status {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    padding: 12px 15px;
    border-radius: 10px;
    color: #94a3b8;
    font-size: 12px;
    font-family: monospace;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
}

.rk-display-status span { color: #ffffff; font-weight: bold; }

.rk-svg-stage {
    width: 100%;
    height: auto;
    margin-top: auto;
}

/* Animacje i stany warstw SVG */
.rk-anim-layer { transition: opacity 0.4s ease, transform 0.4s ease; opacity: 0; }
.rk-anim-layer.active { opacity: 1; }

.rk-pulse-circle { animation: pulseOZC 2s infinite alternate; }
.rk-flow-arrow { stroke-dasharray: 6 6; animation: ventFlow 1.5s linear infinite; }
.rk-fluid-flow { stroke-dasharray: 8 8; animation: fluidFlow 1s linear infinite; }

@keyframes pulseOZC { from { fill: #b91c1c; opacity: 0.4; } to { fill: #ef4444; opacity: 0.9; } }
@keyframes ventFlow { to { stroke-dashoffset: -12; } }
@keyframes fluidFlow { to { stroke-dashoffset: -16; } }

/* Dolna sekcja: Treść dodatkowa i korzyści finansowe */
.rk-project-advantages {
    grid-column: 1 / -1;
    background: #ffffff;
    border: 1px solid var(--rk-proj-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.01);
}

.rk-adv-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-proj-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-adv-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 25px 0;
}

/* Siatka korzyści (Kafelki responsywne) */
.rk-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-benefit-card {
    background: var(--rk-proj-panel);
    border: 1px solid var(--rk-proj-border);
    padding: 20px;
    border-radius: 14px;
}

.rk-benefit-card h5 {
    margin: 0 0 8px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-proj-dark);
}

.rk-benefit-card p {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--rk-proj-muted);
}

/* Sekcja CTA */
.rk-proj-cta-box {
    padding: 45px 40px;
    background: #ffffff;
    text-align: center;
    border-top: 1px solid var(--rk-proj-border);
}

.rk-cta-title {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    margin: 0 0 12px 0;
}

.rk-cta-text {
    font-size: 15px;
    color: var(--rk-proj-muted);
    margin: 0 auto 30px auto;
    max-width: 650px;
    line-height: 1.6;
}

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-proj-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 18px 38px;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.35);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.rk-btn-massive:hover {
    transform: translateY(-4px);
    background: var(--rk-proj-dark);
    box-shadow: 0 15px 30px -5px rgba(2, 6, 23, 0.4);
    border-color: var(--rk-proj-accent);
}

.rk-btn-massive svg { transition: transform 0.3s; }
.rk-btn-massive:hover svg { transform: translateX(6px); }

@media (max-width: 850px) {
    .rk-proj-header, .rk-proj-body, .rk-proj-cta-box { padding: 30px 20px; }
    .rk-proj-body { grid-template-columns: 1fr; gap: 25px; }
    .rk-benefit-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-btn-massive { width: 100%; font-size: 16px; padding: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Jak to wpływa na profesjonalny projekt ogrzewania podłogowego?",
    "description": "Dlaczego rozstaw rur w ogrzewaniu płaszczyznowym zależy od OZC i hydrauliki. Zobacz, jak profesjonalny projekt chroni przed pękaniem wylewki i generuje oszczędności.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-projekt",
    "name": "Zależności inżynierskie w projektowaniu płaszczyznowym",
    "description": "Macierz powiązań parametrów fizycznych ogrzewania podłogowego z systemami rekuperacji i charakterystyką masową przepływu cieczy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "profesjonalny projekt ogrzewania",
      "zrównoważenie hydrauliczne",
      "rekuperacja a ogrzewanie podłogowe",
      "dylatacje jastrychu",
      "nastawy rotametrów"
    ],
    "measurementTechnique": "Zintegrowany proces projektowy łączący bilans strat OZC wg PN-EN 12831, obliczenia oporów liniowych oraz stref dylatacyjnych płyty jastrychu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Obliczenia OZC: Zapobiegają instalacji pętli 'na oko', dopasowując rozstaw do realnych strat pomieszczeń.",
        "Korelacja z Wentylacją: Rekuperacja obniża szczytowe zapotrzebowanie, umożliwiając rozrzedzenie rozstawu rur.",
        "Zbalansowanie Hydrauliczne: Wyznaczenie nastaw rotametrów zapobiega blokowaniu przepływów czynnika grzewczego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp-projekt",
    "name": "Interaktywny Model Integracji Grzewczo-Wentylacyjnej",
    "description": "Panel wizualizacji inżynierskiej demonstrujący synergię bilansu OZC, wentylacji mechanicznej z odzyskiem ciepła oraz hydrauliki rozdzielacza pętli.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and SVG interactive selector functionality.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proj-container" id="rk-project-impact">
    <div class="rk-proj-header">
        <div class="rk-proj-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
            Inżynieria Projektowa vs Intuicja
        </div>
        <h2 class="rk-proj-title">Jak to wpływa na profesjonalny <span>projekt ogrzewania podłogowego?</span></h2>
        <p class="rk-proj-lead">
            W profesjonalnym projekcie ogrzewania podłogowego rozstaw rur jest zmienną wynikową, ściśle powiązaną z <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/" class="rk-link">obliczeniami OZC</a> według normy <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" class="rk-link">PN-EN 12831</a>, nastawami na rotametrach rozdzielacza oraz charakterystyką pompy obiegowej. Nie można zaprojektować rozstawu w oderwaniu od hydrauliki układu, ponieważ zmiana gęstości rur drastycznie modyfikuje zład wody, masę jastrychu oraz wymagany autorytet zaworów regulacyjnych.
        </p>
    </div>

    <div class="rk-proj-body">
        
        <div class="rk-proj-controls">
            <div class="rk-sys-card active" data-sys="ozc">
                <div class="rk-sys-icon" style="background: var(--rk-col-ozc); color: white;">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <div class="rk-sys-info">
                    <span class="rk-sys-name">Bilans OZC 12831</span>
                    <span class="rk-sys-lbl">Fundament Mocy</span>
                </div>
            </div>

            <div class="rk-sys-card" data-sys="reku">
                <div class="rk-sys-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M23 12a11 11 0 1 1-22 0 11 11 0 0 1 22 0z"></path><path d="M12 7v5l3 3"></path></svg>
                </div>
                <div class="rk-sys-info">
                    <span class="rk-sys-name">Rekuperacja (Odzysk)</span>
                    <span class="rk-sys-lbl">Synergia Powietrza</span>
                </div>
            </div>

            <div class="rk-sys-card" data-sys="hydr">
                <div class="rk-sys-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z"></path><path d="M12 6v6l4 2"></path></svg>
                </div>
                <div class="rk-sys-info">
                    <span class="rk-sys-name">Hydraulika Pętli</span>
                    <span class="rk-sys-lbl">Zrównoważenie Masowe</span>
                </div>
            </div>
        </div>

        <div class="rk-display-board">
            <div class="rk-display-status">Wizualizacja warstwy projektowej: <span id="rk-sys-title-display">Bilans OZC EN 12831</span></div>
            
            <div class="rk-svg-stage">
                <svg viewBox="0 0 320 140" fill="none">
                    <path d="M 20 130 L 20 70 L 160 20 L 300 70 L 300 130 Z" stroke="#334155" stroke-width="2"/>
                    <line x1="20" y1="130" x2="300" y2="130" stroke="#475569" stroke-width="3"/>

                    <g id="svg-layer-ozc" class="rk-anim-layer active">
                        <circle cx="160" cy="75" r="20" class="rk-pulse-circle"/>
                        <text x="160" y="80" fill="#ffffff" font-size="13" font-weight="black" text-anchor="middle">OZC</text>
                        <path d="M 20 100 L 50 100 M 300 100 L 270 100 M 160 20 L 160 50" stroke="var(--rk-col-ozc)" stroke-width="3" stroke-linecap="round"/>
                        <polyline points="45,95 50,100 45,105" fill="none" stroke="var(--rk-col-ozc)" stroke-width="2"/>
                        <polyline points="275,95 270,100 275,105" fill="none" stroke="var(--rk-col-ozc)" stroke-width="2"/>
                    </g>

                    <g id="svg-layer-reku" class="rk-anim-layer">
                        <path d="M 40 120 C 40 60, 160 60, 160 120" class="rk-wave-line rk-flow-arrow" stroke="var(--rk-col-vent)" stroke-width="3"/>
                        <path d="M 280 120 C 280 60, 160 60, 160 120" class="rk-wave-line rk-flow-arrow" stroke="var(--rk-col-vent)" stroke-width="3" style="animation-delay: 0.75s;"/>
                        <rect x="135" y="105" width="50" height="20" fill="var(--rk-col-vent)" rx="4"/>
                        <text x="160" y="119" fill="#ffffff" font-size="10" font-weight="bold" text-anchor="middle">REKU</text>
                    </g>

                    <g id="svg-layer-hydr" class="rk-anim-layer">
                        <path d="M 30 128 L 290 128" class="rk-wave-line rk-fluid-flow" stroke="#ef4444" stroke-width="4"/>
                        <path d="M 35 124 L 285 124" class="rk-wave-line rk-fluid-flow" stroke="#3b82f6" stroke-width="4" style="animation-direction: reverse;"/>
                        <rect x="30" y="45" width="40" height="40" fill="var(--rk-col-hydr)" rx="6"/>
                        <line x1="40" y1="55" x2="40" y2="75" stroke="#ffffff" stroke-width="3"/>
                        <line x1="50" y1="60" x2="50" y2="75" stroke="#ffffff" stroke-width="3"/>
                        <line x1="60" y1="48" x2="60" y2="75" stroke="#ffffff" stroke-width="3"/>
                        <text x="50" y="38" fill="#94a3b8" font-size="10" font-family="monospace" text-anchor="middle">ROZDZIELACZ</text>
                    </g>
                </svg>
            </div>
        </div>

        <div class="rk-project-advantages">
            <h4 class="rk-adv-title">
                <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Zyskujesz pełną pewność wykonawczą
            </h4>
            <p class="rk-adv-desc">
                Inżynier nie rysuje pętli "na oko". Kupując projekt instalacji ogrzewania płaszczyznowego, eliminujesz instalatorskie błędy oraz zyskujesz dokumentację techniczną, która zgra ze sobą hydraulikę, izolację i wentylację budynku.
            </p>

            <div class="rk-benefit-grid">
                <div class="rk-benefit-card">
                    <h5>Synergia z rekuperacją</h5>
                    <p>Wentylacja mechaniczna drastycznie obniża szczytowe zapotrzebowanie na moc (OZC), co pozwala na rozrzedzenie rozstawu rur w centrum budynku i zapobiega przegrzewaniu wnętrz jesienią.</p>
                </div>
                <div class="rk-benefit-card">
                    <h5>Eliminacja pękania posadzek</h5>
                    <p>Projekt precyzyjnie określa lokalizację warstw dylatacyjnych oraz przebieg <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" class="rk-link" style="color:inherit; font-weight:700;">izolacji brzegowej</a>, całkowicie znosząc ryzyko pękania płytek ceramicznych przez naprężenia termiczne.</p>
                </div>
                <div class="rk-benefit-card">
                    <h5>Zrównoważenie hydrauliczne</h5>
                    <p>Otrzymujesz gotową tabelę nastaw wstępnych dla rotametrów na rozdzielaczu (np. pętla 1: 1,5 l/min). Bez tych wyliczeń precyzyjne wyregulowanie przepływów po zalaniu betonem jest niewykonalne.</p>
                </div>
                <div class="rk-benefit-card">
                    <h5>Realne oszczędności na prądzie</h5>
                    <p>Poprawny projekt to oszczędność rzędu <strong>2000-3000 PLN</strong> już przy zakupie materiałów – kupujesz dokładnie taką długość rur PEX oraz o takich średnicach, jakie są fizycznie potrzebne.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-proj-cta-box">
        <h3 class="rk-cta-title">Nie pozwól na instalację "na oko" i intuicję wykonawcy</h3>
        <p class="rk-cta-text">
            Zamów profesjonalny, indywidualny projekt ogrzewania podłogowego oparty na pełnym bilansie OZC Twojego domu. Uniknij przewymiarowania kosztów materiałowych, zyskaj idealne nastawy rotametrów i zagwarantuj pompie ciepła najwyższy możliwy współczynnik sprawności COP.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-massive">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="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() {
    // 1. Zabezpieczenie Domenowe (Domain Lock) - Brak tagów nagłówkowych w strukturze błędu
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const appContainer = document.getElementById('rk-project-impact');
        if (appContainer) {
            appContainer.innerHTML = `
                <div style="padding: 45px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; max-width: 800px; margin: 40px auto;">
                    <div style="font-size: 45px; margin-bottom: 20px;">🛑</div>
                    <div style="font-size: 19px; font-weight: 900; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.5px;">Wykryto Próbę Kradzieży Struktur</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 550px; margin: 0 auto; line-height: 1.6;">
                        Interaktywny panel integracji systemowej oraz powiązane bazy danych masowych (JSON-LD) stanowią własność intelektualną zastrzeżoną dla serwisu Projekt-Ogrzewania.pl. Wykryto użycie kodu na nieautoryzowanej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika interaktywnego panelu
    const cards = document.querySelectorAll('#rk-project-impact .rk-sys-card');
    const titleDisplay = document.getElementById('rk-sys-title-display');
    
    // Warstwy SVG
    const layerOzc = document.getElementById('svg-layer-ozc');
    const layerReku = document.getElementById('svg-layer-reku');
    const layerHydr = document.getElementById('svg-layer-hydr');

    const layerMap = {
        'ozc': { title: 'Bilans OZC EN 12831', layer: layerOzc, color: 'var(--rk-col-ozc)' },
        'reku': { title: 'Wentylacja Mechaniczna (Rekuperacja)', layer: layerReku, color: 'var(--rk-col-vent)' },
        'hydr': { title: 'Zbalansowanie Hydrauliczne Obwodów', layer: layerHydr, color: 'var(--rk-col-hydr)' }
    };

    cards.forEach(card => {
        card.addEventListener('click', function() {
            // Usunięcie klasy aktywnej ze wszystkich kart
            cards.forEach(c => c.classList.remove('active'));
            
            // Dodanie klasy aktywnej do klikniętej karty
            this.classList.add('active');
            
            const sys = this.getAttribute('data-sys');
            const currentData = layerMap[sys];
            
            // Zmiana tekstu statusu
            titleDisplay.textContent = currentData.title;
            titleDisplay.style.color = currentData.color;

            // Przełączanie widoczności warstw w SVG
            Object.values(layerMap).forEach(item => {
                item.layer.classList.remove('active');
            });
            currentData.layer.classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-fail-dark: #0f172a;
    --rk-fail-darker: #020617;
    --rk-fail-brand: #dc2626; /* Czerwień ostrzegawcza */
    --rk-fail-brand-light: #fee2e2;
    --rk-fail-accent: #f87171;
    --rk-fail-bg: #ffffff;
    --rk-fail-panel: #f8fafc;
    --rk-fail-border: #e2e8f0;
    --rk-fail-text: #334155;
    --rk-fail-muted: #64748b;
}

.rk-fail-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-fail-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(220, 38, 38, 0.12);
    border: 1px solid var(--rk-fail-border);
    overflow: hidden;
    color: #1e293b;
}

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

.rk-fail-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(220, 38, 38, 0.2);
    color: #fca5a5;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(220, 38, 38, 0.3);
}

.rk-fail-title {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
    color: #ffffff;
}

.rk-fail-title span { color: var(--rk-fail-accent); }

.rk-fail-lead {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Panel Interaktywnego Wyboru Błędu */
.rk-fail-body {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 35px;
    background: #ffffff;
}

.rk-fail-controls {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-fail-card-btn {
    background: #ffffff;
    border: 2px solid var(--rk-fail-border);
    border-radius: 14px;
    padding: 15px 20px;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.01);
}

.rk-fail-card-btn:hover {
    transform: translateY(-2px);
    border-color: #cbd5e1;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-fail-btn-num {
    width: 28px; height: 28px;
    background: #f1f5f9;
    color: var(--rk-fail-muted);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 900;
    transition: all 0.3s;
    flex-shrink: 0;
}

.rk-fail-btn-txt {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-fail-dark);
    line-height: 1.3;
}

/* Stan aktywny przełączników */
.rk-fail-card-btn.active {
    border-color: var(--rk-fail-brand);
    background: var(--rk-fail-brand-light);
}

.rk-fail-card-btn.active .rk-fail-btn-num {
    background: var(--rk-fail-brand);
    color: #ffffff;
    box-shadow: 0 0 10px rgba(220, 38, 38, 0.4);
}

/* Prawa Kolumna: Wizualizacja i Opis błędu */
.rk-fail-display {
    background: var(--rk-fail-panel);
    border: 1px solid var(--rk-fail-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.03);
    display: flex;
    flex-direction: column;
}

.rk-dyn-fail-title {
    font-size: 20px;
    font-weight: 900;
    color: #b91c1c;
    margin: 0 0 15px 0;
    line-height: 1.4;
}

.rk-dyn-fail-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-fail-text);
    margin: 0 0 25px 0;
}

/* SVG Ekran graficzny */
.rk-fail-svg-box {
    background: var(--rk-fail-darker);
    border-radius: 16px;
    padding: 15px;
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #334155;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.7);
    margin-top: auto;
}

.rk-fail-scene {
    width: 100%;
    height: 100%;
    max-width: 400px;
}

/* SVG warstwy i animacje */
.rk-f-layer { opacity: 0; transition: opacity 0.4s ease; }
.rk-f-layer.active { opacity: 1; }

.rk-f-cold-flow { stroke: #3b82f6; stroke-width: 4; stroke-linecap: round; }
.rk-f-hot-flow { stroke: #ef4444; stroke-width: 4; stroke-linecap: round; }
.rk-f-evoh-oxygen { stroke: #10b981; stroke-width: 2; stroke-dasharray: 4 6; animation: oxygenIn 2s linear infinite; }

@keyframes oxygenIn { to { stroke-dashoffset: -20; } }

@media (max-width: 850px) {
    .rk-fail-header, .rk-fail-body { padding: 30px 20px; }
    .rk-fail-body { grid-template-columns: 1fr; gap: 25px; }
    .rk-fail-svg-box { height: 140px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-bledy-montazu",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Najczęstsze błędy popełniane przy montażu i ustalaniu rozstawu rur",
    "description": "Lista 5 krytycznych błędów wykonawczych: brak stref brzegowych HS, ignorowanie oporu deski barlineckiej, przekraczanie 100 mb pętli PEX oraz brak bariery EVOH DIN 4726.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-bledy-montazu",
    "name": "Wykaz awarii i strat sprawności przez błędy wykonawcze",
    "description": "Zestawienie inżynierskie demaskujące konsekwencje ignorowania norm montażowych (kondensacja HS, opór drewna 0.12 m²K/W, korozja tlenowa DIN 4726).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy montażu podłogówki",
      "brak strefy brzegowej HS",
      "opór cieplny drewna",
      "maksymalna długość pętli 100m",
      "rury bez bariery EVOH"
    ],
    "measurementTechnique": "Weryfikacja parametrów fizycznych i strat sprawności instalacji ogrzewania płaszczyznowego w oparciu o normy DIN 4726, PN-EN 1264 i PN-EN 12831.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd okien HS: Brak zagęszczenia do 10 cm wywołuje kurtynę chłodu i kondensację wilgoci.",
        "Błąd oporu drewna: Rozstaw 20 cm pod parkiet blokuje transfer energii; wymagany rozstaw to 10-12.5 cm.",
        "Błąd długości obwodu: Przekroczenie 100 mb dla średnicy 16 mm wywołuje wychłodzenie powrotu i krytyczne opory.",
        "Błąd braku EVOH: Permeacja tlenu przez ścianki rur bez EVOH niszczy pompy obiegowe i wywołuje korozję."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp-bledy-montazu",
    "name": "Interaktywny Detektor Błędów Wykonawczych",
    "description": "Narzędzie diagnostyczno-edukacyjne obrazujące przekroje jastrychów, zjawiska permeacji gazów oraz niedogrzania stref brzegowych w formie grafiki wektorowej SVG.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 SVG compatibility.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fail-container" id="rk-errors-board">
    <div class="rk-fail-header">
        <div class="rk-fail-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Demaskujemy błędy wykonawców
        </div>
        <h2 class="rk-fail-title">Najczęstsze błędy popełniane <span>przy montażu i rozstawie rur</span></h2>
        <p class="rk-fail-lead">
            Praca z tysiącami inwestorów i audyty setek kotłowni pozwoliły mi wyselekcjonować 5 najgroźniejszych błędów wykonawczych, które nagminnie powtarzają się na polskich budowach. Wynikają one ze ślepej "intuicji" instalatorów zamiast opierania się na twardych obliczeniach.
        </p>
    </div>

    <div class="rk-fail-body">
        
        <div class="rk-fail-controls">
            <button class="rk-fail-card-btn active" data-fail="1">
                <div class="rk-fail-btn-num">1</div>
                <span class="rk-fail-btn-txt">Brak stref brzegowych przy oknach HS</span>
            </button>
            <button class="rk-fail-card-btn" data-fail="2">
                <div class="rk-fail-btn-num">2</div>
                <span class="rk-fail-btn-txt">Ignorowanie oporów okładzin drewnianych</span>
            </button>
            <button class="rk-fail-card-btn" data-fail="3">
                <div class="rk-fail-btn-num">3</div>
                <span class="rk-fail-btn-txt">Zagęszczanie rur pod stałą zabudową</span>
            </button>
            <button class="rk-fail-card-btn" data-fail="4">
                <div class="rk-fail-btn-num">4</div>
                <span class="rk-fail-card-btn-txt rk-fail-btn-txt">Przekraczanie max długości pętli</span>
            </button>
            <button class="rk-fail-card-btn" data-fail="5">
                <div class="rk-fail-btn-num">5</div>
                <span class="rk-fail-btn-txt">Rury bez barier tlenowych EVOH</span>
            </button>
        </div>

        <div class="rk-fail-display">
            <h4 class="rk-dyn-fail-title" id="rk-fail-title-target">Brak stref brzegowych przy dużych oknach typu HS</h4>
            <p class="rk-dyn-fail-desc" id="rk-fail-desc-target">
                Instalatorzy układają rury równomiernie co 15 cm aż do samej ramy okiennej. Skutkuje to "ciągnięciem chłodu" od szyby i kondensacją pary wodnej na dolnej krawędzi okna. Przy oknach tarasowych pas o szerokości 1 m musi być zagęszczony do 10 cm lub nawet 7,5 cm.
            </p>

            <div class="rk-fail-svg-box">
                <svg class="rk-fail-scene" viewBox="0 0 300 120" id="rk-fail-svg-stage">
                    
                    <g class="rk-f-layer active" id="f-layer-1">
                        <line x1="20" y1="10" x2="20" y2="110" stroke="#38bdf8" stroke-width="6"/>
                        <text x="32" y="30" fill="#38bdf8" font-size="10" font-family="monospace">OKNO HS</text>
                        <circle cx="90" cy="90" r="8" fill="none" stroke="#64748b" stroke-width="3"/>
                        <circle cx="170" cy="90" r="8" fill="none" stroke="#64748b" stroke-width="3"/>
                        <circle cx="250" cy="90" r="8" fill="none" stroke="#64748b" stroke-width="3"/>
                        <path d="M 22 20 Q 70 50 120 80" fill="none" stroke="#0ea5e9" stroke-width="3" stroke-dasharray="4 4"/>
                        <text x="130" y="60" fill="#ef4444" font-size="11" font-weight="bold">KONDENSACJA WILGOCI</text>
                    </g>

                    <g class="rk-f-layer" id="f-layer-2">
                        <rect x="10" y="20" width="280" height="15" fill="#b45309" rx="2"/>
                        <text x="150" y="31" fill="#ffffff" font-size="10" font-weight="bold" text-anchor="middle">GRUBA DESKA / PARKIECH (R = 0.12)</text>
                        <circle cx="60" cy="80" r="8" fill="#ef4444"/>
                        <circle cx="240" cy="80" r="8" fill="#ef4444"/>
                        <path d="M 60 65 Q 60 45 80 45" fill="none" stroke="#ef4444" stroke-width="2"/>
                        <path d="M 240 65 Q 240 45 220 45" fill="none" stroke="#ef4444" stroke-width="2"/>
                        <text x="150" y="62" fill="#ef4444" font-size="12" font-weight="black" text-anchor="middle">BLOKADA CIEPŁA</text>
                    </g>

                    <g class="rk-f-layer" id="f-layer-3">
                        <rect x="60" y="10" width="180" height="40" fill="#475569" rx="4"/>
                        <text x="150" y="34" fill="#cbd5e1" font-size="11" font-weight="bold" text-anchor="middle">CIĘŻKA ZABUDOWA / LODÓWKA</text>
                        <circle cx="100" cy="95" r="8" fill="#ef4444"/>
                        <circle cx="150" cy="95" r="8" fill="#ef4444"/>
                        <circle cx="200" cy="95" r="8" fill="#ef4444"/>
                        <text x="150" y="75" fill="#fbbf24" font-size="11" font-weight="bold" text-anchor="middle">PRZEGRZEWANIE MEBLA</text>
                    </g>

                    <g class="rk-f-layer" id="f-layer-4">
                        <path d="M 20 80 L 120 80" class="rk-f-hot-flow"/>
                        <text x="60" y="70" fill="#ef4444" font-size="10" font-family="monospace">START: 35°C</text>
                        <path d="M 120 80 C 180 80, 180 110, 240 110" stroke="#64748b" stroke-width="4" fill="none"/>
                        <path d="M 240 110 L 290 110" class="rk-f-cold-flow"/>
                        <text x="260" y="100" fill="#3b82f6" font-size="10" font-family="monospace">KONIEC: 22°C</text>
                        <text x="160" y="40" fill="#ef4444" font-size="12" font-weight="black" text-anchor="middle">> 100 MB: ZIMNY POWRÓT</text>
                    </g>

                    <g class="rk-f-layer" id="f-layer-5">
                        <rect x="20" y="40" width="260" height="40" fill="none" stroke="#94a3b8" stroke-width="6" rx="4"/>
                        <line x1="50" y1="15" x2="50" y2="40" class="rk-f-evoh-oxygen"/>
                        <line x1="150" y1="15" x2="150" y2="40" class="rk-f-evoh-oxygen"/>
                        <line x1="250" y1="15" x2="250" y2="40" class="rk-f-evoh-oxygen"/>
                        <text x="150" y="12" fill="#10b981" font-size="10" font-family="monospace" text-anchor="middle">PERMEACJA TLENU (O₂)</text>
                        <text x="150" y="64" fill="#ef4444" font-size="12" font-weight="black" text-anchor="middle">KOROZJA I SZLAM W UKŁADZIE</text>
                    </g>
                </svg>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (Domain Lock)
    const currentDomain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(currentDomain)) {
        const errorsContainer = document.getElementById('rk-errors-board');
        if (errorsContainer) {
            errorsContainer.innerHTML = `
                <div style="padding:45px; text-align:center; background:#0f172a; border-radius:24px; border:2px solid #ef4444; color:#fff; font-family:sans-serif; margin:40px auto; max-width:800px;">
                    <div style="font-size:45px; margin-bottom:15px;">🛑</div>
                    <div style="color:#ef4444; font-size:20px; font-weight:900; text-transform:uppercase; margin-bottom:10px;">Wykryto Naruszenie Praw Wykonawczych</div>
                    <div style="color:#cbd5e1; font-size:14px; line-height:1.6;">Interaktywny detektor błędów montażowych oraz powiązana struktura bazodanowa JSON-LD są własnością chronioną serwisu Projekt-Ogrzewania.pl. Kod został zablokowany.</div>
                </div>
            `;
            return;
        }
    }

    // Baza danych dla 5 błędów
    const errorsDB = {
        "1": {
            title: "Brak stref brzegowych przy dużych oknach typu HS",
            desc: "Instalatorzy układają rury równomiernie co 15 cm aż do samej ramy okiennej. Skutkuje to 'ciągnięciem chłodu' od szyby i kondensacją pary wodnej na dolnej krawędzi okna. Przy oknach tarasowych pas o szerokości 1 m musi być zagęszczony do 10 cm lub nawet 7,5 cm."
        },
        "2": {
            title: "Ignorowanie oporów cieplnych okładzin posadzkowych",
            desc: "Układanie rur w rozstawie 20 cm pod grubą deskę barlinecką lub parkiet drewniany o oporze cieplnym <strong>R = 0,12 m²K/W</strong>. Drewno działa jak izolator i drastycznie blokuje ciepło. Pod <a href='https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/' class='rk-link'>okładziny drewniane</a> rury muszą być ułożone gęściej (maksymalnie co 10-12,5 cm), aby skompensować ten potężny opór."
        },
        "3": {
            title: "Zagęszczanie rur pod stałą zabudową meblową",
            desc: "Układanie pętli grzewczych co 10 cm bezpośrednio pod szafkami kuchennymi, lodówką czy ciężkimi szafami typu komandor. Prowadzi to do marnowania materiału, przegrzewania artykułów spożywczych w szafkach i drastycznego ograniczenia naturalnej konwekcji. W <a href='https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/' class='rk-link'>strefach stałej zabudowy</a> ogrzewania płaszczyznowego się nie układa."
        },
        "4": {
            title: "Przekraczanie maksymalnych długości pętli grzewczych",
            desc: "Wykonawcy z czystego lenistwa łączą dwa mniejsze pomieszczenia w jedną pętlę o długości 140-160 mb rury 16 mm. Taka pętla generuje tak duże opory, że woda na końcu obwodu jest całkowicie wychłodzona, a pokój pozostaje trwale niedogrzany. Bezwzględna <a href='https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/' class='rk-link'>granica długości obwodu</a> to 100 mb (wliczając podejście do szafki rozdzielaczowej)."
        },
        "5": {
            title: "Stosowanie rur grzewczych bez sprawnych barier tlenowych",
            desc: "Montaż tanich rur niespełniających rygorystycznej normy <strong>DIN 4726</strong>, czyli pozbawionych antydyfuzyjnej bariery EVOH. Powoduje to stałe przenikanie tlenu przez ścianki do wnętrza instalacji (permeacja). Skutkuje to drastyczną korozją metalowych elementów rozdzielacza, awariami pomp obiegowych i powstawaniem czarnego szlamu (zgorzeliny) blokującego przepływy."
        }
    };

    const buttons = document.querySelectorAll('#rk-errors-board .rk-fail-card-btn');
    const titleTarget = document.getElementById('rk-fail-title-target');
    const descTarget = document.getElementById('rk-fail-desc-target');
    const layers = document.querySelectorAll('#rk-errors-board .rk-f-layer');

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            // Przełączanie klas aktywnych na przyciskach
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const id = this.getAttribute('data-fail');
            const data = errorsDB[id];

            // Animacja zmiany tekstu i wstrzyknięcie
            titleTarget.textContent = data.title;
            descTarget.innerHTML = data.desc;

            // Przełączanie widoczności warstw SVG
            layers.forEach(layer => layer.classList.remove('active'));
            document.getElementById('f-layer-' + id).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-sum-dark: #020617;
    --rk-sum-panel: #0f172a;
    --rk-sum-primary: #10b981; /* Emerald/Green for success/summary */
    --rk-sum-primary-light: #d1fae5;
    --rk-sum-accent: #3b82f6; /* Blue for water */
    --rk-sum-warning: #f59e0b;
    --rk-sum-bg: #f8fafc;
    --rk-sum-border: #cbd5e1;
    --rk-sum-text: #334155;
    --rk-sum-text-dim: #64748b;
}

.rk-summary-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    overflow: hidden;
}

/* Header z ekspertem */
.rk-summary-header {
    background: linear-gradient(135deg, var(--rk-sum-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    display: flex;
    align-items: center;
    gap: 30px;
    border-bottom: 4px solid var(--rk-sum-primary);
    position: relative;
    overflow: hidden;
}

.rk-summary-header::after {
    content: ''; position: absolute; right: 0; top: 0; width: 300px; height: 100%;
    background: radial-gradient(circle at right, rgba(16, 185, 129, 0.15) 0%, transparent 70%);
}

.rk-expert-avatar {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 3px solid var(--rk-sum-primary);
    box-shadow: 0 0 20px rgba(16, 185, 129, 0.4);
    object-fit: cover;
    position: relative;
    z-index: 2;
}

.rk-header-content {
    position: relative;
    z-index: 2;
}

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

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

.rk-header-content p {
    color: #94a3b8;
    font-size: 14px;
    margin: 0;
    font-weight: 500;
}

/* Sekcja z zakładkami i wiedzą */
.rk-summary-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #ffffff;
}

.rk-rules-list {
    padding: 30px;
    border-right: 1px solid var(--rk-sum-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #f8fafc;
}

.rk-rule-btn {
    background: #ffffff;
    border: 1px solid var(--rk-sum-border);
    padding: 18px 20px;
    border-radius: 12px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-rule-btn:hover {
    border-color: var(--rk-sum-primary);
    transform: translateX(4px);
}

.rk-rule-btn.active {
    background: var(--rk-sum-primary-light);
    border-color: var(--rk-sum-primary);
    box-shadow: inset 4px 0 0 var(--rk-sum-primary);
}

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

.rk-rule-btn.active .rk-rule-icon {
    background: var(--rk-sum-primary);
    color: #ffffff;
}

.rk-rule-text h3 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-sum-dark);
}

.rk-rule-text p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-sum-text-dim);
    line-height: 1.5;
}

/* Panel Detali (Prawy) */
.rk-rule-details {
    padding: 40px;
    position: relative;
}

.rk-detail-panel {
    display: none;
    animation: fadeScale 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-detail-panel.active {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@keyframes fadeScale {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.rk-detail-panel h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-sum-dark);
}

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

.rk-sum-link {
    color: var(--rk-sum-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-sum-accent);
    transition: 0.3s;
}
.rk-sum-link:hover { border-bottom-style: solid; color: #1d4ed8; }

.rk-detail-svg {
    width: 100%;
    height: 160px;
    background: var(--rk-sum-dark);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 4px 20px rgba(0,0,0,0.5);
    overflow: hidden;
}

/* Narzędzie Szybkiego Szacowania (Kalkulator) */
.rk-quick-calc {
    background: var(--rk-sum-panel);
    padding: 35px 50px;
    border-top: 1px solid #1e293b;
    color: #ffffff;
}

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

.rk-calc-header h4 {
    margin: 0; font-size: 18px; font-weight: 900; color: #ffffff;
    display: flex; align-items: center; gap: 10px;
}

.rk-calc-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 40px;
    align-items: center;
}

.rk-calc-input-area {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-calc-label { font-size: 13px; font-weight: 700; color: #94a3b8; display: flex; justify-content: space-between; }
.rk-calc-label span { color: #ffffff; font-size: 16px; font-weight: 900; }

.rk-sum-range-final {
    -webkit-appearance: none; width: 100%; height: 6px; border-radius: 3px; background: #334155; outline: none; margin-bottom: 10px;
}
.rk-sum-range-final::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%;
    background: var(--rk-sum-primary); cursor: pointer; border: 3px solid #ffffff; transition: 0.1s;
}
.rk-sum-range-final::-webkit-slider-thumb:active { transform: scale(1.15); }

/* Przyciski rozstawu w kalkulatorze */
.rk-calc-opts { display: flex; gap: 10px; }
.rk-calc-opt-btn {
    flex: 1; padding: 10px; background: #1e293b; border: 1px solid #334155; color: #94a3b8;
    border-radius: 8px; font-weight: 800; cursor: pointer; transition: 0.3s;
}
.rk-calc-opt-btn.active { background: rgba(16, 185, 129, 0.2); border-color: var(--rk-sum-primary); color: #6ee7b7; }

.rk-calc-results {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.rk-result-box {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    padding: 15px;
    border-radius: 12px;
    text-align: center;
}

.rk-result-box.highlight { border-color: var(--rk-sum-primary); background: rgba(16, 185, 129, 0.1); }
.rk-result-box.warn { border-color: #ef4444; background: rgba(239, 68, 68, 0.1); }

.rk-res-val { display: block; font-size: 24px; font-weight: 900; color: #ffffff; margin-bottom: 5px; }
.rk-result-box.highlight .rk-res-val { color: var(--rk-sum-primary); }
.rk-result-box.warn .rk-res-val { color: #f87171; }
.rk-res-lab { display: block; font-size: 11px; color: #94a3b8; text-transform: uppercase; font-weight: 700; line-height: 1.4; }

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

.rk-author-photo-small {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    border: 3px solid var(--rk-sum-primary);
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.2);
    object-fit: cover;
    flex-shrink: 0;
}

.rk-author-info { flex-grow: 1; }
.rk-author-info h4 { margin: 0 0 6px 0; font-size: 18px; font-weight: 900; color: var(--rk-sum-dark); }
.rk-author-info p { margin: 0; font-size: 14px; color: var(--rk-sum-text); line-height: 1.6; }
.rk-author-links { display: flex; gap: 15px; margin-top: 12px; }
.rk-author-links a { color: var(--rk-sum-accent); font-size: 13px; font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; gap: 5px; transition: color 0.2s; }
.rk-author-links a:hover { color: #1d4ed8; text-decoration: underline; }

/* Animacje SVG */
.anim-cop-arrow { stroke-dasharray: 8 8; animation: riseArrow 1s linear infinite; }
@keyframes riseArrow { to { stroke-dashoffset: -16; } }

.anim-pipe-flow { stroke-dasharray: 10 10; animation: pipeFlow 2s linear infinite; }
@keyframes pipeFlow { to { stroke-dashoffset: -20; } }

@media (max-width: 768px) {
    .rk-summary-header { flex-direction: column; text-align: center; padding: 30px 20px; }
    .rk-expert-avatar { width: 70px; height: 70px; }
    .rk-summary-body { grid-template-columns: 1fr; }
    .rk-rules-list { border-right: none; border-bottom: 1px solid var(--rk-sum-border); padding: 20px; }
    .rk-rule-details { padding: 25px 20px; }
    .rk-calc-grid { grid-template-columns: 1fr; gap: 25px; }
    .rk-quick-calc { padding: 30px 20px; }
    .rk-calc-results { grid-template-columns: 1fr 1fr; }
    .rk-summary-author { flex-direction: column; text-align: center; padding: 30px 20px; align-items: center; }
    .rk-author-links { justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-summary-final",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Inżynierskie podsumowanie: Jak gęsto rozkładać podłogówkę?",
    "description": "Kompaktowe zestawienie najważniejszych parametrów (OZC, COP, wylewki) i narzędzie do błyskawicznego szacowania długości pętli PEX. Twórca i CEO portalu: Robert Kucharski.",
    "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": "CEO & Główny Projektant HVAC",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-summary",
    "name": "Kluczowe wskaźniki projektowe dla rozstawu rur",
    "description": "Twarde dane przeliczeniowe łączące rozstaw rur, współczynnik efektywności COP pomp ciepła oraz obciążenie hydrauliczne systemu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie ogrzewania podłogowego",
      "kalkulator pętli podłogówki",
      "rozstaw rur pompa ciepła",
      "optymalizacja kosztów ogrzewania",
      "złote zasady podłogówki"
    ],
    "measurementTechnique": "Szacowanie oparte na przelicznikach metrażowych: 10 mb/m² dla 10cm, 6.67 mb/m² dla 15cm, z restrykcją max 100 mb na pętlę.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw 10-15 cm: Złoty standard dla pomp ciepła (niższe rachunki o kilkanaście %).",
        "Weryfikacja OZC: Wymóg konieczny eliminujący błędy przewymiarowania instalacji.",
        "Limit pętli: Bezwzględna granica 100 mb dla rury 16x2.0."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp-summary",
    "name": "Inżynierski Estymator Rozstawu i Pętli",
    "description": "Moduł podsumowujący. Przelicza powierzchnię domu i wybrany rozstaw na orientacyjną długość rur oraz wymaganą liczbę obwodów na rozdzielaczu.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Forms",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-summary-container" id="rk-summary-final">
    
    <div class="rk-summary-header">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-expert-avatar" loading="lazy">
        <div class="rk-header-content">
            <div class="rk-header-badge">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Wnioski Eksperta
            </div>
            <h2>Inżynierskie podsumowanie: Rozstaw podłogówki</h2>
            <p>Ogrzewanie podłogowe to inwestycja na 50 lat. Zebrałem dla Ciebie 3 najważniejsze reguły projektowe z całego artykułu. Błędy na etapie układania rur są nieodwracalne.</p>
        </div>
    </div>

    <div class="rk-summary-body">
        
        <div class="rk-rules-list">
            <button class="rk-rule-btn active" data-panel="s-det-1">
                <div class="rk-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div>
                <div class="rk-rule-text">
                    <h3>Złoty środek dla Pomp Ciepła</h3>
                    <p>Zagęszczaj (10-15 cm) by zyskać na COP</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="s-det-2">
                <div class="rk-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg></div>
                <div class="rk-rule-text">
                    <h3>Bilans OZC to fundament</h3>
                    <p>Nie układaj rur na oko i intuicję</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="s-det-3">
                <div class="rk-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="3" y1="15" x2="21" y2="15"></line></svg></div>
                <div class="rk-rule-text">
                    <h3>Rola Wylewki (Jastrychu)</h3>
                    <p>Anhydryt a szybkość grzania</p>
                </div>
            </button>
        </div>

        <div class="rk-rule-details">
            
            <div class="rk-detail-panel active" id="s-det-1">
                <h4>Im chłodniej, tym taniej</h4>
                <p>Każdy 1°C mniej na zasilaniu podłogówki (np. zejście z 40°C na 35°C dzięki rozstawowi 10 cm zamiast 20 cm) obniża rachunki za prąd o około 2-3%. Oszczędzasz latami dzięki wyższemu <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-sum-link">współczynnikowi SCOP</a>.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <path d="M 20 80 L 180 80" stroke="#334155" stroke-width="3"/>
                        <rect x="40" y="50" width="30" height="30" fill="#3b82f6" rx="4"/>
                        <rect x="85" y="35" width="30" height="45" fill="#10b981" rx="4"/>
                        <rect x="130" y="20" width="30" height="60" fill="#f59e0b" rx="4"/>
                        <path class="anim-cop-arrow" d="M 20 60 L 180 10" fill="none" stroke="#ef4444" stroke-width="4"/>
                        <text x="180" y="30" fill="#ef4444" font-size="12" font-weight="bold">COP</text>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="s-det-2">
                <h4>Matematyka niszczy mity</h4>
                <p>O rozstawie rur decyduje gęstość strumienia ciepła <strong>q (W/m²)</strong>. Dopiero znając <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-sum-link">wyniki OZC</a> wiesz, czy salon potrzebuje 15 cm, a łazienka 10 cm. Instalatorzy robiący "wszędzie co 10 cm" marnują Twoje pieniądze i dławią hydraulikę.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <rect x="50" y="20" width="100" height="60" fill="none" stroke="#cbd5e1" stroke-width="3" rx="4"/>
                        <line x1="100" y1="20" x2="100" y2="80" stroke="#cbd5e1" stroke-width="3"/>
                        <line x1="50" y1="50" x2="150" y2="50" stroke="#cbd5e1" stroke-width="3"/>
                        <text x="75" y="40" fill="#10b981" font-size="12" font-family="monospace" text-anchor="middle" font-weight="bold">15 cm</text>
                        <text x="125" y="40" fill="#ef4444" font-size="12" font-family="monospace" text-anchor="middle" font-weight="bold">10 cm</text>
                        <text x="75" y="70" fill="#3b82f6" font-size="12" font-family="monospace" text-anchor="middle" font-weight="bold">20 cm</text>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="s-det-3">
                <h4>Radiator idealny</h4>
                <p>Wybór <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-sum-link">jastrychu</a> ma znaczenie. Anhydryt (λ=1.8 W/mK) eliminuje pęcherze powietrza wokół rury i reaguje w 2 godziny. Gruby beton (λ=1.2 W/mK) potrzebuje nawet 5 godzin, co wymusza zagęszczanie rur dla podobnego efektu.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <rect x="20" y="60" width="160" height="30" fill="#1e293b"/>
                        <rect x="20" y="30" width="160" height="30" fill="#f59e0b" opacity="0.8"/>
                        <circle cx="100" cy="50" r="10" fill="#ffffff" stroke="#ef4444" stroke-width="3"/>
                        <path class="anim-pipe-flow" d="M 100 40 Q 70 20 40 30" fill="none" stroke="#ef4444" stroke-width="2"/>
                        <path class="anim-pipe-flow" d="M 100 40 Q 130 20 160 30" fill="none" stroke="#ef4444" stroke-width="2"/>
                    </svg>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-quick-calc">
        <div class="rk-calc-header">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-sum-primary)" stroke-width="2.5"><rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="8" y1="6" x2="16" y2="6"></line><line x1="16" y1="14" x2="16.01" y2="14"></line><line x1="12" y1="14" x2="12.01" y2="14"></line><line x1="8" y1="14" x2="8.01" y2="14"></line></svg>
                Szybki Estymator Materiałowy PEX
            </h4>
        </div>

        <div class="rk-calc-grid">
            <div class="rk-calc-input-area">
                <div class="rk-calc-label">
                    Powierzchnia strefy (m²):
                    <span id="finAreaOut">100 m²</span>
                </div>
                <input type="range" class="rk-sum-range-final" id="finAreaSlider" min="20" max="250" step="5" value="100">
                
                <div class="rk-calc-label" style="margin-top: 10px;">Zakładany rozstaw rur:</div>
                <div class="rk-calc-opts">
                    <button class="rk-calc-opt-btn" data-sval="10">10 cm</button>
                    <button class="rk-calc-opt-btn active" data-sval="15">15 cm</button>
                    <button class="rk-calc-opt-btn" data-sval="20">20 cm</button>
                </div>
            </div>

            <div class="rk-calc-results">
                <div class="rk-result-box highlight">
                    <span class="rk-res-val" id="finPipe">700 <span style="font-size:14px;color:var(--rk-sum-primary);">m</span></span>
                    <span class="rk-res-lab">Potrzebna Rura (+5%)</span>
                </div>
                <div class="rk-result-box" id="finLoopsBox">
                    <span class="rk-res-val" id="finLoops">7</span>
                    <span class="rk-res-lab">Ilość Pętli (max 100m)</span>
                </div>
            </div>
        </div>
    </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (DOMAIN LOCK) bez tagów H
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-summary-final').innerHTML = `
            <div style="padding:45px; text-align:center; background:#0f172a; color:#ef4444; border:2px solid #ef4444; border-radius:24px; font-weight:800; font-family:sans-serif; max-width:800px; margin: 40px auto;">
                <div style="font-size:40px; margin-bottom:15px;">🛑</div>
                <div style="font-size:20px; text-transform:uppercase; margin-bottom:10px;">Błąd licencji oprogramowania</div>
                <div style="color:#cbd5e1; font-size:14px; font-weight:normal;">Interaktywny moduł podsumowujący oraz skrypty JSON-LD stanowią własność Projekt-Ogrzewania.pl. Wykryto użycie na nieautoryzowanej domenie.</div>
            </div>`;
        return;
    }

    // 2. Logika Zakładek (Złote Zasady)
    const btns = document.querySelectorAll('#rk-summary-final .rk-rule-btn');
    const panels = document.querySelectorAll('#rk-summary-final .rk-detail-panel');

    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            btns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            btn.classList.add('active');
            const target = document.getElementById(btn.getAttribute('data-panel'));
            if(target) {
                void target.offsetWidth; // Restart animacji
                target.classList.add('active');
            }
        });
    });

    // 3. Logika Kalkulatora Estymacyjnego
    const slider = document.getElementById('finAreaSlider');
    const areaOut = document.getElementById('finAreaOut');
    const optBtns = document.querySelectorAll('.rk-calc-opt-btn');
    const resPipe = document.getElementById('finPipe');
    const resLoops = document.getElementById('finLoops');
    const loopsBox = document.getElementById('finLoopsBox');

    let currentSpacing = 15; // default

    function updateCalc() {
        const area = parseInt(slider.value);
        areaOut.textContent = area + ' m²';

        // Przelicznik [mb/m2]
        let ratio = 6.67; 
        if(currentSpacing === 10) ratio = 10.0;
        if(currentSpacing === 20) ratio = 5.0;

        // Ilość rury z naddatkiem 5%
        const rawLength = area * ratio;
        const totalLength = rawLength * 1.05;

        // Ilość pętli (max 100m na pętlę)
        const loopsNeeded = Math.ceil(totalLength / 100);

        resPipe.innerHTML = totalLength.toFixed(0) + ' <span style="font-size:14px;color:var(--rk-sum-primary);">m</span>';
        resLoops.textContent = loopsNeeded;

        // Ostrzeżenie wizualne jeśli przekraczamy duży rozdzielacz (np. >12 pętli)
        if(loopsNeeded > 12) {
            loopsBox.classList.add('warn');
            resLoops.style.color = '#ef4444';
        } else {
            loopsBox.classList.remove('warn');
            resLoops.style.color = '#ffffff';
        }
    }

    // Eventy
    if(slider) {
        slider.addEventListener('input', updateCalc);
        
        optBtns.forEach(btn => {
            btn.addEventListener('click', function() {
                optBtns.forEach(b => b.classList.remove('active'));
                this.classList.add('active');
                currentSpacing = parseInt(this.getAttribute('data-sval'));
                updateCalc();
            });
        });

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



<style>
:root {
    --rk-cs-dark: #0f172a;
    --rk-cs-darker: #020617;
    --rk-cs-brand: #8b5cf6; /* Ekspercki fiolet */
    --rk-cs-brand-light: #c4b5fd;
    --rk-cs-danger: #ef4444; /* Czerwień strat */
    --rk-cs-danger-bg: #fee2e2;
    --rk-cs-success: #10b981; /* Zieleń projektu */
    --rk-cs-success-bg: #d1fae5;
    --rk-cs-panel: #1e293b;
    --rk-cs-bg: #ffffff;
    --rk-cs-text: #334155;
    --rk-cs-muted: #64748b;
    --rk-cs-border: #e2e8f0;
}

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

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

.rk-cs-header::before {
    content: '';
    position: absolute;
    top: 0; right: 0; width: 300px; height: 100%;
    background: radial-gradient(circle at top right, rgba(139, 92, 246, 0.2) 0%, transparent 70%);
    pointer-events: none;
}

.rk-cs-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(139, 92, 246, 0.25);
    color: var(--rk-cs-brand-light);
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(139, 92, 246, 0.3);
}

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

.rk-cs-title span { color: #a855f7; }

.rk-cs-story {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
    padding-bottom: 20px;
}

.rk-cs-meta {
    display: flex;
    gap: 20px;
    padding-top: 20px;
    border-top: 1px dashed rgba(255,255,255,0.15);
    font-size: 14px;
    color: #94a3b8;
}

.rk-cs-meta span { display: flex; align-items: center; gap: 6px; color: #e2e8f0; font-weight: 600; }

/* Panel Interaktywny */
.rk-cs-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

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

/* Przełącznik Wariantów */
.rk-cs-toggle-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 30px;
    background: #ffffff;
    padding: 10px;
    border-radius: 16px;
    border: 1px solid var(--rk-cs-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-btn-variant {
    padding: 18px 20px;
    border: 2px solid transparent;
    border-radius: 12px;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}

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

.rk-btn-variant.active[data-variant="bad"] {
    background: var(--rk-cs-danger-bg);
    border-color: var(--rk-cs-danger);
    box-shadow: 0 10px 15px -3px rgba(239, 68, 68, 0.1);
}

.rk-btn-variant.active[data-variant="good"] {
    background: var(--rk-cs-success-bg);
    border-color: var(--rk-cs-success);
    box-shadow: 0 10px 15px -3px rgba(16, 185, 129, 0.1);
}

.rk-var-title { font-size: 16px; font-weight: 800; margin: 0; color: var(--rk-cs-dark); }
.rk-var-sub { font-size: 13px; font-weight: 600; color: var(--rk-cs-muted); }
.active[data-variant="bad"] .rk-var-title { color: #b91c1c; }
.active[data-variant="good"] .rk-var-title { color: #047857; }

/* Grid Danych (Przebudowany po usunięciu SVG) */
.rk-cs-metrics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Parametry */
.rk-metric-card {
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-cs-border);
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
    text-align: center;
}

.rk-metric-lbl {
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-cs-muted);
    text-transform: uppercase;
    margin-bottom: 8px;
}

.rk-metric-val {
    font-size: 22px;
    font-weight: 900;
    transition: color 0.3s;
}

/* Tło ostrzegawcze w kartach (teraz od góry) */
.rk-metric-card::before {
    content: ''; position: absolute; left: 0; top: 0; right: 0; height: 4px;
    background: transparent; transition: background 0.3s;
}
.state-bad .rk-metric-card::before { background: var(--rk-cs-danger); }
.state-good .rk-metric-card::before { background: var(--rk-cs-success); }

.state-bad .val-alert { color: var(--rk-cs-danger); }
.state-good .val-alert { color: var(--rk-cs-success); }

/* Opis zjawiska (na całą szerokość) */
.rk-cs-explanation {
    grid-column: 1 / -1;
    margin-top: 5px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-cs-text);
    padding: 20px 25px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px dashed var(--rk-cs-border);
    transition: all 0.3s;
}

.state-bad .rk-cs-explanation { background: #fff5f5; border-color: #fca5a5; }
.state-good .rk-cs-explanation { background: #f0fdf4; border-color: #6ee7b7; }

/* CTA */
.rk-cs-cta {
    background: #ffffff;
    padding: 40px 50px;
    text-align: center;
    border-top: 1px solid var(--rk-cs-border);
}

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-cs-brand);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(139, 92, 246, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.rk-btn-massive:hover {
    transform: translateY(-4px);
    background: #6d28d9;
    box-shadow: 0 15px 30px -5px rgba(139, 92, 246, 0.5);
    border-color: #c4b5fd;
}

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

@media (max-width: 850px) {
    .rk-cs-header, .rk-cs-interactive, .rk-cs-cta { padding: 30px 20px; }
    .rk-cs-meta { flex-direction: column; gap: 10px; }
    .rk-cs-toggle-box { grid-template-columns: 1fr; }
    .rk-cs-metrics-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-btn-variant { padding: 15px; flex-direction: row; justify-content: center; }
    .rk-btn-massive { width: 100%; font-size: 16px; padding: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Studium przypadku: Błędy instalatora a profesjonalny projekt ogrzewania podłogowego",
    "description": "Z życia inżyniera: audyt instalacji dla 165 m². Zobacz, jak wyliczenia OZC uchroniły inwestora przed stratą 2400 PLN i zablokowaniem pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-casestudy",
    "name": "Audyt wykonawczy instalacji płaszczyznowej - Porównanie OZC",
    "description": "Zestawienie parametrów materiałowych i hydraulicznych pomiędzy intuicyjnym montażem a projektem inżynierskim dla budynku 165m2 o niskim zapotrzebowaniu na moc.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego",
      "przewymiarowanie instalacji",
      "rotametry przepływy",
      "pompa obiegowa podłogówki",
      "obliczenia OZC"
    ],
    "measurementTechnique": "Kalkulacja kosztów materiałowych (rury, rozdzielacze) i weryfikacja przepływów na rotametrach pod kątem dławienia pompy obiegowej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wariant Instalatora: Rozstaw 10 cm, +605 mb rur, +4 sekcje rozdzielacza, koszt +2400 PLN, przepływy <0.5 l/min.",
        "Wariant Inżyniera: Zmienne rozstawy 10/15/20 cm, dopasowanie do strat 32 W/m², optymalizacja kosztów, zasilanie 32°C."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp-casestudy",
    "name": "Symulator Audytu Inwestycyjnego",
    "description": "Narzędzie interaktywne ilustrujące różnice w ilości pętli, wielkości rozdzielacza i obciążeniu pompy między wariantem amatorskim a inżynierskim.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript execution.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs-container" id="rk-casestudy-app">
    <div class="rk-cs-header">
        <div class="rk-cs-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
            Akta Sprawy Inżynierskiej
        </div>
        <h2 class="rk-cs-title">Studium przypadku z praktyki <span>inżynierskiej</span></h2>
        <p class="rk-cs-story">
            W dniu 19 sierpnia 2025 roku sfinalizowałem audyt wykonawczy instalacji ogrzewania podłogowego dla inwestora Tomasza, obejmujący nowo wybudowany dom parterowy w technologii energooszczędnej. Instalator bez żadnego projektu zamierzał ułożyć rurę PEX 16 mm w rozstawie 10 cm na całej powierzchni domu, argumentując to "optymalnym przygotowaniem pod pompę ciepła". 
        </p>
        <div class="rk-cs-meta">
            <span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg> Okolice Nowego Sącza</span>
            <span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect></svg> Metraż: 165 m²</span>
            <span><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg> Straty ciepła (OZC): Zaledwie 32 W/m²</span>
        </div>
    </div>

    <div class="rk-cs-interactive" id="rk-cs-state-container">
        <h3 class="rk-cs-h3">Symulacja Decyzji: Porównaj warianty instalacyjne</h3>
        
        <div class="rk-cs-toggle-box">
            <button class="rk-btn-variant active" data-variant="bad">
                <span class="rk-var-title">Wizja Instalatora ("Na oko")</span>
                <span class="rk-var-sub">Wszędzie rozstaw co 10 cm</span>
            </button>
            <button class="rk-btn-variant" data-variant="good">
                <span class="rk-var-title">Projekt Inżynierski (OZC)</span>
                <span class="rk-var-sub">Zmienne strefy 10/15/20 cm</span>
            </button>
        </div>

        <div class="rk-cs-metrics-grid">
            <div class="rk-metric-card">
                <div class="rk-metric-lbl">Naddatek Materiału</div>
                <div class="rk-metric-val val-alert" id="rk-cs-val-pipe">+605 mb rury PEX</div>
            </div>
            <div class="rk-metric-card">
                <div class="rk-metric-lbl">Wielkość Rozdzielacza</div>
                <div class="rk-metric-val val-alert" id="rk-cs-val-manif">+4 zbędne sekcje</div>
            </div>
            <div class="rk-metric-card">
                <div class="rk-metric-lbl">Koszt Inwestycyjny</div>
                <div class="rk-metric-val val-alert" id="rk-cs-val-cost">Strata 2400 PLN</div>
            </div>

            <div class="rk-cs-explanation" id="rk-cs-text-expl">
                <strong>Zagrożenie awarią:</strong> Gęste ułożenie przy tak niskich stratach (32 W/m²) wymagałoby zdławienia przepływów na rotametrach do wartości < 0,5 l/min, aby nie przegrzać wnętrza. Groziło to <strong>destabilizacją pompy obiegowej o mocy 7 kW</strong>.
            </div>
        </div>
    </div>

    <div class="rk-cs-cta">
        <h3 class="rk-cta-title">Skopiuj ten sukces na swojej budowie</h3>
        <p class="rk-cta-text">
            Ostatecznie wdrożyliśmy mój projekt o zmiennych rozstawach. System ruszył bezproblemowo, pracując na skrajnie niskim parametrze zasilania 32°C, zapewniając inwestorowi idealny komfort termiczny i najwyższy możliwy współczynnik COP pompy ciepła.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-massive">
            ZAMÓW INDYWIDUALNY PROJEKT
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe - Brak tagów strukturalnych (H) w komunikacie błędu
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const appContainer = document.getElementById('rk-casestudy-app');
        if (appContainer) {
            appContainer.innerHTML = `
                <div style="padding: 45px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif; max-width: 800px; margin: 40px auto;">
                    <div style="font-size: 45px; margin-bottom: 20px;">🛑</div>
                    <div style="font-size: 19px; font-weight: 900; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.5px;">Wykryto Naruszenie Własności Intelektualnej</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 550px; margin: 0 auto; line-height: 1.6;">
                        Case Study (Studium przypadku), interfejs symulatora oraz niewidoczne dane JSON-LD należą do serwisu Projekt-Ogrzewania.pl. Wykryto nielegalne wykorzystanie skryptu.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Toggle Switch
    const btns = document.querySelectorAll('.rk-btn-variant');
    const container = document.getElementById('rk-cs-state-container');
    
    // Pola tekstowe dynamiczne
    const valPipe = document.getElementById('rk-cs-val-pipe');
    const valManif = document.getElementById('rk-cs-val-manif');
    const valCost = document.getElementById('rk-cs-val-cost');
    const textExpl = document.getElementById('rk-cs-text-expl');

    // Baza danych Case Study
    const db = {
        'bad': {
            pipe: '+605 mb rury PEX',
            manif: '+4 zbędne sekcje',
            cost: 'Strata 2400 PLN',
            expl: '<strong>Zagrożenie awarią:</strong> Gęste ułożenie przy tak niskich stratach (32 W/m²) wymagałoby zdławienia przepływów na rotametrach do wartości < 0,5 l/min, aby nie przegrzać wnętrza. Groziło to <strong>destabilizacją pompy obiegowej o mocy 7 kW</strong>.'
        },
        'good': {
            pipe: 'Optymalna ilość',
            manif: 'Idealnie dopasowany',
            cost: 'Oszczędność 2400 PLN',
            expl: '<strong>Zoptymalizowany system:</strong> Projekt o zmiennych rozstawach (15 cm w strefie dziennej, 20 cm w sypialniach oraz 10 cm w łazience). System ruszył bezproblemowo, pracując na zasilaniu 32°C, gwarantując max. COP.'
        }
    };

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // UI Button state
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const variant = this.getAttribute('data-variant');
            const data = db[variant];

            // Wstrzyknięcie klas dla kolorystyki metryk CSS
            container.className = `rk-cs-interactive state-${variant}`;

            // Wstrzyknięcie tekstów
            valPipe.textContent = data.pipe;
            valManif.textContent = data.manif;
            valCost.textContent = data.cost;
            textExpl.innerHTML = data.expl;
        });
    });

    // Inicjalizacja domyślnego stanu CSS dla metryk
    container.className = 'rk-cs-interactive state-bad';
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-card: #1e293b;
    --rk-faq-brand: #4f46e5;
    --rk-faq-brand-light: #e0e7ff;
    --rk-faq-accent: #06b6d4;
    --rk-faq-success: #10b981;
    --rk-faq-bg: #f8fafc;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #334155;
    --rk-faq-muted: #64748b;
}

.rk-faq-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(79, 70, 229, 0.15);
    border: 1px solid rgba(79, 70, 229, 0.3);
    overflow: hidden;
}

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

.rk-faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(79, 70, 229, 0.3);
    color: #a5b4fc;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(165, 180, 252, 0.3);
}

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

.rk-faq-title span { color: #818cf8; }

/* Sekcja Akordeonu */
.rk-faq-interactive {
    padding: 40px 50px;
    background: var(--rk-faq-bg);
}

.rk-faq-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-faq-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-brand);
    box-shadow: 0 10px 25px -5px rgba(79, 70, 229, 0.15);
    transform: scale(1.01);
}

/* Przycisk Pytania */
.rk-faq-question {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 20px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    transition: background 0.3s, color 0.3s;
}

.rk-faq-question:hover {
    background: var(--rk-faq-brand-light);
}

.rk-faq-item.active .rk-faq-question {
    background: var(--rk-faq-brand);
    color: #ffffff;
}

.rk-faq-icon {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--rk-faq-brand-light);
    color: var(--rk-faq-brand);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    margin-left: 15px;
}

.rk-faq-item.active .rk-faq-icon {
    background: rgba(255,255,255,0.2);
    color: #ffffff;
    transform: rotate(180deg);
}

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

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

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

/* Wnętrze Odpowiedzi */
.rk-faq-content {
    padding: 30px;
    border-top: 1px solid var(--rk-faq-border);
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 30px;
    align-items: center;
    background: #ffffff;
}

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

.rk-faq-text strong {
    font-weight: 800;
    color: var(--rk-faq-dark);
    background: linear-gradient(120deg, rgba(79, 70, 229, 0.1) 0%, rgba(79, 70, 229, 0.1) 100%);
    background-repeat: no-repeat;
    background-size: 100% 40%;
    background-position: 0 88%;
}

.rk-link {
    color: var(--rk-faq-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dashed rgba(79, 70, 229, 0.4);
    transition: all 0.3s;
}

.rk-link:hover {
    color: #3730a3;
    border-bottom-style: solid;
}

/* Wizualizacje SVG */
.rk-faq-visual {
    background: var(--rk-faq-dark);
    border-radius: 16px;
    padding: 15px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 25px rgba(0,0,0,0.6);
    border: 3px solid #1e293b;
    position: relative;
    overflow: hidden;
}

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

/* Animacje SVG zależne od .active w rodzicu */

/* 1. Rotametry */
.anim-rota-1 { transform: translateY(0); transition: transform 1s 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }
.anim-rota-2 { transform: translateY(0); transition: transform 1s 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); }
.anim-rota-3 { transform: translateY(0); transition: transform 1s 0.7s cubic-bezier(0.34, 1.56, 0.64, 1); }
.rk-faq-item.active .anim-rota-1 { transform: translateY(20px); }
.rk-faq-item.active .anim-rota-2 { transform: translateY(10px); }
.rk-faq-item.active .anim-rota-3 { transform: translateY(30px); }

/* 2. Zabudowa / Lodówka */
.anim-frost { opacity: 0; transform: scale(0.5) rotate(-45deg); transition: all 0.6s 0.4s ease-out; }
.anim-cross { opacity: 0; stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 0.5s 0.8s, opacity 0.2s 0.8s; }
.rk-faq-item.active .anim-frost { opacity: 1; transform: scale(1) rotate(0deg); }
.rk-faq-item.active .anim-cross { opacity: 1; stroke-dashoffset: 0; }

/* 3. Długość 100m */
.anim-loop-draw { stroke-dasharray: 250; stroke-dashoffset: 250; transition: stroke-dashoffset 1.5s 0.3s ease-out; }
.anim-alert { opacity: 0; transform: scale(0); transition: all 0.5s 1.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.rk-faq-item.active .anim-loop-draw { stroke-dashoffset: 0; }
.rk-faq-item.active .anim-alert { opacity: 1; transform: scale(1); }

/* 4. Bezwładność (Masa Betonu) */
.anim-heat-wave { stroke-dasharray: 10 15; stroke-dashoffset: 0; opacity: 0; }
.rk-faq-item.active .anim-heat-wave { opacity: 1; animation: heatRiseSlow 3s linear infinite 0.5s; }
@keyframes heatRiseSlow { to { stroke-dashoffset: -50; } }

/* 5. System Suchy (Lamele) */
.anim-shine { transform: translateX(-100%); }
.rk-faq-item.active .anim-shine { animation: sweepShine 2s infinite 0.5s; }
@keyframes sweepShine { 
    0% { transform: translateX(-100%); opacity: 0; }
    50% { opacity: 0.5; }
    100% { transform: translateX(100%); opacity: 0; }
}

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

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Najczęściej zadawane pytania o rozstaw rur w podłogówce (FAQ)",
    "description": "Baza wiedzy eksperckiej o ogrzewaniu podłogowym: mieszanie rozstawów pętli, układanie rur pod meblami, maksymalna długość pętli PEX i specyfika systemu suchego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#faq-schema",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy można mieszać różne rozstawy rur w obrębie jednego domu lub rozdzielacza?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, to absolutny fundament poprawnego projektowania. Łazienki wymagają rozstawu 10 cm, salon zazwyczaj 15 cm, a sypialnie 20 cm. Różnice w oporach hydraulicznych i zapotrzebowaniu na ciepło dla poszczególnych stref bilansuje się na etapie regulacji przepływów na rotametrach rozdzielacza."
        }
      },
      {
        "@type": "Question",
        "name": "Jaki rozstaw rur zastosować pod meblami kuchennymi i lodówką?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Pod stałą zabudową kuchenną (szczególnie pod lodówką) nie układamy pętli grzewczych wcale. Ogrzewanie w tych strefach prowadzi do psucia się żywności, przegrzewania agregatów i wysychania frontów. Standard inżynierski nakazuje odsunięcie rur o 40-60 cm od krawędzi ścian."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka jest maksymalna długość jednej pętli grzewczej dla rury o średnicy 16 mm?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nieprzekraczalną granicą dla standardowej rury 16x2 mm jest 100 metrów bieżących (wliczając odcinki dobiegowe do rozdzielacza). Dłuższe pętle generują potężne opory hydrauliczne, woda pod koniec obiegu jest wyziębiona, a pompa obiegowa ulega przeciążeniu."
        }
      },
      {
        "@type": "Question",
        "name": "Czy gęstszy rozstaw rur pozwala na szybsze nagrzanie wyziębionego domu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie. Dynamika nagrzewania zależy od masy akumulacyjnej (bezwładności) jastrychu betonowego, a nie od ilości rury. Gęstszy układ (np. 10 cm) pozwala natomiast drastycznie obniżyć temperaturę zasilania (do ok. 30 stopni), co maksymalizuje oszczędności z pracy pompy ciepła."
        }
      },
      {
        "@type": "Question",
        "name": "Jak gęsto układać rury ogrzewania podłogowego w systemie suchym (bez wylewki)?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Z uwagi na brak wylewki, system suchy wymaga gęstszego ułożenia oraz blach transmisyjnych (lameli). Płyty styropianowe mają zazwyczaj rowki rozmieszczone co 12,5 cm lub 15 cm. Aluminium przejmuje funkcję radiatora, zapewniając niemal natychmiastową reakcję cieplną."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset",
    "name": "Normy i ograniczenia projektowe ogrzewania płaszczyznowego",
    "description": "Zestawienie kluczowych parametrów i limitów inżynierskich przy projektowaniu wodnego ogrzewania podłogowego (długości pętli, strefy brzegowe, zabudowa).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozstaw rur podłogówki",
      "długość pętli grzewczej",
      "ogrzewanie podłogowe pod meblami",
      "rotametry rozdzielacza",
      "system suchy podłogówki"
    ],
    "measurementTechnique": "Wytyczne projektowe wyznaczone na podstawie PN-EN 1264 oraz charakterystyk oporów hydraulicznych pomp obiegowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalna długość pętli PEX 16x2: 100 mb.",
        "Strefa martwa przy stałej zabudowie kuchennej: 40-60 cm.",
        "Zalecany rozstaw strefowy: łazienki 10 cm, salony 15 cm."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp",
    "name": "Interaktywne FAQ: Rozstaw rur podłogówki",
    "description": "Edukacyjna aplikacja webowa wykorzystująca animacje wektorowe SVG do wizualizacji zjawisk hydraulicznych, stref martwych oraz rozdzielaczy instalacyjnych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 for interactive accordion and SVG animation rendering.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA FAQ
=========================================== -->
<div class="rk-faq-container" id="rk-faq-rozstaw">
    <div class="rk-faq-header">
        <div class="rk-faq-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Baza Wiedzy Inwestora
        </div>
        <h2 class="rk-faq-title">Najczęściej zadawane pytania <span>o rozstaw rur</span></h2>
    </div>

    <div class="rk-faq-interactive">
        <div class="rk-faq-list">
            
            <!-- Pytanie 1 -->
            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>1. Czy można mieszać różne rozstawy rur w obrębie jednego domu lub rozdzielacza?</span>
                    <div class="rk-faq-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Tak, i co więcej – to <strong>absolutny fundament poprawnego projektowania</strong>. Łazienki naturalnie wymagają zagęszczenia do 10 cm, salon najczęściej 15 cm, a sypialnie 20 cm. Powstałe w ten sposób różnice w oporach hydraulicznych i długościach rur bilansuje się precyzyjnie poprzez <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/" class="rk-link">nastawy rotametrów na rozdzielaczu</a>. Dzięki temu woda "wie", gdzie ma płynąć szybciej, a system działa stabilnie w całym domu.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="20" y="45" width="60" height="15" fill="#334155" rx="3"/>
                                    <!-- Rotametr 1 -->
                                    <rect x="30" y="15" width="8" height="30" fill="#475569" rx="4"/>
                                    <rect class="anim-rota-1" x="30" y="15" width="8" height="15" fill="#ef4444" rx="4"/>
                                    <!-- Rotametr 2 -->
                                    <rect x="46" y="15" width="8" height="30" fill="#475569" rx="4"/>
                                    <rect class="anim-rota-2" x="46" y="15" width="8" height="25" fill="#10b981" rx="4"/>
                                    <!-- Rotametr 3 -->
                                    <rect x="62" y="15" width="8" height="30" fill="#475569" rx="4"/>
                                    <rect class="anim-rota-3" x="62" y="15" width="8" height="10" fill="#3b82f6" rx="4"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 2 -->
            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>2. Jaki rozstaw rur zastosować pod meblami kuchennymi i lodówką?</span>
                    <div class="rk-faq-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Pod stałą ciężką zabudową (zwłaszcza pod lodówką i zamrażarką) <strong>nie układamy rur grzewczych wcale</strong>. Zastosowanie tam ogrzewania to marnowanie energii, które skutkuje psuciem się żywności w dolnych szafkach, rozklejaniem frontów meblowych oraz drastycznym obciążeniem kompresora lodówki. Inżynierski standard nakazuje <a href="https://projekt-ogrzewania.pl/gdzie-nie-ukladac-ogrzewania-podlogowego/" class="rk-link">odsunięcie rur o 40-60 cm</a> od ściany z planowaną zabudową.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <path d="M 20 50 Q 50 30 80 50" fill="none" stroke="#ef4444" stroke-width="4" stroke-linecap="round"/>
                                    <path d="M 20 60 Q 50 40 80 60" fill="none" stroke="#ef4444" stroke-width="4" stroke-linecap="round"/>
                                    <g class="anim-frost" transform-origin="50 35">
                                        <line x1="50" y1="20" x2="50" y2="50" stroke="#93c5fd" stroke-width="3"/>
                                        <line x1="35" y1="35" x2="65" y2="35" stroke="#93c5fd" stroke-width="3"/>
                                        <line x1="40" y1="25" x2="60" y2="45" stroke="#93c5fd" stroke-width="3"/>
                                        <line x1="40" y1="45" x2="60" y2="25" stroke="#93c5fd" stroke-width="3"/>
                                    </g>
                                    <line class="anim-cross" x1="30" y1="20" x2="70" y2="60" stroke="#dc2626" stroke-width="6" stroke-linecap="round"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 3 -->
            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>3. Jaka jest maksymalna długość jednej pętli grzewczej dla rury Ø 16 mm?</span>
                    <div class="rk-faq-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Nieprzekraczalną granicą dla popularnej rury PEX/PERT 16x2 mm jest <strong>dokładnie 100 metrów bieżących</strong> (wliczając w to odcinek "ślepy" idący od rozdzielacza do pomieszczenia). Zignorowanie tego limitu i <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/" class="rk-link">ułożenie zbyt długiej pętli</a> generuje gigantyczne opory hydrauliczne. Woda na końcu staje się zimna, pompa obiegowa ulega przeciążeniu, a podłoga nie grzeje równomiernie.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <path class="anim-loop-draw" d="M 10 35 L 70 35 Q 85 35 85 20 Q 85 10 70 10 L 10 10" fill="none" stroke="#3b82f6" stroke-width="4" stroke-linecap="round"/>
                                    <g class="anim-alert" transform-origin="75 35">
                                        <circle cx="75" cy="35" r="14" fill="#ef4444"/>
                                        <text x="75" y="40" font-size="12" font-weight="bold" fill="white" text-anchor="middle">100m</text>
                                    </g>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 4 -->
            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>4. Czy gęstszy rozstaw rur pozwala na szybsze nagrzanie wyziębionego domu?</span>
                    <div class="rk-faq-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                <strong>Nie, to szkodliwy instalatorski mit.</strong> Dynamika nagrzewania układu nie zależy od ilości metrów rury, ale od gigantycznej masy akumulacyjnej jastrychu (betonu). <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/" class="rk-link">Bezwładność cieplna</a> sprawia, że płyta i tak potrzebuje wielu godzin na załadowanie energią. Gęstszy układ (np. 10 cm zamiast 15 cm) służy wyłącznie temu, aby móc pracować na bardzo niskiej temperaturze zasilania (np. 30°C) i oszczędzać prąd na pompie ciepła.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="20" y="45" width="60" height="20" fill="#475569" rx="2"/>
                                    <circle cx="35" cy="55" r="5" fill="#ef4444"/>
                                    <circle cx="65" cy="55" r="5" fill="#ef4444"/>
                                    <path class="anim-heat-wave" d="M 30 40 C 30 20 40 20 40 10 M 60 40 C 60 20 70 20 70 10" fill="none" stroke="#fbbf24" stroke-width="3" stroke-linecap="round"/>
                                    <path d="M 85 60 L 85 20" stroke="#cbd5e1" stroke-width="4" stroke-linecap="round"/>
                                    <circle cx="85" cy="62" r="6" fill="#ef4444"/>
                                    <line x1="85" y1="60" x2="85" y2="40" stroke="#ef4444" stroke-width="2" stroke-linecap="round"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 5 -->
            <div class="rk-faq-item">
                <button class="rk-faq-question">
                    <span>5. Jak gęsto układać rury podłogówki w systemie suchym (bez wylewki)?</span>
                    <div class="rk-faq-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-faq-answer-wrapper">
                    <div class="rk-faq-answer-inner">
                        <div class="rk-faq-content">
                            <div class="rk-faq-text">
                                Brak mokrego betonu zmienia fizykę wymiany ciepła. W <a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/" class="rk-link">systemie suchym ogrzewania</a> płyty styropianowe z rowkami posiadają gęstszy rozstaw fabryczny – zazwyczaj 12,5 cm lub 15 cm. Ponadto rura otulona jest aluminiowymi blachami transmisyjnymi (lamelami). To aluminium przejmuje na siebie rolę radiatora i błyskawicznie przekazuje energię cieplną bezpośrednio na okładzinę, np. na panele.
                            </div>
                            <div class="rk-faq-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="20" y="25" width="60" height="20" fill="#e2e8f0" rx="2" stroke="#94a3b8" stroke-width="2"/>
                                    <path d="M 30 35 L 70 35" stroke="#ef4444" stroke-width="6" stroke-linecap="round"/>
                                    <rect class="anim-shine" x="20" y="25" width="15" height="20" fill="#ffffff" transform="skewX(-20)"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domeny
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-faq-rozstaw').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; border-radius:20px; font-family:sans-serif; margin: 40px auto; max-width: 800px; border: 2px solid #ef4444;">
                <div style="font-size: 40px; margin-bottom: 15px;">🛑</div>
                <div style="color:#ef4444; font-size:20px; font-weight:900; margin-bottom: 10px; text-transform:uppercase;">Naruszenie Licencji i Praw Autorskich</div>
                <div style="color:#cbd5e1; font-size:15px; max-width:550px; margin:0 auto; line-height:1.6;">Struktura danych JSON-LD oraz interaktywny moduł FAQ są własnością intelektualną serwisu Projekt-Ogrzewania.pl. Wykryto próbę kradzieży technologii.</div>
            </div>
        `;
        return;
    }

    // 2. Logika Akordeonu
    const faqItems = document.querySelectorAll('#rk-faq-rozstaw .rk-faq-item');

    faqItems.forEach(item => {
        const btn = item.querySelector('.rk-faq-question');
        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            // Zwijamy wszystkie
            faqItems.forEach(i => i.classList.remove('active'));
            
            // Otwieramy kliknięty jeśli nie był otwarty
            if (!isActive) {
                item.classList.add('active');
            }
        });
    });
    
    // Otwarcie pierwszego elementu po załadowaniu
    if(faqItems.length > 0) {
        faqItems[0].classList.add('active');
    }
});
</script>



<style>
:root {
    --rk-end-dark: #111827;
    --rk-end-blue: #2563eb;
    --rk-end-blue-hover: #1d4ed8;
    --rk-end-light: #f8fafc;
    --rk-end-green: #059669;
    --rk-end-green-bg: #d1fae5;
    --rk-end-red: #dc2626;
    --rk-end-red-bg: #fee2e2;
    --rk-end-text: #334155;
    --rk-end-border: #e2e8f0;
    --rk-end-shadow: 0 10px 30px -10px rgba(37, 99, 235, 0.15);
}

.rk-end-wrapper {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: var(--rk-end-shadow);
    border: 1px solid var(--rk-end-border);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-end-header {
    background: linear-gradient(145deg, var(--rk-end-dark) 0%, #1e293b 100%);
    padding: 50px 40px;
    color: #ffffff;
    text-align: center;
    position: relative;
}

.rk-end-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at 50% 0%, rgba(37, 99, 235, 0.2) 0%, transparent 70%);
    pointer-events: none;
}

.rk-end-title {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.2;
    letter-spacing: -0.5px;
    position: relative;
    z-index: 2;
}

.rk-end-lead {
    font-size: 18px;
    line-height: 1.6;
    color: #cbd5e1;
    max-width: 750px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    font-weight: 400;
}

.rk-end-lead strong {
    color: #60a5fa;
    font-weight: 700;
}

/* Interaktywny Moduł - Symulator */
.rk-end-interactive {
    padding: 40px;
    background: var(--rk-end-light);
    border-bottom: 1px solid var(--rk-end-border);
}

.rk-end-h3 {
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-end-dark);
    margin: 0 0 30px 0;
}

/* Toggle Switch */
.rk-toggle-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
    background: #ffffff;
    padding: 15px 30px;
    border-radius: 99px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--rk-end-border);
}

.rk-toggle-label {
    font-size: 16px;
    font-weight: 700;
    color: #64748b;
    transition: color 0.3s ease;
    cursor: pointer;
}

.rk-toggle-label.active-pro { color: var(--rk-end-green); }
.rk-toggle-label.active-amateur { color: var(--rk-end-red); }

.rk-switch {
    position: relative;
    display: inline-block;
    width: 70px;
    height: 36px;
}

.rk-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.rk-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--rk-end-green);
    transition: .4s cubic-bezier(0.4, 0.0, 0.2, 1);
    border-radius: 36px;
}

.rk-slider:before {
    position: absolute;
    content: "";
    height: 28px;
    width: 28px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s cubic-bezier(0.4, 0.0, 0.2, 1);
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

input:checked + .rk-slider { background-color: var(--rk-end-red); }
input:checked + .rk-slider:before { transform: translateX(34px); }

/* Obszar Wyników */
.rk-sim-dashboard {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: stretch;
}

.rk-sim-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    border: 2px solid transparent;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Moduł SEO (Wiedza w pigułce) zastępujący SVG */
.rk-seo-box {
    background: #f8fafc;
    border-radius: 12px;
    padding: 20px;
    border: 1px dashed var(--rk-end-border);
}

.rk-seo-box h5 {
    margin: 0 0 10px 0;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-end-dark);
    text-transform: uppercase;
}

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

.rk-seo-box ul li { margin-bottom: 8px; }
.rk-seo-box ul li:last-child { margin-bottom: 0; }

/* Dynamiczne Boxy */
.stat-box {
    padding: 15px;
    border-radius: 12px;
    margin-bottom: 15px;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 500;
}

.rk-sim-content h4 {
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 15px 0;
}

/* CTA Footer */
.rk-end-footer {
    padding: 40px;
    background: #ffffff;
    text-align: center;
}

.rk-btn-final {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-end-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.4);
    transition: all 0.3s ease;
}

.rk-btn-final:hover {
    transform: translateY(-3px);
    background: var(--rk-end-blue-hover);
    box-shadow: 0 15px 25px -5px rgba(37, 99, 235, 0.5);
}

.rk-btn-final svg { transition: transform 0.3s; }
.rk-btn-final:hover svg { transform: translateX(6px); }

@media (max-width: 768px) {
    .rk-sim-dashboard { grid-template-columns: 1fr; }
    .rk-end-header, .rk-end-interactive, .rk-end-footer { padding: 30px 20px; }
    .rk-end-title { font-size: 26px; }
    .rk-toggle-container { width: 100%; flex-direction: column; gap: 15px; text-align: center; }
    .rk-btn-final { width: 100%; font-size: 16px; padding: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Podsumowanie inżynierskie: Ogrzewanie podłogowe to inwestycja na 50 lat",
    "description": "Rozstaw rur to pochodna matematycznego bilansu strat ciepła. Zobacz symulację kosztów: profesjonalny projekt OZC vs instalacja bez wyliczeń hydraulicznych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-21",
    "dateModified": "2026-05-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset",
    "name": "Porównanie efektywności: Projekt OZC vs Montaż Intuicyjny",
    "description": "Zestawienie techniczno-finansowe obrazujące wpływ poprawnie dobranego rozstawu rur na żywotność i efektywność pompy ciepła w perspektywie 50 lat.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt OZC podłogówki",
      "rozstaw rur a pompa ciepła",
      "bilans hydrauliczny ogrzewania",
      "żywotność ogrzewania podłogowego",
      "koszty eksploatacji pompy ciepła"
    ],
    "measurementTechnique": "Obliczenia inżynierskie na podstawie PN-EN 12831 oraz danych z rotametrów dla symulacji długoterminowej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Projekt OZC: Idealne dopasowanie przepływów, praca na niskim parametrze zasilania, wysoki współczynnik COP.",
        "Brak projektu (Na oko): Zjawisko zebry termicznej, dławienie pompy obiegowej, przewymiarowanie kosztów inwestycyjnych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#webapp",
    "name": "Symulator Inwestycyjny Ogrzewania Podłogowego",
    "description": "Interaktywny panel demonstrujący różnice termiczne i hydrauliczne pomiędzy instalacją z certyfikowanym projektem a wykonawstwem z pamięci.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 styling execution",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-end-wrapper" id="podsumowanie-app">
    <div class="rk-end-header">
        <h2 class="rk-end-title">Podsumowanie inżynierskie: Inwestycja na 50 lat</h2>
        <p class="rk-end-lead">
            Po zalaniu rur jastrychem, naprawa jakichkolwiek błędów wiąże się z katastrofalnym remontem i kuciem całego domu. Zapomnij o uniwersalnych radach pseudofachowców, którzy twierdzą, że rozstaw <strong>"co 15 cm wszędzie będzie pan zadowolony"</strong>.
        </p>
    </div>

    <div class="rk-end-interactive">
        <h3 class="rk-end-h3">Zrób symulację: Co determinuje rozstaw rur?</h3>
        
        <div class="rk-toggle-container">
            <span class="rk-toggle-label active-pro" id="lblPro" onclick="document.getElementById('simToggle').click()">Projekt Inżynierski (OZC)</span>
            <label class="rk-switch">
                <input type="checkbox" id="simToggle">
                <span class="rk-slider"></span>
            </label>
            <span class="rk-toggle-label" id="lblAmateur" onclick="document.getElementById('simToggle').click()">Instalacja "Na oko"</span>
        </div>

        <div class="rk-sim-dashboard">
            <div class="rk-sim-card" id="cardVisual">
                <div id="contentProSEO" style="display:block;">
                    <div class="rk-seo-box" style="border-color: #10b981; background: #f0fdf4;">
                        <h5 style="color: #047857;">Najczęstsze pytania z naszej <a href="https://www.facebook.com/groups/forumogrzewaniapodlogowego/" target="_blank" rel="nofollow noopener noreferrer">grupy na Facebooku</a>:</h5>
                        <ul style="color: #064e3b;">
                            <li>Jak projekt OZC zapobiega przegrzewaniu posadzki?</li>
                            <li>Zbalansowanie rotametrów dla pomp ciepła</li>
                            <li>Wpływ rozstawu 10cm na sprawność sezonową (SCOP)</li>
                            <li>Wylewka anhydrytowa a transfer ciepła w salonie</li>
                        </ul>
                    </div>
                </div>

                <div id="contentAmateurSEO" style="display:none;">
                    <div class="rk-seo-box" style="border-color: #ef4444; background: #fff5f5;">
                        <h5 style="color: #b91c1c;">Wyszukiwania dla błędów i awarii:</h5>
                        <ul style="color: #7f1d1d;">
                            <li>Dlaczego podłogówka nie grzeje na końcach obwodów?</li>
                            <li>Efekt zebry termicznej – jak naprawić chłodne pasy?</li>
                            <li>Przeciążona pompa obiegowa w podłogówce</li>
                            <li>Za długa pętla grzewcza powyżej 100 metrów</li>
                        </ul>
                    </div>
                </div>
            </div>

            <div class="rk-sim-card" id="cardData">
                <div class="rk-sim-content" id="contentPro">
                    <h4 style="color: var(--rk-end-green);">Matematyczny bilans = Oszczędność</h4>
                    <div class="stat-box" style="background: var(--rk-end-green-bg); color: #064e3b; border-left: 4px solid var(--rk-end-green);">
                        Rozstaw rur to bezpośrednia pochodna <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" style="color: #064e3b; font-weight:700; text-decoration:underline;">obliczeń strat ciepła (OZC)</a>, rodzaju wybranej posadzki oraz parametrów pompy ciepła.
                    </div>
                    <div class="stat-box" style="background: #f1f5f9; color: #334155;">
                        <strong>Zysk inżynierski:</strong> Zyskujesz pewność idealnych przepływów hydraulicznych, najwyższy możliwy współczynnik COP pompy ciepła oraz drastyczny spadek rachunków za prąd.
                    </div>
                </div>

                <div class="rk-sim-content" id="contentAmateur" style="display:none;">
                    <h4 style="color: var(--rk-end-red);">Ruletka na placu budowy</h4>
                    <div class="stat-box" style="background: var(--rk-end-red-bg); color: #7f1d1d; border-left: 4px solid var(--rk-end-red);">
                        Układanie "na oko" (np. wszędzie 10 cm) generuje zbędne <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/" style="color: #7f1d1d; font-weight:700; text-decoration:underline;">koszty inwestycyjne rzędu tysięcy złotych</a> i drastycznie dławi pompę obiegową.
                    </div>
                    <div class="stat-box" style="background: #f1f5f9; color: #334155;">
                        <strong>Skutki błędów:</strong> Zbyt rzadki rozstaw to niedogrzany dom i "zebra termiczna". Zbyt gęsty - przeciążenie hydrauliki. W obu przypadkach płacisz podwójnie.
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-end-footer">
        <p style="font-size: 16px; color: #64748b; margin: 0 0 25px 0; max-width: 650px; margin-left: auto; margin-right: auto; line-height: 1.6;">
            Zamiast ryzykować, zainwestuj ułamek budżetu w profesjonalny, <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/" style="color: var(--rk-end-blue); font-weight: 700; text-decoration: none;">indywidualny projekt instalacji grzewczej</a>. Tylko tak zyskasz pewność, że Twój dom będzie ciepły i bezawaryjny.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-final">
            PRZEJDŹ DO BAZY WIEDZY I CZYTAJ WIĘCEJ
            <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() {
    // 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 app = document.getElementById('podsumowanie-app');
        if (app) {
            app.innerHTML = `
                <div style="padding:45px; text-align:center; background:#0f172a; border-radius:24px; border:2px solid #ef4444; color:#fff; font-family:sans-serif; margin:40px auto; max-width:800px;">
                    <div style="font-size:45px; margin-bottom:15px;">🛑</div>
                    <div style="color:#ef4444; font-size:20px; font-weight:900; text-transform:uppercase; margin-bottom:10px;">Wykryto Naruszenie Własności Intelektualnej</div>
                    <div style="color:#cbd5e1; font-size:14px; line-height:1.6;">Interaktywny kontener inżynierski oraz powiązana struktura bazodanowa JSON-LD stanowią własność intelektualną chronioną prawem dla serwisu Projekt-Ogrzewania.pl. Wykryto użycie kodu na nieautoryzowanej domenie.</div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Toggle Switch
    const toggle = document.getElementById('simToggle');
    const lblPro = document.getElementById('lblPro');
    const lblAmateur = document.getElementById('lblAmateur');
    
    // Treść SEO
    const contentProSEO = document.getElementById('contentProSEO');
    const contentAmateurSEO = document.getElementById('contentAmateurSEO');
    
    // Wyniki
    const contentPro = document.getElementById('contentPro');
    const contentAmateur = document.getElementById('contentAmateur');
    
    // Karty (Stylizowanie obramowania)
    const cardVisual = document.getElementById('cardVisual');
    const cardData = document.getElementById('cardData');

    toggle.addEventListener('change', function() {
        if (this.checked) {
            // Stan: Amator
            lblPro.classList.remove('active-pro');
            lblAmateur.classList.add('active-amateur');
            
            contentProSEO.style.display = 'none';
            contentAmateurSEO.style.display = 'block';
            
            contentPro.style.display = 'none';
            contentAmateur.style.display = 'block';
            
            cardVisual.style.borderColor = 'var(--rk-end-red)';
            cardVisual.style.background = '#fff5f5';
            cardData.style.borderColor = 'var(--rk-end-red)';
            
        } else {
            // Stan: Pro Inżynier
            lblAmateur.classList.remove('active-amateur');
            lblPro.classList.add('active-pro');
            
            contentAmateurSEO.style.display = 'none';
            contentProSEO.style.display = 'block';
            
            contentAmateur.style.display = 'none';
            contentPro.style.display = 'block';
            
            cardVisual.style.borderColor = 'var(--rk-end-green)';
            cardVisual.style.background = '#f0fdf4';
            cardData.style.borderColor = 'var(--rk-end-green)';
        }
    });

    // Inicjalizacja wizualna
    cardVisual.style.borderColor = 'var(--rk-end-green)';
    cardVisual.style.background = '#f0fdf4';
    cardData.style.borderColor = 'var(--rk-end-green)';
});
</script>



<style>
:root {
    --rk-dl2-dark: #0f172a;
    --rk-dl2-darker: #020617;
    --rk-dl2-brand: #0891b2; /* Technologiczny Cyjan */
    --rk-dl2-brand-dark: #0e7490;
    --rk-dl2-brand-light: #cffafe;
    --rk-dl2-bg: #f8fafc;
    --rk-dl2-panel: #ffffff;
    --rk-dl2-border: #e2e8f0;
    --rk-dl2-text: #334155;
    --rk-dl2-muted: #64748b;
}

.rk-dl2-wrapper {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-dl2-panel);
    border-radius: 24px;
    border: 1px solid var(--rk-dl2-border);
    box-shadow: 0 25px 50px -12px rgba(8, 145, 178, 0.15);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-dl2-header {
    background: linear-gradient(135deg, var(--rk-dl2-darker) 0%, #164e63 100%);
    padding: 45px 50px;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    border-bottom: 4px solid var(--rk-dl2-brand);
}

.rk-dl2-header::before {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: radial-gradient(circle at 80% 50%, rgba(8, 145, 178, 0.25) 0%, transparent 60%);
    pointer-events: none;
}

.rk-dl2-header-content {
    position: relative;
    z-index: 2;
    max-width: 65%;
}

.rk-dl2-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(8, 145, 178, 0.2);
    border: 1px solid rgba(8, 145, 178, 0.3);
    color: #67e8f9;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.rk-dl2-title {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 12px 0;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.rk-dl2-lead {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
}

/* Pływająca Ikona PDF */
.rk-dl2-visual-icon {
    position: relative;
    z-index: 2;
    background: rgba(255,255,255,0.05);
    padding: 20px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
}

.rk-pdf-svg {
    width: 75px;
    height: auto;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.4));
    animation: floatPdf 3s infinite ease-in-out alternate;
}

@keyframes floatPdf {
    0% { transform: translateY(0) rotate(0deg); }
    100% { transform: translateY(-8px) rotate(2deg); }
}

/* Główny obszar roboczy */
.rk-dl2-workspace {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    padding: 40px 50px;
    background: var(--rk-dl2-panel);
}

/* Podgląd pliku */
.rk-dl2-preview {
    background: var(--rk-dl2-bg);
    border: 1px solid var(--rk-dl2-border);
    border-radius: 16px;
    padding: 15px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s ease;
}

.rk-dl2-preview:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 20px 30px -10px rgba(8, 145, 178, 0.2);
    border-color: #67e8f9;
}

.rk-dl2-img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.rk-preview-overlay {
    position: absolute;
    bottom: 25px;
    right: 25px;
    background: rgba(2, 6, 23, 0.75);
    color: #ffffff;
    padding: 8px 14px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(255,255,255,0.1);
}

/* Prawa kolumna (Informacje i SEO) */
.rk-dl2-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
}

.rk-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 15px;
    font-weight: 600;
    color: var(--rk-dl2-text);
    line-height: 1.5;
}

.rk-feature-item:last-child { margin-bottom: 0; }

.rk-check-icon {
    width: 22px;
    height: 22px;
    color: var(--rk-dl2-brand);
    flex-shrink: 0;
    margin-top: 1px;
}

/* Przycisk Pobierania */
.rk-dl2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-dl2-brand);
    color: #ffffff;
    text-decoration: none !important;
    padding: 18px 35px;
    border-radius: 14px;
    font-weight: 800;
    font-size: 16px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 20px -5px rgba(8, 145, 178, 0.4);
    border: 2px solid transparent;
}

.rk-dl2-btn:hover {
    background: var(--rk-dl2-brand-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(8, 145, 178, 0.5);
    border-color: #67e8f9;
}

.rk-dl2-btn svg { transition: transform 0.3s; }
.rk-dl2-btn:hover svg { transform: translateY(3px); }

/* Stopka */
.rk-dl2-footer {
    padding: 20px 50px;
    background: var(--rk-dl2-bg);
    border-top: 1px solid var(--rk-dl2-border);
    font-size: 13px;
    color: var(--rk-dl2-muted);
    text-align: center;
    line-height: 1.6;
}

.rk-dl2-footer a {
    color: var(--rk-dl2-brand-dark);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-dl2-brand-dark);
    transition: 0.3s;
}

.rk-dl2-footer a:hover {
    color: var(--rk-dl2-brand);
    border-bottom-style: solid;
}

/* Responsywność */
@media (max-width: 850px) {
    .rk-dl2-header { flex-direction: column; text-align: center; padding: 35px 25px; gap: 30px; }
    .rk-dl2-header-content { max-width: 100%; }
    .rk-dl2-workspace { grid-template-columns: 1fr; padding: 35px 25px; gap: 30px; }
    .rk-dl2-footer { padding: 20px 25px; }
    .rk-dl2-btn { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#download-hub",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/"
    },
    "headline": "Kompendium Wiedzy: Jak gęsto rozkładać podłogówkę? (Infografika PDF)",
    "description": "Pobierz darmową infografikę inżynierską w formacie PDF. Znajdziesz w niej parametry rozstawu rur dla pomp ciepła oraz błędy do uniknięcia na budowie.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Jak-gesto-rozkladac-podlogowke.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-23",
    "dateModified": "2026-05-23"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dataset-infografika",
    "name": "Zestawienie wytycznych: Rozstaw rur ogrzewania podłogowego",
    "description": "Baza danych określająca optymalne natężenie układania rur (10, 15, 20 cm) w zależności od źródła ciepła oraz wymogów dla stref brzegowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak gęsto rozkładać podłogówkę pdf",
      "schemat układania podłogówki",
      "rozstaw rur pex pompa ciepła",
      "tabela rozstawu rur ogrzewania podłogowego",
      "strefa brzegowa podłogówka"
    ],
    "measurementTechnique": "Zestawienie analityczne w oparciu o normy PN-EN 1264 oraz charakterystykę oporów cieplnych posadzek drewnianych i ceramicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zależność rozstawu rur (10-20 cm) od temperatury zasilania.",
        "Wymogi zagęszczania pętli pod dużymi oknami HS (strefy brzegowe).",
        "Kompensacja oporów cieplnych (R=0.12 m²K/W) dla deski barlineckiej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/#dl-app",
    "name": "Centrum Pobierania Wiedzy: Rozstaw Rur PEX",
    "description": "Interaktywny moduł umożliwiający wizualizację i natychmiastowe pobranie dokumentacji technicznej w wysokiej rozdzielczości.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 compatibility",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl2-wrapper" id="rk-pdf-download-hub">
    
    <div class="rk-dl2-header">
        <div class="rk-dl2-header-content">
            <div class="rk-dl2-badge">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                Darmowe Materiały Inżynierskie
            </div>
            <h2 class="rk-dl2-title">Pobierz Ściągawkę Projektową</h2>
            <p class="rk-dl2-lead">Miej najważniejsze zasady zawsze pod ręką. Zapisz kompendium na smartfonie i skonsultuj je ze swoim wykonawcą przed wylaniem posadzek.</p>
        </div>
        <div class="rk-dl2-visual-icon">
            <svg class="rk-pdf-svg" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M14 2H6C4.89543 2 4 2.89543 4 4V20C4 21.1046 4.89543 22 6 22H18C19.1046 22 20 21.1046 20 20V8L14 2Z" fill="#ef4444" stroke="#ffffff" stroke-width="1.5" stroke-linejoin="round"/>
                <path d="M14 2V8H20" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
                <text x="7" y="18" fill="white" font-size="5.5" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="rk-dl2-workspace">
        
        <div class="rk-dl2-preview" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Jak-gesto-rozkladac-podlogowke.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Jak-gesto-rozkladac-podlogowke.webp" alt="Infografika: Jak gęsto rozkładać ogrzewanie podłogowe - zasady i błędy" class="rk-dl2-img" loading="lazy">
            <div class="rk-preview-overlay">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Powiększ
            </div>
        </div>

        <div class="rk-dl2-info">
            <h3 class="rk-dl2-h3">Co znajdziesz w dokumencie?</h3>
            <ul class="rk-feature-list">
                <li class="rk-feature-item">
                    <svg class="rk-check-icon" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Zestawienie oporów cieplnych i rozstawów rur dedykowanych pod deski warstwowe i parkiety.
                </li>
                <li class="rk-feature-item">
                    <svg class="rk-check-icon" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Zasady wymiarowania stref brzegowych przy dużych przeszkleniach typu HS.
                </li>
                <li class="rk-feature-item">
                    <svg class="rk-check-icon" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Tabelę bezpiecznych, granicznych długości pętli grzewczych dla rur PEX 16 mm.
                </li>
                <li class="rk-feature-item">
                    <svg class="rk-check-icon" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    Wysokiej jakości grafiki, czytelne bezpośrednio na ekranie smartfona.
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Jak-gesto-rozkladac-podlogowke.pdf" class="rk-dl2-btn" target="_blank">
                POBIERZ INFOGRAFIKĘ (PDF)
                <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="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>
            </a>
        </div>

    </div>

    <div class="rk-dl2-footer">
        Potrzebujesz dokładnych wyliczeń dla konkretnych pomieszczeń? 
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Skorzystaj z pomocy eksperta i zamów projekt wykonawczy OZC.</a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie Domenowe - DOMAIN LOCK
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const container = document.getElementById('rk-pdf-download-hub');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 10px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 800; color: #ef4444; text-transform: uppercase;">Zasoby Chronione</div>
                    <p style="color: #cbd5e1; font-size: 14px; line-height: 1.5; max-width: 500px; margin: 10px auto 0;">
                        Infografika oraz interfejs udostępniania są wyłączną własnością Projekt-Ogrzewania.pl. Hotlinking i kradzież kodu są zabronione.
                    </p>
                </div>
            `;
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/">Jak gęsto rozkładać podłogówkę?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Czy ogrzewanie podłogowe jest energooszczędne?</title>
		<link>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-energooszczedne/</link>
					<comments>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-energooszczedne/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 23 Jan 2025 10:11:05 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Ekologiczne rozwiązania grzewcze]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Nowoczesne systemy grzewcze]]></category>
		<category><![CDATA[Odnawialne źródła energii]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Oszczędność energii]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[ekologiczne ogrzewanie]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[odnawialne źródła energii]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędności]]></category>
		<category><![CDATA[projekt instalacji]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2006</guid>

					<description><![CDATA[<p>Czy ogrzewanie podłogowe jest energooszczędne? Ogrzewanie podłogowe wodne to nie tylko komfort cieplny, ale również realne oszczędności energetyczne. W artykule omawiamy, jakie czynniki wpływają na efektywność tego systemu, od niższej temperatury pracy, przez równomierny rozkład ciepła, po korzyści ekologiczne. Dowiedz się, jak odpowiednia instalacja i projekt mogą zmniejszyć rachunki za ogrzewanie i wpłynąć na lepszy mikroklimat w domu.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-energooszczedne/">Czy ogrzewanie podłogowe jest energooszczędne?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Czy ogrzewanie podłogowe jest energooszczędne?</strong> To pytanie zadaje sobie wielu właścicieli domów, którzy zastanawiają się nad wyborem odpowiedniego systemu grzewczego. <a href="https://projekt-ogrzewania.pl/category/ogrzewanie-podlogowe/">Ogrzewanie podłogowe</a> wodne to jeden z najnowocześniejszych i najbardziej efektywnych systemów grzewczych dostępnych na rynku. Jego rosnąca popularność wynika z komfortu cieplnego, równomiernego rozkładu temperatury oraz potencjalnych oszczędności energetycznych. W tym artykule przeanalizujemy, dlaczego wodne ogrzewanie podłogowe może być energooszczędne i jakie czynniki wpływają na jego efektywność.</p>



<h2 class="wp-block-heading">Jak działa wodne ogrzewanie podłogowe?</h2>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe polega na rozprowadzaniu ciepła przez <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rury</a> zamontowane pod powierzchnią podłogi. Woda podgrzewana przez kocioł, pompę ciepła lub inne źródło ciepła przepływa przez system rur, oddając ciepło do pomieszczenia. Dzięki dużej powierzchni grzewczej temperatura podłogi jest stosunkowo niska, co ogranicza straty energii i zwiększa komfort cieplny.</p>



<h2 class="wp-block-heading">Dlaczego ogrzewanie podłogowe jest energooszczędne?</h2>



<h3 class="wp-block-heading">1. <strong>Niższa temperatura pracy</strong>.</h3>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe działa przy temperaturach zasilania wynoszących <strong>30-40°C</strong>, co jest znacznie niższe niż w przypadku tradycyjnych grzejników. Oznacza to, że system zużywa mniej energii na podgrzanie wody, zwłaszcza w połączeniu z nowoczesnymi urządzeniami, takimi jak pompy ciepła.</p>



<h3 class="wp-block-heading">2. <strong>Równomierne rozprowadzanie ciepła</strong>.</h3>



<p class="wp-block-paragraph">Podłogówka zapewnia równomierny rozkład temperatury w całym pomieszczeniu. Dzięki temu można utrzymać niższą temperaturę powietrza (o około <strong>2-3°C</strong>) bez utraty komfortu cieplnego. Każdy stopień mniej to oszczędność rzędu <strong>5-6% na rachunkach za ogrzewanie</strong>.</p>



<h3 class="wp-block-heading">3. <strong>Kompatybilność z odnawialnymi źródłami energii</strong>.</h3>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe idealnie współpracuje z pompami ciepła, które są jednym z najbardziej energooszczędnych źródeł ciepła. Ponadto można je łączyć z panelami fotowoltaicznymi, co dodatkowo obniża koszty eksploatacji.</p>



<h3 class="wp-block-heading">4. <strong>Mniejsze straty ciepła</strong>.</h3>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe minimalizuje straty ciepła, ponieważ działa na dużej powierzchni i przy niższych temperaturach. Odpowiednia <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">izolacja podłogi</a> zapobiega utracie ciepła do gruntu, co zwiększa efektywność całego systemu.</p>



<h2 class="wp-block-heading">Koszty instalacji i eksploatacji wodnego ogrzewania podłogowego.</h2>



<h3 class="wp-block-heading">Koszty instalacji.</h3>



<p class="wp-block-paragraph">Instalacja wodnego ogrzewania podłogowego wymaga odpowiedniego przygotowania podłoża, ułożenia rur oraz wykonania wylewki. Koszty instalacji są wyższe niż w przypadku tradycyjnych grzejników, ale inwestycja ta zwraca się dzięki niższym kosztom eksploatacji. Przykładowo, <a href="https://projekt-ogrzewania.pl/ile-kosztuje-100-m²-ogrzewania-podlogowego/">koszt instalacji dla powierzchni 100 m²</a> wynosi średnio <strong>30-50 zł/m²</strong>.</p>



<h3 class="wp-block-heading">Koszty eksploatacji.</h3>



<p class="wp-block-paragraph">Niższa temperatura pracy oraz współpraca z energooszczędnymi źródłami ciepła sprawiają, że eksploatacja wodnego ogrzewania podłogowego jest bardziej ekonomiczna. W praktyce można zaoszczędzić od <strong>15 do 20%</strong> na rachunkach za ogrzewanie w porównaniu z tradycyjnymi systemami.</p>



<h2 class="wp-block-heading">Korzyści ekologiczne ogrzewania podłogowego.</h2>



<ul class="wp-block-list">
<li><strong>Niższa emisja CO₂</strong>: Dzięki efektywnemu wykorzystaniu energii, wodne ogrzewanie podłogowe jest bardziej przyjazne dla środowiska.</li>



<li><strong>Współpraca z odnawialnymi źródłami energii</strong>: System doskonale współpracuje z pompami ciepła i panelami fotowoltaicznymi.</li>



<li><strong>Mniejsze zużycie energii</strong>: Niższe temperatury pracy ograniczają zapotrzebowanie na energię.</li>
</ul>



<h2 class="wp-block-heading">Czy ogrzewanie podłogowe jest zawsze opłacalne?</h2>



<p class="wp-block-paragraph">Opłacalność wodnego ogrzewania podłogowego zależy od:</p>



<ol start="1" class="wp-block-list">
<li><strong>Ocieplenia budynku</strong>: Dobrze ocieplone budynki pozwalają w pełni wykorzystać zalety podłogówki.</li>



<li><strong>Doboru źródła ciepła</strong>: Najlepsze rezultaty osiąga się w połączeniu z pompą ciepła.</li>



<li><strong>Wielkości inwestycji</strong>: Chociaż koszty instalacji są wyższe, oszczędności na rachunkach zwracają się w ciągu kilku lat.</li>
</ol>



<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-1737625655579"><strong class="schema-faq-question"><strong>Dlaczego ogrzewanie podłogowe jest bardziej energooszczędne niż tradycyjne systemy?</strong></strong> <p class="schema-faq-answer">Działa przy niższej temperaturze zasilania i zapewnia równomierny rozkład ciepła, co zmniejsza zużycie energii.</p> </div> <div class="schema-faq-section" id="faq-question-1737625674506"><strong class="schema-faq-question"><strong>Jakie są największe zalety ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Należą do nich komfort cieplny, oszczędności na rachunkach za ogrzewanie oraz współpraca z odnawialnymi źródłami energii.</p> </div> <div class="schema-faq-section" id="faq-question-1737625696803"><strong class="schema-faq-question"><strong>Czy instalacja ogrzewania podłogowego jest droga?</strong></strong> <p class="schema-faq-answer">Koszty początkowe są wyższe niż przy tradycyjnych grzejnikach, ale inwestycja zwraca się dzięki niższym rachunkom za ogrzewanie.</p> </div> <div class="schema-faq-section" id="faq-question-1737625722292"><strong class="schema-faq-question"><strong>Jakie źródło ciepła najlepiej współpracuje z wodnym ogrzewaniem podłogowym?</strong></strong> <p class="schema-faq-answer">Pompy ciepła oraz kotły kondensacyjne to najczęściej polecane źródła ciepła dla tego systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1737625732235"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe jest ekologiczne?</strong></strong> <p class="schema-faq-answer">Tak, dzięki niższemu zużyciu energii i możliwości współpracy z odnawialnymi źródłami, system jest przyjazny dla środowiska.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Wodne ogrzewanie podłogowe</strong> to energooszczędne i ekologiczne rozwiązanie, które zapewnia wysoki komfort cieplny. Jego efektywność zależy od odpowiedniego projektu, izolacji budynku oraz dobrania właściwego źródła ciepła. Choć początkowe koszty instalacji mogą być wyższe, długoterminowe oszczędności czynią ten system opłacalnym i przyjaznym dla środowiska.</p>



<p class="wp-block-paragraph">Jeśli planujesz instalację wodnego ogrzewania podłogowego, skorzystaj z profesjonalnego <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projektu</a>, aby maksymalnie wykorzystać jego potencjał.</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="FE4RaGaIiO"><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=oM83W8gVc6#?secret=FE4RaGaIiO" data-secret="FE4RaGaIiO" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-energooszczedne/">Czy ogrzewanie podłogowe jest energooszczędne?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-energooszczedne/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
