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

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa Projekty ogrzewania - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/projekty-ogrzewania/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Opór cieplny R [m²K/W]: Klucz do efektywnego ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 01 Feb 2026 08:32:23 +0000</pubDate>
				<category><![CDATA[Fizyka budowli]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty grzewcze]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Projekty techniczne]]></category>
		<category><![CDATA[efektywność ogrzewania]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opór cieplny r]]></category>
		<category><![CDATA[panele na ogrzewanie podłogowe]]></category>
		<category><![CDATA[płytki gresowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[temperatura zasilania]]></category>
		<category><![CDATA[wylewka anhydrytowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3358</guid>

					<description><![CDATA[<p>Dlaczego jedne instalacje ogrzewania podłogowego działają sprawnie i tanio, a inne wymagają wysokiej temperatury zasilania i generują duże koszty? Odpowiedź bardzo często kryje się w parametrach warstw podłogi. Opór cieplny R [m²K/W]: Klucz do efektywnego ogrzewania podłogowego to temat, który w praktyce decyduje o komforcie cieplnym, bezwładności systemu i jego opłacalności. W artykule w przystępny, ale technicznie rzetelny sposób wyjaśniamy, jak czytać wartości R, jak liczyć opór warstw i dlaczego granica 0,15 m²K/W ma tak duże znaczenie dla pracy instalacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">Opór cieplny R [m²K/W]: Klucz do efektywnego ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Opór cieplny R [m²K/W]</strong>&nbsp;to jeden z najważniejszych, choć często niedocenianych, parametrów technicznych przy projektowaniu i wykonywaniu&nbsp;<strong>wodnego ogrzewania podłogowego</strong>. Jego wartość wprost decyduje o efektywności systemu, kosztach eksploatacji oraz końcowym komforcie cieplnym w pomieszczeniu. W dużym uproszczeniu, opór cieplny informuje nas, jak dana warstwa materiału &#8222;broni się&#8221; przed przepływem ciepła. W kontekście ogrzewania podłogowego musimy jednak podejść do tego zagadnienia w sposób bardzo strategiczny i zrozumieć, że w różnych warstwach &#8222;podłogowego tortu&#8221; pożądany jest&nbsp;<strong>skrajnie różny</strong>&nbsp;opór cieplny. Niniejszy artykuł w techniczny, lecz przystępny sposób, wyjaśni dlaczego&nbsp;<strong>opór cieplny R</strong>&nbsp;jest miarą sukcesu lub porażki Twojej instalacji.</p>



<h2 class="wp-block-heading">Czym dokładnie jest opór cieplny R? </h2>



<p class="wp-block-paragraph">Aby w pełni zrozumieć wpływ oporu cieplnego na działanie całego systemu, warto poznać jego podstawową definicję.</p>



<p class="wp-block-paragraph"><strong>Opór cieplny R (m²K/W)</strong>&nbsp;to wielkość charakteryzująca zdolność materiału lub konstrukcji wielowarstwowej do przeciwstawiania się przepływowi ciepła. Im&nbsp;<strong>wyższa</strong>&nbsp;wartość R, tym lepsze właściwości&nbsp;<strong>izolacyjne</strong>&nbsp;materiału – ciepło trudniej przez niego przenika. Im&nbsp;<strong>niższa</strong>&nbsp;wartość R, tym materiał jest lepszym&nbsp;<strong>przewodnikiem ciepła</strong>.</p>



<p class="wp-block-paragraph">Opór cieplny dla pojedynczej, homogenicznej warstwy obliczamy według prostego wzoru:</p>



<p class="wp-block-paragraph"><strong>R = d / λ</strong></p>



<p class="wp-block-paragraph">Gdzie:</p>



<ul class="wp-block-list">
<li><strong>R</strong>&nbsp;– opór cieplny [m²K/W]</li>



<li><strong>d</strong>&nbsp;– grubość warstwy materiału [m]</li>



<li><strong>λ (lambda)</strong>&nbsp;– współczynnik przewodzenia ciepła materiału [W/mK]</li>
</ul>



<p class="wp-block-paragraph">Współczynnik&nbsp;<strong>λ</strong>&nbsp;jest stałą materiałową. Przykładowo:</p>



<ul class="wp-block-list">
<li>Miedź ma bardzo niskie λ (ok. 400 W/mK) – jest doskonałym przewodnikiem.</li>



<li>Pianka PIR ma λ ok. 0.022-0.028 W/mK – jest doskonałym izolatorem.</li>



<li>Wylewka anhydrytowa ma λ ok. 1.0-1.4 W/mK.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład wyliczenia:</strong>&nbsp;Warstwa styropianu grafitowego o grubości 10 cm (0.1 m) i współczynniku λ=0.031 W/mK będzie miała opór cieplny:<br><strong>R = 0.1 / 0.031 ≈ 3.23 m²K/W.</strong>&nbsp;To wysoka wartość, świadcząca o bardzo dobrej izolacyjności.</p>



<p class="wp-block-paragraph">Dla konstrukcji wielowarstwowej (np. cała podłoga),&nbsp;<strong>całkowity opór cieplny Rₜ</strong>&nbsp;jest sumą oporów wszystkich warstw:<br><strong>Rₜ = R₁ + R₂ + &#8230; + Rₙ</strong></p>



<p class="wp-block-paragraph">To proste równanie jest fundamentem poprawnego projektowania podłóg grzewczych.</p>



<h2 class="wp-block-heading">Strategia &#8222;dwa fronty&#8221;: Różne zadania dla oporu cieplnego w &#8222;ciepłej podłodze&#8221;.</h2>



<p class="wp-block-paragraph">W&nbsp;<strong>wodnym ogrzewaniu podłogowym</strong>&nbsp;walka toczy się na dwóch frontach, a opór cieplny R jest naszym głównym narzędziem. Kluczem jest zrozumienie, że&nbsp;<strong>poniżej</strong>&nbsp;i&nbsp;<strong>powyżej</strong>&nbsp;rury grzewczej dążymy do osiągnięcia&nbsp;<strong>przeciwnych celów</strong>.</p>



<h3 class="wp-block-heading">Front dolny: Maksymalizacja oporu cieplnego (R → MAX).</h3>



<p class="wp-block-paragraph">Warstwy znajdujące się&nbsp;<strong>pod</strong>&nbsp;rurą grzewczą (izolacja termiczna na stropie/podłożu) mają za zadanie&nbsp;<strong>zatrzymać ciepło</strong>&nbsp;i skierować je w górę, do pomieszczenia. Każda watosekunda ciepła uciekająca w dół to czysta strata energetyczna i finansowa. Tutaj stosujemy materiały o&nbsp;<strong>jak najwyższym oporze cieplnym R</strong>:</p>



<ul class="wp-block-list">
<li><strong>Styropian EPS</strong>&nbsp;(zwykły, grafitowy)</li>



<li><strong>Płyty z pianki PIR/PUR</strong></li>



<li><strong>Wełna mineralna</strong>&nbsp;(tam, gdzie potrzebna jest odporność ogniowa)</li>
</ul>



<p class="wp-block-paragraph"><strong>Rekomendowane wartości:</strong>&nbsp;Dla podłóg na gruncie R ≥ 1,50 m²K/W. Dla stropów nad ogrzewanymi pomieszczeniami R ≥ 1,00 m²K/W.</p>



<h3 class="wp-block-heading">Front górny: Minimalizacja oporu cieplnego (R → MIN).</h3>



<p class="wp-block-paragraph">Warstwy znajdujące się&nbsp;<strong>nad</strong>&nbsp;rurą grzewczą (wylewka, warstwa wykończeniowa, ewentualne podkłady) mają za zadanie&nbsp;<strong>jak najłatwiej przepuszczać ciepło</strong>&nbsp;do pomieszczenia. Wysoki opór cieplny w tej strefie to jak założenie grubego swetra na kaloryfer – system musi pracować ciężej (wyższa temperatura zasilania), by osiągnąć ten sam efekt, co zwiększa koszty i bezwładność. Tutaj wybieramy materiały o&nbsp;<strong>jak najniższym oporze cieplnym R</strong>.</p>



<p class="wp-block-paragraph"><strong>Kluczowa zasada:</strong>&nbsp;Łączny opór cieplny&nbsp;<strong>wszystkich warstw nad rurą</strong>&nbsp;nie powinien przekraczać&nbsp;<strong>0,15 m²K/W</strong>. To wartość graniczna, poza którą spada efektywność systemu.</p>



<h2 class="wp-block-heading">Analiza warstw: Tabela oporów cieplnych materiałów podłogowych.</h2>



<p class="wp-block-paragraph">Poniższa tabela prezentuje przybliżone wartości oporu cieplnego R dla typowych materiałów używanych w konstrukcji i wykończeniu podłogi z ogrzewaniem.</p>



<div class="table-wrap">

  <h3>Analiza warstw: Tabela oporów cieplnych materiałów podłogowych</h3>
  <p>
    Poniższa tabela prezentuje przybliżone wartości oporu cieplnego R
    dla typowych materiałów używanych w konstrukcji i wykończeniu
    podłogi z ogrzewaniem.
  </p>

  <div class="table-scroll">
    <table class="rt-table">
      <thead>
        <tr>
          <th>Warstwa / Materiał</th>
          <th>Typowa grubość [mm]</th>
          <th>Współczynnik λ [W/mK]</th>
          <th>Opór cieplny R [m²K/W]</th>
          <th>Komentarz</th>
        </tr>
      </thead>

      <tbody>
        <tr class="section">
          <td colspan="5">IZOLACJA (FRONT DOLNY)</td>
        </tr>
        <tr>
          <td>Płyta PIR</td>
          <td>30</td>
          <td>0.024</td>
          <td><strong>1.25</strong></td>
          <td>Doskonały izolator, wysoki R przy małej grubości</td>
        </tr>
        <tr>
          <td>Styropian grafitowy EPS 100</td>
          <td>100</td>
          <td>0.031</td>
          <td><strong>3.23</strong></td>
          <td>Standardowa, efektywna izolacja</td>
        </tr>

        <tr class="section">
          <td colspan="5">WYLEWKA I WARSTWA PODRĘCZNA</td>
        </tr>
        <tr>
          <td>Wylewka anhydrytowa</td>
          <td>65 (nad rurą)</td>
          <td>1.4</td>
          <td><strong>0.046</strong></td>
          <td>Doskonały przewodnik ciepła, szybki odzysk</td>
        </tr>
        <tr>
          <td>Wylewka cementowa</td>
          <td>70 (nad rurą)</td>
          <td>1.2</td>
          <td><strong>0.058</strong></td>
          <td>Dobry przewodnik, powszechnie stosowana</td>
        </tr>
        <tr>
          <td>Płyta gipsowo-włóknowa</td>
          <td>20</td>
          <td>0.25</td>
          <td><strong>0.08</strong></td>
          <td>Stosowana w systemach suchych (bez mokrej wylewki)</td>
        </tr>

        <tr class="section">
          <td colspan="5">WYKOŃCZENIE (FRONT GÓRNY)</td>
        </tr>
        <tr>
          <td>Płytki ceramiczne / gres</td>
          <td>10</td>
          <td>1.5</td>
          <td><strong>0.007</strong></td>
          <td>Optymalny wybór. Minimalny opór R.</td>
        </tr>
        <tr>
          <td>Klepka parkietowa (dąb)</td>
          <td>16</td>
          <td>0.18</td>
          <td><strong>0.089</strong></td>
          <td>Uwaga na grubość i gatunek!</td>
        </tr>
        <tr>
          <td>Panele laminowane</td>
          <td>12</td>
          <td>0.10</td>
          <td><strong>0.12</strong></td>
          <td>Klasy do OGP mają niższy opór.</td>
        </tr>
        <tr>
          <td>Wykładzina PCV / LVT</td>
          <td>5</td>
          <td>0.10</td>
          <td><strong>0.05</strong></td>
          <td>Bardzo dobry wybór.</td>
        </tr>
        <tr>
          <td>Wykładzina dywanowa (cienka)</td>
          <td>8</td>
          <td>0.06</td>
          <td><strong>0.13</strong></td>
          <td>Wartość graniczna. Unikać grubych.</td>
        </tr>

        <tr class="section">
          <td colspan="5">PODKŁADY</td>
        </tr>
        <tr>
          <td>Podkład piankowy pod panele (3 mm)</td>
          <td>3</td>
          <td>0.05</td>
          <td><strong>0.06</strong></td>
          <td>Tylko dedykowane do OGP! Unikać „termo”.</td>
        </tr>
        <tr>
          <td>Folia separacyjna</td>
          <td>0.2</td>
          <td>0.04</td>
          <td><strong>~0.005</strong></td>
          <td>Pomijalny wpływ na R.</td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<style>
.table-wrap {
  max-width: 100%;
  margin: 30px auto;
  font-family: Arial, Helvetica, sans-serif;
}

.table-scroll {
  overflow-x: auto;
}

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

.rt-table th,
.rt-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
}

.rt-table th {
  background: #f3f3f3;
  text-align: left;
  font-weight: bold;
}

.rt-table .section td {
  background: #fafafa;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-top: 2px solid #ccc;
}
</style>



<h2 class="wp-block-heading">Praktyczne wyliczenia: Jak sprawdzić, czy Twoja podłoga jest &#8222;przepuszczalna&#8221; dla ciepła?</h2>



<p class="wp-block-paragraph">Przejdźmy od teorii do praktyki. Załóżmy, że projektujemy podłogę w salonie z następującymi warstwami nad rurami grzewczymi:</p>



<ol start="1" class="wp-block-list">
<li>Wylewka anhydrytowa: grubość 55 mm (0.055 m), λ = 1.4 W/mK.</li>



<li>Klej do płytek: grubość 5 mm (0.005 m), λ = 1.0 W/mK (przybliżona).</li>



<li>Płytki gresowe: grubość 9 mm (0.009 m), λ = 1.5 W/mK.</li>
</ol>



<p class="wp-block-paragraph"><strong>Obliczamy całkowity opór cieplny warstw nad rurami Rₜ:</strong></p>



<ul class="wp-block-list">
<li>R_wylewka = d / λ = 0.055 / 1.4 =&nbsp;<strong>0.039 m²K/W</strong></li>



<li>R_klej = 0.005 / 1.0 =&nbsp;<strong>0.005 m²K/W</strong></li>



<li>R_płytki = 0.009 / 1.5 =&nbsp;<strong>0.006 m²K/W</strong></li>



<li><strong>Rₜ = 0.039 + 0.005 + 0.006 = 0.050 m²K/W</strong></li>
</ul>



<p class="wp-block-paragraph"><strong>Wniosek:</strong>&nbsp;Uzyskana wartość&nbsp;<strong>0.050 m²K/W</strong>&nbsp;jest&nbsp;<strong>znacznie poniżej</strong>&nbsp;granicznej wartości&nbsp;<strong>0.15 m²K/W</strong>. Oznacza to, że podłoga będzie doskonale przewodziła ciepło. System będzie efektywny, może pracować w trybie niskotemperaturowym (np. zasilanie 35-40°C), a reakcja na zmiany temperatury będzie stosunkowo szybka.</p>



<p class="wp-block-paragraph"><strong>Przykład negatywny:</strong>&nbsp;Ten sam salon, ale z innym wykończeniem:</p>



<ol start="1" class="wp-block-list">
<li>Wylewka cementowa: 70 mm (0.07 m), λ = 1.2 W/mK.</li>



<li>Podkład &#8222;termoizolacyjny&#8221; pod panele: 5 mm (0.005 m), λ = 0.05 W/mK.</li>



<li>Gruby panel dębowy: 14 mm (0.014 m), λ = 0.18 W/mK.</li>
</ol>



<ul class="wp-block-list">
<li>R_wylewka = 0.07 / 1.2 =&nbsp;<strong>0.058 m²K/W</strong></li>



<li>R_podkład = 0.005 / 0.05 =&nbsp;<strong>0.100 m²K/W</strong>&nbsp;(już sam ten podkład stwarza duży opór!)</li>



<li>R_panel = 0.014 / 0.18 =&nbsp;<strong>0.078 m²K/W</strong></li>



<li><strong>Rₜ = 0.058 + 0.100 + 0.078 = 0.236 m²K/W</strong></li>
</ul>



<p class="wp-block-paragraph"><strong>Wniosek:</strong>&nbsp;Opór całkowity&nbsp;<strong>0.236 m²K/W</strong>&nbsp;przekracza bezpieczną granicę. Taka podłoga będzie działać jak &#8222;kołdra&#8221;. Aby osiągnąć pożądany komfort, temperatura wody w rurach musi być znacząco podniesiona (nawet do 50-55°C), co zwiększa koszty ogrzewania, może powodować przegrzewanie podłogi w bezpośrednim sąsiedztwie rur (dyskomfort) i wydłuża czas nagrzewania pomieszczenia.</p>



<h2 class="wp-block-heading">Wizualizacja wpływu: Wykres zależności.</h2>



<p class="wp-block-paragraph">Poniższy wykres ilustruje jakościowy wpływ łącznego oporu cieplnego warstw nad rurami (Rₜ) na kluczowe parametry pracy systemu ogrzewania podłogowego.</p>



<div style="max-width:900px;margin:20px auto;">
<svg viewBox="0 0 900 520" xmlns="http://www.w3.org/2000/svg"
     style="width:100%;height:auto;font-family:Courier New,monospace;">

  <!-- OŚ Y -->
  <line x1="120" y1="60" x2="120" y2="460" stroke="#000" stroke-width="2"/>
  <polygon points="120,40 110,60 130,60" fill="#000"/>

  <!-- Opisy osi Y -->
  <text x="60" y="120" font-size="16">Wysoki ↑</text>
  <text x="60" y="260" font-size="16">Efekt</text>
  <text x="60" y="450" font-size="16">Niski ↓</text>

  <!-- OŚ X -->
  <line x1="120" y1="460" x2="820" y2="460" stroke="#000" stroke-width="2"/>
  <polygon points="840,460 820,450 820,470" fill="#000"/>

  <!-- Skala X -->
  <text x="150" y="490">0.05</text>
  <text x="300" y="490">0.10</text>
  <text x="450" y="490">0.15</text>
  <text x="600" y="490">0.20</text>

  <!-- Opis osi X -->
  <text x="260" y="520">
    Opór cieplny R<tspan baseline-shift="sub">t</tspan> warstw nad rurami [m²K/W]
  </text>

  <!-- Opis stref -->
  <text x="290" y="545">(STREFA ZALECANA)</text>
  <text x="560" y="545">(STREFA KRYTYCZNA)</text>

  <!-- SCHODKI – bez zmian wizualnych -->
  <path d="
    M260 420
    L260 380
    L340 380
    L340 330
    L420 330
    L420 280
    L500 280
    L500 230
    L580 230
    " fill="none" stroke="#000" stroke-width="2"/>

  <!-- OPISY – POPRAWIONE DANE -->
  <text x="360" y="355">
    Czas reakcji systemu
    <tspan x="360" y="375">(wydłużenie)</tspan>
  </text>

  <text x="440" y="305">
    Koszty eksploatacji
    <tspan x="440" y="325">(wzrost)</tspan>
  </text>

  <text x="520" y="255">
    Bezwładność systemu
    <tspan x="520" y="275">(wzrost)</tspan>
  </text>

  <text x="600" y="205">
    Temperatura zasilania
    <tspan x="600" y="225">(wzrost)</tspan>
  </text>

</svg>
</div>



<p class="wp-block-paragraph">Jak widać, przekroczenie magicznej granicy&nbsp;<strong>~0.15 m²K/W</strong>&nbsp;powoduje gwałtowne pogorszenie się wszystkich parametrów eksploatacyjnych systemu.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego: Gdzie opór cieplny R jest decydujący.</h2>



<p class="wp-block-paragraph"><strong>Profesjonalny projekt ogrzewania podłogowego</strong>&nbsp;to nie tylko rozstaw i długość rur. To kompleksowe ujęcie fizyki przenoszenia ciepła, w którym&nbsp;<strong>opór cieplny R każdej warstwy</strong>&nbsp;jest jednym z fundamentalnych danych wejściowych. Doświadczony projektant, tworząc&nbsp;<strong>projekt ogrzewania podłogowego</strong>, zawsze rozpoczyna od analizy konstrukcji podłogi.</p>



<ol start="1" class="wp-block-list">
<li><strong>Zbieranie danych:</strong>&nbsp;Pierwszym krokiem jest ustalenie grubości i współczynnika λ dla wszystkich warstw – zarówno izolacji, jak i warstw wykończeniowych. Na tej podstawie oblicza opory częściowe i całkowity opór dla strefy nad i pod rurami.</li>



<li><strong>Dobór parametrów pracy:</strong>&nbsp;Znając opór warstw nad rurami (Rₜ), projektant dobiera wymaganą&nbsp;<strong>gęstość strumienia ciepła</strong>&nbsp;(moc na m²) oraz&nbsp;<strong>temperaturę zasilania</strong>&nbsp;układu. Wyższy Rₜ wymusza wyższą temperaturę, co z kolei wpływa na dobór źródła ciepła (np. pompa ciepła wymaga niskich temperatur).</li>



<li><strong>Rozmieszczenie rur:</strong>&nbsp;W obszarach, gdzie przewidziano materiały wykończeniowe o wyższym oporze (np. parkiet w sypialni), projektant może zastosować&nbsp;<strong>gęstszy rozstaw rur</strong>&nbsp;(np. co 10 cm zamiast 15 cm), aby skompensować gorsze przewodzenie i zapewnić równomierny rozkład temperatury na powierzchni podłogi.</li>



<li><strong>Symulacje termiczne:</strong>&nbsp;Zaawansowane projekty wykorzystują oprogramowanie do symulacji, które na podstawie dokładnych danych o oporach warstw modeluje rozkład temperatur w podłodze i pomieszczeniu. Pozwala to uniknąć &#8222;zaskoczeń&#8221; po wykonaniu instalacji.</li>
</ol>



<p class="wp-block-paragraph"><strong>Bez uwzględnienia oporów cieplnych, projekt jest jedynie szkicem.</strong>&nbsp;Może prowadzić do niedogrzania pomieszczeń, nadmiernych kosztów energii lub przegrzewania podłogi w lokalnych obszarach. Inwestycja w&nbsp;<strong>profesjonalny projekt</strong>, który zawiera te obliczenia, zwraca się w trakcie użytkowania systemu.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><cite>Profesjonalny <strong>projekt ogrzewania podłogowego</strong> uwzględnia nie tylko rozstaw rur, ale także <em>rzeczywisty opór cieplny wszystkich warstw nad i pod rurami</em>, temperaturę zasilania oraz charakterystykę źródła ciepła.<br>Sprawdź szczegóły i zamów projekt dopasowany do Twojej podłogi:<br><strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/</a></strong></cite></blockquote>



<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-1769929568291"><strong class="schema-faq-question"><strong>Jaki opór cieplny R jest dopuszczalny nad rurami ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Łączny opór cieplny wszystkich warstw nad rurami nie powinien przekraczać <strong>0,15 m²K/W</strong>. Powyżej tej wartości system traci efektywność i wymaga wyższej temperatury zasilania.</p> </div> <div class="schema-faq-section" id="faq-question-1769934099160"><strong class="schema-faq-question"><strong>Czy wysoki opór cieplny zawsze jest zły?</strong></strong> <p class="schema-faq-answer">Nie. <strong>Wysoki opór cieplny jest pożądany pod rurami</strong>, gdzie pełni funkcję izolacji. Problemem jest wysoki R w warstwach wykończeniowych nad rurami.</p> </div> <div class="schema-faq-section" id="faq-question-1769934114904"><strong class="schema-faq-question"><strong>Dlaczego panele i podkłady są krytyczne dla ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Ponieważ nawet cienki podkład o niskim λ może znacząco podnieść całkowity opór cieplny Rₜ, działając jak izolator i blokując oddawanie ciepła do pomieszczenia.</p> </div> <div class="schema-faq-section" id="faq-question-1769934130172"><strong class="schema-faq-question"><strong>Czy można stosować parkiet na ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Tak, ale pod warunkiem kontroli <strong>grubości, gatunku drewna i sumarycznego oporu cieplnego</strong>. Grube parkiety mogą przekroczyć bezpieczną granicę Rₜ.</p> </div> <div class="schema-faq-section" id="faq-question-1769934137887"><strong class="schema-faq-question"><strong>Czy projekt ogrzewania podłogowego uwzględnia opór cieplny warstw?</strong></strong> <p class="schema-faq-answer">Profesjonalny projekt zawsze uwzględnia opór cieplny wszystkich warstw, ponieważ od niego zależy dobór temperatury zasilania, rozstaw rur i współpraca z pompą ciepła.</p> </div> </div>



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



<p class="wp-block-paragraph">Podejście do&nbsp;<strong>oporu cieplnego R</strong>&nbsp;w kontekście&nbsp;<strong>wodnego ogrzewania podłogowego</strong>&nbsp;musi być strategiczne i dwutorowe. Pamiętaj o prostej maksymie:&nbsp;<strong>Izoluj od dołu, przewodź od góry</strong>. Inwestycja w wysokiej jakości izolację termiczną pod rurami (wysoki R) oraz przemyślany dobór cienkich, dobrze przewodzących materiałów wykończeniowych (niski Rₜ) to gwarancja, że system będzie działał:</p>



<ul class="wp-block-list">
<li><strong>Efektywnie</strong>&nbsp;– z niską temperaturą zasilania, idealnie współpracując z nowoczesnymi źródłami ciepła.</li>



<li><strong>Ekonomicznie</strong>&nbsp;– minimalizując straty i koszty ogrzewania.</li>



<li><strong>Komfortowo</strong>&nbsp;– zapewniając równomierne, przyjemne ciepło pod stopami i szybko reagując na zmiany warunków.</li>
</ul>



<p class="wp-block-paragraph">Przed podjęciem ostatecznych decyzji dotyczących wykończenia podłogi, zawsze sprawdź karty techniczne materiałów, a w razie wątpliwości skonsultuj się z projektantem lub wykonawcą. Kilka dodatkowych minut spędzonych na analizie&nbsp;<strong>oporu cieplnego R</strong>&nbsp;może uchronić Cię przed latami rozczarowania niesprawnie działającą, drogą w eksploatacji &#8222;ciepłą podłogą&#8221;.</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="4slum2K8sx"><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=4VIlpWQ1wy#?secret=4slum2K8sx" data-secret="4slum2K8sx" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">Opór cieplny R [m²K/W]: Klucz do efektywnego ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Strefa brzegowa (obwodowa) w ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 27 Jan 2026 10:30:35 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Normy budowlane]]></category>
		<category><![CDATA[Normy techniczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pn-en 1264]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[straty ciepła]]></category>
		<category><![CDATA[strefa brzegowa]]></category>
		<category><![CDATA[strefa obwodowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3328</guid>

					<description><![CDATA[<p>Strefa brzegowa (obwodowa) w ogrzewaniu podłogowym to jeden z tych elementów instalacji, które decydują o realnym komforcie cieplnym w domu, a jednocześnie są często bagatelizowane. Właściwie zaprojektowana strefa przy ścianach zewnętrznych i przeszkleniach pozwala wyrównać temperaturę w pomieszczeniu, ograniczyć straty ciepła i obniżyć zużycie energii. W artykule wyjaśniamy, czym jest strefa brzegowa, dlaczego ma kluczowe znaczenie w nowoczesnym budownictwie oraz jak ją poprawnie zaprojektować zgodnie z normami i praktyką instalacyjną.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">Strefa brzegowa (obwodowa) w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Strefa brzegowa (obwodowa) w ogrzewaniu podłogowym</strong> to kluczowy element systemów grzewczych, który zapewnia równomierny rozkład ciepła w pomieszczeniach narażonych na większe straty termiczne. W dzisiejszych domach i budynkach, gdzie efektywność energetyczna odgrywa pierwszoplanową rolę, zrozumienie roli tej strefy pozwala na optymalne projektowanie instalacji, redukując zużycie energii i zwiększając komfort mieszkańców. W tym artykule przyjrzymy się bliżej, czym jest strefa brzegowa, dlaczego jest niezbędna i jak ją prawidłowo zaprojektować, opierając się na normach i praktycznych przykładach.</p>



<h2 class="wp-block-heading">Co to jest strefa brzegowa w ogrzewaniu podłogowym?</h2>



<p class="wp-block-paragraph">Strefa brzegowa, zwana również obwodową lub krawędziową, to specjalny pas podłogi przylegający do ścian zewnętrznych, dużych okien, drzwi balkonowych lub innych elementów budynku, gdzie występują zwiększone straty ciepła. W tym obszarze <a href="https://projekt-ogrzewania.pl/category/rury-do-ogrzewania/">rury</a> grzewcze układane są gęściej niż w centralnej części pomieszczenia, co pozwala na wyrównanie temperatury i uniknięcie uczucia chłodu przy przegrodach zewnętrznych.</p>



<p class="wp-block-paragraph">W praktyce, <strong>strefa obwodowa</strong> działa jak bufor termiczny. Podczas gdy w środku pokoju podłoga może być ogrzewana równomiernie, przy ścianach zewnętrznych infiltracja zimnego powietrza lub mostki termiczne powodują szybsze wychładzanie. Gęstsze ułożenie rur – zazwyczaj co 5-10 cm – zwiększa moc grzewczą na metr kwadratowy, osiągając nawet 100 W/m², w porównaniu do 50-80 W/m² w strefie podstawowej.</p>



<p class="wp-block-paragraph">Przykładowo, w typowym salonie o powierzchni 20 m² z oknami na jednej ścianie, strefa brzegowa może obejmować pas o szerokości 1 metra wzdłuż tej ściany, co daje około 4-6 m² powierzchni wymagającej intensywnego ogrzewania. Bez niej, temperatura podłogi przy oknie mogłaby spaść o 3-5°C, co odczuwalnie obniżyłoby komfort.</p>



<h3 class="wp-block-heading">Fizyczne podstawy działania strefy obwodowej.</h3>



<p class="wp-block-paragraph">Z punktu widzenia fizyki, ogrzewanie podłogowe opiera się na promieniowaniu i konwekcji ciepła. W strefie brzegowej kluczowe jest kompensowanie strat ciepła przez przegrody zewnętrzne, obliczone według normy PN-EN 12831. Straty te zależą od izolacji ścian (współczynnik U), powierzchni okien i warunków zewnętrznych.</p>



<p class="wp-block-paragraph">Na przykład, w budynku z dobrze izolowanymi ścianami (U=0,2 W/m²K), straty przy temperaturze zewnętrznej -15°C mogą wynosić 80-100 W/m² w obszarze brzegowym. Gęstsze rury pozwalają na podniesienie temperatury podłogi do 35°C (maksymalna dopuszczalna w tej strefie według <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264</a>), co wyrównuje gradient temperaturowy.</p>



<h2 class="wp-block-heading">Dlaczego strefa brzegowa jest ważna w ogrzewaniu podłogowym?</h2>



<p class="wp-block-paragraph">Bez odpowiednio zaprojektowanej <strong>strefy obwodowej w ogrzewaniu podłogowym</strong>, system może być nieefektywny, prowadząc do nierównomiernego ogrzewania i wyższego zużycia energii. Norma PN-EN 1264 podkreśla, że strefa ta jest obowiązkowa w pomieszczeniach z przegrodami zewnętrznymi, aby zapewnić komfort termiczny.</p>



<p class="wp-block-paragraph">Oto kluczowe powody:</p>



<ul class="wp-block-list">
<li><strong>Kompensacja strat ciepła</strong>: W obszarach brzegowych straty mogą być dwukrotnie wyższe niż w centrum. Przykładowo, przy oknie o powierzchni 4 m² bez strefy, temperatura powietrza przy podłodze mogłaby spaść do 18°C, mimo 22°C w pokoju.</li>



<li><strong>Poprawa komfortu</strong>: Ludzie odczuwają chłód przy ścianach – strefa brzegowa eliminuje to, utrzymując temperaturę podłogi na poziomie 29-35°C.</li>



<li><strong>Efektywność energetyczna</strong>: Optymalne ułożenie rur redukuje pracę kotła lub <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> o 10-15%. W budynku o powierzchni 100 m² z pompą ciepła, brak strefy mógłby zwiększyć rachunki o 200-300 zł rocznie.</li>



<li><strong>Zgodność z normami</strong>: Brak strefy może unieważnić gwarancję systemu i nie spełnić wymagań budowlanych.</li>
</ul>



<p class="wp-block-paragraph">W kontekście nowoczesnych budynków pasywnych, strefa brzegowa pozwala na integrację z niskotemperaturowymi źródłami ciepła, jak pompy ciepła, gdzie temperatura zasilania to zaledwie 35-40°C.</p>



<h2 class="wp-block-heading">Projektowanie strefy brzegowej w ogrzewaniu podłogowym.</h2>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt ogrzewania podłogowego</a> w kontekście tego artykułu to proces, który zaczyna się od obliczenia strat ciepła (OZC) dla każdego pomieszczenia, zgodnie z PN-EN 12831. Następnie definiuje się strefę brzegową, biorąc pod uwagę geometrię budynku, izolację i zapotrzebowanie na ciepło. To nie tylko techniczne wyliczenia, ale także dostosowanie do potrzeb użytkownika – na przykład w domu z dużymi przeszkleniami, strefa musi być szersza, aby zapobiec kondensacji pary wodnej na oknach.</p>



<p class="wp-block-paragraph">W praktyce, <a href="https://projekt-ogrzewania.pl/kontakt/">projektant</a> używa oprogramowania do symulacji termicznej, aby określić optymalny rozstaw rur i długość obwodów. Na przykład, dla pomieszczenia 15 m² z oknem, projekt może obejmować strefę brzegową o powierzchni 3 m² z rozstawem 10 cm, podłączoną do rozdzielacza z regulacją przepływu.</p>



<h3 class="wp-block-heading">Parametry projektowe strefy obwodowej.</h3>



<p class="wp-block-paragraph">Kluczowe parametry to:</p>



<ul class="wp-block-list">
<li><strong>Szerokość strefy</strong>: Zazwyczaj 0,5-1,5 m, najczęściej 1 m. Zależy od strat ciepła – w słabo izolowanym budynku może być szersza.</li>



<li><strong>Rozstaw rur</strong>: 5-10 cm w brzegowej, 10-20 cm w podstawowej. Dla pomp ciepła zalecany gęstszy rozstaw (10-15 cm) dla lepszej efektywności.</li>



<li><strong>Długość obwodu</strong>: Nie więcej niż 100-120 m, aby uniknąć spadków ciśnienia. Często strefa brzegowa to osobny obwód.</li>
</ul>



<p class="wp-block-paragraph">Przykładowe obliczenia według PN-EN 1264: Dla strefy brzegowej o stratach 100 W/m², przy rozstawie 10 cm i temperaturze zasilania 45°C, moc grzewcza q = 99,38 W/m², Δθ_H = 29,72°C.</p>



<h3 class="wp-block-heading">Układy rur w strefie brzegowej.</h3>



<p class="wp-block-paragraph">Wybór układu wpływa na równomierność ogrzewania:</p>



<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/">Układ meandrowy (wężowy)</a></strong>: Rury biegną zygzakiem. Prosty w montażu, ale może powodować różnice temperatur do 5°C. Zalecany w małych pomieszczeniach, np. łazience.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/">Układ spiralny (ślimakowy)</a></strong>: Rury przeplatają się, minimalizując gradienty do 2°C. Idealny do dużych salonów z strefą brzegową.</li>
</ul>



<p class="wp-block-paragraph">Przykładowo, w układzie spiralnym strefa brzegowa integruje się z główną pętlą, zaczynając od zewnętrznej ściany.</p>



<h2 class="wp-block-heading">Przykłady obliczeń i wyliczenia w strefie obwodowej.</h2>



<p class="wp-block-paragraph">Rozważmy pomieszczenie 23,5 m² z oknami: Straty ciepła 100 W/m² w brzegowej (8,76 m²), 60 W/m² w bytowej (14,74 m²).</p>



<p class="wp-block-paragraph">Obliczenia według PN-EN 1264:</p>



<ul class="wp-block-list">
<li>Współczynniki: B0 = 6,7 W/m²K, aB = 0,578, at = 1,156 itd.</li>



<li>Moc: q = 99,38 W/m², qG = 100,49 W/m².</li>



<li>Długość rur: Dla rozstawu 10 cm w brzegowej – około 90 m na obwód.</li>
</ul>



<p class="wp-block-paragraph">Inny przykład: Łazienka 6 m², strefa brzegowa 2 m². Rozstaw 5 cm daje moc 120 W/m², temperatura podłogi 33°C.</p>



<style>
.floor-table-wrap {
  max-width: 960px;
  margin: 40px auto;
  padding: 20px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  font-family: Arial, sans-serif;
}

.floor-table-wrap h3 {
  text-align: center;
  font-size: 26px;
  margin-bottom: 20px;
}

.floor-table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
}

.floor-table thead {
  background: #f4f6f8;
}

.floor-table th,
.floor-table td {
  padding: 14px 16px;
  text-align: left;
  font-size: 15px;
}

.floor-table th {
  font-weight: 600;
  color: #333;
  border-bottom: 2px solid #e0e0e0;
}

.floor-table td {
  border-bottom: 1px solid #eaeaea;
  color: #444;
}

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

/* Wyróżnienie pierwszej kolumny */
.floor-table td:first-child {
  font-weight: bold;
  color: #000;
}

/* Kolumny liczbowe – wyrównanie */
.floor-table td:nth-child(1),
.floor-table td:nth-child(2),
.floor-table td:nth-child(4) {
  text-align: center;
}

/* Responsywność */
@media (max-width: 768px) {
  .floor-table thead {
    display: none;
  }

  .floor-table,
  .floor-table tbody,
  .floor-table tr,
  .floor-table td {
    display: block;
    width: 100%;
  }

  .floor-table tr {
    margin-bottom: 18px;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 10px;
  }

  .floor-table td {
    text-align: right;
    padding: 10px;
    position: relative;
  }

  .floor-table td::before {
    content: attr(data-label);
    position: absolute;
    left: 10px;
    top: 10px;
    font-weight: bold;
    color: #666;
    text-align: left;
  }
}

.floor-table-note {
  margin-top: 16px;
  font-size: 14px;
  color: #666;
  text-align: center;
}
</style>

<div class="floor-table-wrap">
  <h3>Rozstaw rur a moc ogrzewania podłogowego</h3>

  <table class="floor-table">
    <thead>
      <tr>
        <th>Rozstaw rur (cm)</th>
        <th>Moc grzewcza (W/m²)</th>
        <th>Zastosowanie</th>
        <th>Maks. temperatura podłogi (°C)</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td data-label="Rozstaw rur (cm)">5</td>
        <td data-label="Moc grzewcza (W/m²)">100–120</td>
        <td data-label="Zastosowanie">Strefa brzegowa w łazienkach</td>
        <td data-label="Maks. temperatura podłogi (°C)">35</td>
      </tr>
      <tr>
        <td data-label="Rozstaw rur (cm)">10</td>
        <td data-label="Moc grzewcza (W/m²)">80–100</td>
        <td data-label="Zastosowanie">Standardowa strefa obwodowa</td>
        <td data-label="Maks. temperatura podłogi (°C)">35</td>
      </tr>
      <tr>
        <td data-label="Rozstaw rur (cm)">15</td>
        <td data-label="Moc grzewcza (W/m²)">60–80</td>
        <td data-label="Zastosowanie">Strefa podstawowa</td>
        <td data-label="Maks. temperatura podłogi (°C)">29</td>
      </tr>
      <tr>
        <td data-label="Rozstaw rur (cm)">20</td>
        <td data-label="Moc grzewcza (W/m²)">50–70</td>
        <td data-label="Zastosowanie">Duże pomieszczenia</td>
        <td data-label="Maks. temperatura podłogi (°C)">29</td>
      </tr>
    </tbody>
  </table>

  <div class="floor-table-note">
    Tabela pokazuje zależność mocy grzewczej od rozstawu rur przy temperaturze zasilania 40°C.
  </div>
</div>




<p class="wp-block-paragraph">Aby zilustrować rozkład temperatury, poniżej przykładowy wykres liniowy pokazujący gradient w pomieszczeniu ze strefą brzegową. Na wykresie widać, jak gęstsze rury w strefie obwodowej wyrównują temperaturę do poziomu 22-24°C w całym pokoju, w porównaniu do spadku bez strefy.</p>



<p class="wp-block-paragraph">Dane symulowane dla pomieszczenia o szerokości 5 m.</p>



<style>
.floor-chart {
  max-width: 960px;
  margin: 50px auto;
  padding: 30px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 12px 35px rgba(0,0,0,0.08);
  font-family: Arial, sans-serif;
}

.floor-chart h2 {
  text-align: center;
  font-size: 28px;
  margin-bottom: 6px;
}

.floor-chart p {
  text-align: center;
  font-size: 16px;
  color: #666;
  margin-bottom: 30px;
}

.legend {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-top: 22px;
  font-size: 15px;
}

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

.legend i {
  width: 30px;
  height: 4px;
  display: inline-block;
}

.no-zone {
  background: #c0392b;
}

.with-zone {
  background: #27ae60;
}
</style>

<div class="floor-chart">
  <h2>Rozkład temperatury przy podłodze</h2>
  <p>Porównanie pomieszczenia bez strefy brzegowej i ze strefą obwodową</p>

  <svg viewBox="0 0 900 420" preserveAspectRatio="xMidYMid meet" style="width:100%; height:auto;">

    <!-- Oś Y -->
    <line x1="90" y1="60" x2="90" y2="360" stroke="#333" stroke-width="2"/>

    <!-- Linie pomocnicze -->
    <line x1="90" y1="100" x2="840" y2="100" stroke="#eee"/>
    <line x1="90" y1="170" x2="840" y2="170" stroke="#eee"/>
    <line x1="90" y1="240" x2="840" y2="240" stroke="#eee"/>
    <line x1="90" y1="310" x2="840" y2="310" stroke="#eee"/>

    <!-- Opisy osi Y -->
    <text x="30" y="105" font-size="14">24°C</text>
    <text x="30" y="175" font-size="14">23°C</text>
    <text x="30" y="245" font-size="14">22°C</text>
    <text x="30" y="315" font-size="14">21°C</text>

    <!-- Linia: bez strefy brzegowej -->
    <polyline
      fill="none"
      stroke="#c0392b"
      stroke-width="4"
      points="
        90,115
        260,150
        430,205
        600,260
        770,315
      "
    />

    <!-- Linia: ze strefą brzegową -->
    <polyline
      fill="none"
      stroke="#27ae60"
      stroke-width="4"
      stroke-dasharray="8,6"
      points="
        90,125
        260,145
        430,165
        600,185
        770,195
      "
    />

  </svg>

  <div class="legend">
    <span><i class="with-zone"></i> Ze strefą obwodową</span>
    <span><i class="no-zone"></i> Bez strefy brzegowej</span>
  </div>
</div>




<h2 class="wp-block-heading">Materiały i wskazówki praktyczne w ogrzewaniu podłogowym ze strefą brzegową.</h2>



<p class="wp-block-paragraph">Do budowy używa się rur <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PE-X</a> lub wielowarstwowych (PE-AL-PE), o średnicy 14-20 mm. Izolacja termiczna pod rurami to minimum 0,75 m²K/W nad ogrzewanymi pomieszczeniami.</p>



<p class="wp-block-paragraph">Wskazówki:</p>



<ul class="wp-block-list">
<li>Unikaj rur pod stałą zabudową (szafki, wanna) – marnuje energię.</li>



<li>Integruj z automatyką: Termostaty pokojowe regulują przepływ w strefie brzegowej.</li>



<li>Montaż: Zaczynaj od strefy brzegowej, używając klipsów lub mat systemowych.</li>



<li>Testy: Po ułożeniu, próba ciśnieniowa 6 bar przez 24h.</li>
</ul>



<p class="wp-block-paragraph">W domu jednorodzinnym z pompą ciepła, strefa brzegowa w salonie o szerokości 1 m z rozstawem 10 cm może obniżyć temperaturę zasilania o 5°C, oszczędzając 15% energii.</p>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1769506870160"><strong class="schema-faq-question"><strong>Czym jest strefa brzegowa w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer"> Strefa brzegowa to pas podłogi przy ścianach zewnętrznych lub oknach, gdzie rury grzewcze układane są gęściej (5-10 cm rozstawu), by kompensować większe straty ciepła i zapewnić równomierny rozkład temperatury w pomieszczeniu.</p> </div> <div class="schema-faq-section" id="faq-question-1769506881130"><strong class="schema-faq-question"><strong>Dlaczego strefa obwodowa jest obowiązkowa według norm?</strong></strong> <p class="schema-faq-answer">Norma PN-EN 1264 wymaga strefy brzegowej w pomieszczeniach z przegrodami zewnętrznymi, aby uniknąć nierównomiernego ogrzewania, poprawić komfort i zgodność z wymaganiami budowlanymi – brak jej może unieważnić gwarancję systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1769506936757"><strong class="schema-faq-question"><strong>Jak obliczyć szerokość strefy brzegowej?</strong></strong> <p class="schema-faq-answer">Szerokość zazwyczaj wynosi 0,5-1,5 m (najczęściej 1 m) i zależy od strat ciepła obliczonych według <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831</a>. Na przykład w budynku z oknami i stratami 100 W/m², strefa obejmuje pas 1 m wzdłuż ściany zewnętrznej.</p> </div> <div class="schema-faq-section" id="faq-question-1769507005593"><strong class="schema-faq-question"><strong>Jaki układ rur jest najlepszy w strefie obwodowej?</strong></strong> <p class="schema-faq-answer">Układ spiralny (ślimakowy) jest idealny, bo minimalizuje różnice temperatur do 2°C i integruje się z główną pętlą. Meandrowy (wężowy) sprawdza się w małych pomieszczeniach, jak łazienka, ale może powodować gradienty do 5°C.</p> </div> <div class="schema-faq-section" id="faq-question-1769507012065"><strong class="schema-faq-question"><strong>Czy strefa brzegowa oszczędza energię?</strong></strong> <p class="schema-faq-answer">Tak, optymalne ułożenie rur redukuje pracę kotła lub pompy ciepła o 10-15%, co w budynku 100 m² może obniżyć rachunki o 200-300 zł rocznie, dzięki wyrównaniu strat ciepła i niższej temperaturze zasilania.</p> </div> </div>



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



<p class="wp-block-paragraph">Podsumowując, strefa brzegowa w ogrzewaniu podłogowym to nie tylko techniczny detal, ale podstawa komfortu termicznego i oszczędności energii, pozwalająca na efektywne wykorzystanie ciepła w newralgicznych miejscach budynku. Prawidłowy projekt, uwzględniający normy i indywidualne potrzeby, zapewnia lata bezproblemowej eksploatacji bez awarii czy nadmiernego zużycia. Jeśli planujesz instalację, skonsultuj się z certyfikowanym specjalistą – to inwestycja, która szybko się zwraca dzięki niższym rachunkom i wyższemu komfortowi codziennego życia.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="8xSUSiRO38"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=rP6MGZ0Zdh#?secret=8xSUSiRO38" data-secret="8xSUSiRO38" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">Strefa brzegowa (obwodowa) w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rozstaw rur w wodnym ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 25 Jan 2026 08:32:32 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Projekty techniczne]]></category>
		<category><![CDATA[Rodzaje rur grzewczych]]></category>
		<category><![CDATA[Rozstaw rur ogrzewania]]></category>
		<category><![CDATA[Rozstaw rur podłogówki]]></category>
		<category><![CDATA[Rozstaw rur w podłogówce]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[delta t]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[moc ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3301</guid>

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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

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

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

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

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

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

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

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

<tbody>

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

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

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

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

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

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



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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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



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



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



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



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

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

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

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

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

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

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

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

<div class="chart-container">

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

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

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

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

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

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

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

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

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

</svg>

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

</div>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="InOHZNCO2a"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=B0gffQFdTM#?secret=InOHZNCO2a" data-secret="InOHZNCO2a" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Rozstaw rur w wodnym ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PN-EN 1264: Norma, która definiuje ogrzewanie podłogowe.</title>
		<link>https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 24 Jan 2026 10:01:13 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Normy budowlane]]></category>
		<category><![CDATA[Normy grzewcze]]></category>
		<category><![CDATA[Normy techniczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[moc grzewcza]]></category>
		<category><![CDATA[normy budowlane]]></category>
		<category><![CDATA[ogrzewanie niskotemperaturowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pn-en 1264]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[temperatura podłogi]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3288</guid>

					<description><![CDATA[<p>Wodne ogrzewanie podłogowe to dziś standard komfortu, ale jego skuteczność nie bierze się z przypadku. Kluczową rolę odgrywa norma PN-EN 1264, która precyzyjnie określa zasady projektowania, obliczania mocy oraz wykonania instalacji powierzchniowych. W artykule wyjaśniamy, czym dokładnie jest PN-EN 1264, jak wpływa na dobór rozstawu rur, temperatury zasilania i pokrycia podłogi oraz dlaczego jej znajomość jest niezbędna zarówno dla projektantów, jak i świadomych inwestorów. To praktyczny przewodnik po normie, który pokazuje teorię w realnych przykładach.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264: Norma, która definiuje ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-hero-dark: #0f172a;
    --rk-hero-blue: #2563eb;
    --rk-hero-blue-bg: #eff6ff;
    --rk-hero-emerald: #059669;
    --rk-hero-emerald-bg: #ecfdf5;
    --rk-hero-amber: #d97706;
    --rk-hero-amber-bg: #fffbeb;
    --rk-hero-bg: #ffffff;
    --rk-hero-gray: #f8fafc;
    --rk-hero-border: #e2e8f0;
    --rk-hero-text: #334155;
}

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

/* Sekcja Główna - Split Layout */
.rk-hero-split {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    background: var(--rk-hero-dark);
}

.rk-hero-left {
    padding: 50px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-hero-badge {
    align-self: flex-start;
    background: rgba(255, 255, 255, 0.1);
    color: #cbd5e1;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.rk-hero-left h2 {
    font-size: 34px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 20px 0;
    line-height: 1.2;
    letter-spacing: -1px;
}

.rk-hero-hook {
    font-size: 18px;
    line-height: 1.6;
    color: #94a3b8;
    margin: 0;
    font-weight: 500;
}

.rk-hero-hook strong {
    color: var(--rk-hero-amber);
    font-weight: 800;
}

.rk-hero-right {
    padding: 50px 40px;
    background: #1e293b;
    display: flex;
    align-items: center;
}

/* Karta Szybkiej Odpowiedzi (SGE / AI) */
.rk-hero-qa-card {
    background: var(--rk-hero-emerald-bg);
    border-left: 5px solid var(--rk-hero-emerald);
    padding: 30px;
    border-radius: 0 16px 16px 0;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.3);
}

.rk-hero-qa-title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--rk-hero-emerald);
    font-weight: 900;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

.rk-hero-qa-text {
    font-size: 16px;
    line-height: 1.7;
    color: #064e3b;
    margin: 0;
    font-weight: 600;
}

.rk-hero-qa-text strong {
    color: #022c22;
    background: rgba(16, 185, 129, 0.2);
    padding: 2px 4px;
    border-radius: 4px;
}

/* Blok Tekstu Bazowego */
.rk-hero-content {
    padding: 40px 50px;
    background: var(--rk-hero-bg);
}

.rk-hero-content p {
    font-size: 17px;
    line-height: 1.8;
    color: var(--rk-hero-text);
    margin: 0 0 20px 0;
}

.rk-hero-content p:last-child {
    margin: 0;
}

.rk-hero-content a {
    color: var(--rk-hero-blue);
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px solid var(--rk-hero-blue-bg);
}

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

/* Interaktywny Wybór Profilu */
.rk-hero-interactive {
    padding: 0 50px 40px;
    background: var(--rk-hero-bg);
}

.rk-hero-int-header {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-hero-dark);
    margin: 0 0 20px 0;
    text-align: center;
}

.rk-hero-roles {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}

.rk-hero-role-btn {
    background: var(--rk-hero-gray);
    border: 2px solid var(--rk-hero-border);
    border-radius: 16px;
    padding: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    text-align: left;
}

/* Stany aktywne (Brak animacji, natychmiastowa zmiana) */
.rk-hero-role-btn:hover {
    border-color: #94a3b8;
}

.rk-hero-role-btn.active {
    background: var(--rk-hero-blue-bg);
    border-color: var(--rk-hero-blue);
}

.rk-hero-role-icon {
    width: 48px;
    height: 48px;
    background: #ffffff;
    border: 1px solid var(--rk-hero-border);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-hero-slate);
}

.rk-hero-role-btn.active .rk-hero-role-icon {
    background: var(--rk-hero-blue);
    border-color: var(--rk-hero-blue);
    color: #ffffff;
}

.rk-hero-role-text h4 {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-hero-dark);
}

.rk-hero-role-text p {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
}

.rk-hero-role-btn.active .rk-hero-role-text h4 {
    color: var(--rk-hero-blue);
}

/* Widoki treści */
.rk-hero-view {
    display: none;
    background: var(--rk-hero-gray);
    border: 1px solid var(--rk-hero-border);
    border-radius: 16px;
    padding: 30px;
}

.rk-hero-view.active {
    display: block;
}

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

.rk-hero-list li {
    font-size: 15px;
    font-weight: 600;
    color: var(--rk-hero-text);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid var(--rk-hero-border);
}

.rk-hero-list-icon {
    color: var(--rk-hero-blue);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Alert z narzędziami */
.rk-hero-tools {
    background: var(--rk-hero-dark);
    padding: 25px 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.rk-hero-tools-badge {
    background: var(--rk-hero-accent);
    color: var(--rk-hero-dark);
    font-size: 11px;
    font-weight: 900;
    padding: 4px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-hero-tools-text {
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    margin: 0;
}

@media (max-width: 768px) {
    .rk-hero-split { grid-template-columns: 1fr; }
    .rk-hero-left, .rk-hero-right { padding: 35px 25px; }
    .rk-hero-qa-card { border-radius: 12px; border-left: none; border-top: 5px solid var(--rk-hero-emerald); }
    .rk-hero-content { padding: 30px 25px; }
    .rk-hero-interactive { padding: 0 25px 30px; }
    .rk-hero-roles { grid-template-columns: 1fr; gap: 15px; }
    .rk-hero-view { padding: 20px; }
    .rk-hero-list { grid-template-columns: 1fr; }
    .rk-hero-tools { padding: 25px; flex-direction: column; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "PN-EN 1264: Norma, która definiuje wodne ogrzewanie podłogowe",
    "description": "Zalewasz rury betonem bez projektu? Poznaj wymogi normy PN-EN 1264 i oblicz parametry instalacji z naszymi interaktywnymi kalkulatorami OZC.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-fundamenty",
    "name": "Kluczowe Parametry Metodologiczne PN-EN 1264",
    "description": "Zbiór podstawowych definicji i wymogów technologicznych definiujących prawidłowe projektowanie i wykonywanie wbudowanych systemów płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pn-en 1264 norma ogrzewanie podłogowe",
      "wodne ogrzewanie podłogowe",
      "niskotemperaturowy system płaszczyznowy",
      "limity temperatur posadzki",
      "procedury odbiorcze podłogówki"
    ],
    "measurementTechnique": "Określenie twardych danych i procedur inżynieryjnych na podstawie normy europejskiej PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System: Niskotemperaturowy płaszczyznowy",
        "Główne wytyczne: Procedury obliczeniowe i rygorystyczne limity temperatur",
        "Skutki braku zgodności: Wady hydrauliczne, niedogrzanie, zniszczenie wylewki",
        "Dla kogo: Inżynierowie, instalatorzy i świadomi inwestorzy"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-nawigator",
    "name": "Nawigator Tematyczny dla Inwestora i Instalatora",
    "description": "Interaktywny moduł przełączający pozwalający użytkownikowi spersonalizować ścieżkę nauki normy PN-EN 1264 w zależności od jego roli na budowie.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-hero-container" id="rk-wstep-widget">
    
    <div class="rk-hero-split">
        <div class="rk-hero-left">
            <div class="rk-hero-badge">Kompendium Inżynieryjne</div>
            <h2>PN-EN 1264: Norma, która definiuje wodne ogrzewanie podłogowe</h2>
            <p class="rk-hero-hook">
                Zalewasz rury betonem i modlisz się, żeby zimą było ciepło? Wykonywanie instalacji <strong>na &#8222;oko&#8221; to najdroższa loteria</strong> na budowie. Dowiedz się, dlaczego fizyki nie da się oszukać.
            </p>
        </div>
        <div class="rk-hero-right">
            <div class="rk-hero-qa-card">
                <div class="rk-hero-qa-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Szybka odpowiedź eksperta
                </div>
                <p class="rk-hero-qa-text">
                    Norma PN-EN 1264 to europejski kodeks techniczny określający zasady projektowania i montażu wodnych instalacji płaszczyznowych. Jej <strong>głównym celem jest zapewnienie komfortu cieplnego</strong> poprzez matematyczne wyznaczenie oporów rur, rozstawu pętli oraz rygorystycznych limitów temperatur posadzki (np. max 29°C w salonie).
                </p>
            </div>
        </div>
    </div>

    <div class="rk-hero-content">
        <p>
            Wodne ogrzewanie podłogowe to <a href="https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/">niskotemperaturowy system płaszczyznowy</a>, którego parametry pracy, wydajność cieplną oraz kryteria montażowe ściśle definiuje europejska norma <strong>PN-EN 1264</strong>. Dokument ten stanowi jedyny oficjalny fundament metodologiczny dla inżynierów i instalatorów w Polsce, określając precyzyjne procedury obliczeniowe oraz rygorystyczne limity temperatur powierzchni posadzki.
        </p>
        <p>
            Brak znajomości tej normy podczas realizacji inwestycji prowadzi bezpośrednio do wad hydraulicznych, niedogrzania budynku lub zniszczenia warstw wykończeniowych podłogi. Jako projektant z wieloletnim doświadczeniem, w tym artykule rozłożę normę PN-EN 1264 na czynniki pierwsze, pokazując twarde dane, wzory, <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">procedury przygotowania wylewki</a> i zasady odbiorcze.
        </p>
    </div>

    <div class="rk-hero-interactive">
        <h3 class="rk-hero-int-header">Przewodnik po artykule. Wybierz swój profil:</h3>
        
        <div class="rk-hero-roles" id="rkHeroRoles">
            <button class="rk-hero-role-btn active" data-target="inwestor">
                <div class="rk-hero-role-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                </div>
                <div class="rk-hero-role-text">
                    <h4>Dla Inwestora</h4>
                    <p>Ochrona budżetu i zdrowia</p>
                </div>
            </button>
            <button class="rk-hero-role-btn" data-target="instalator">
                <div class="rk-hero-role-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
                </div>
                <div class="rk-hero-role-text">
                    <h4>Dla Instalatora</h4>
                    <p>Twarde dane i wzory</p>
                </div>
            </button>
        </div>

        <div class="rk-hero-view active" id="view-inwestor">
            <ul class="rk-hero-list">
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Dlaczego układanie rur &#8222;z głowy&#8221; rujnuje budżet po zalaniu betonu.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Maksymalne dopuszczalne temperatury posadzki ze względów medycznych.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Kto na placu budowy ponosi odpowiedzialność prawną za błędy.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Skutki braku profesjonalnej, ciśnieniowej próby szczelności.
                </li>
            </ul>
        </div>

        <div class="rk-hero-view" id="view-instalator">
            <ul class="rk-hero-list">
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Fizyczny wzór matematyczny określający jednostkową moc cieplną.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Wytyczne dla szczelin dylatacyjnych (limity m2) w oparciu o EN 1264-4.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Graniczne opory hydrauliczne obiegu a praca pompy ciepła.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Zestawienie oporów (R) dla różnych materiałów wykończeniowych.
                </li>
            </ul>
        </div>
    </div>

    <div class="rk-hero-tools">
        <div class="rk-hero-tools-badge">Odkryj</div>
        <p class="rk-hero-tools-text">
            W dalszej części artykułu znajdziesz interaktywne kalkulatory ułatwiające obliczenia!
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = document.querySelectorAll('#rkHeroRoles .rk-hero-role-btn');
    
    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var targetId = this.getAttribute('data-target');
            
            // Usunięcie klas aktywnych - bez animacji, twarda zmiana
            btns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Bezpieczne ukrywanie widoków (bez użycia &&)
            var viewInwestor = document.getElementById('view-inwestor');
            var viewInstalator = document.getElementById('view-instalator');
            
            if (viewInwestor !== null) { viewInwestor.classList.remove('active'); }
            if (viewInstalator !== null) { viewInstalator.classList.remove('active'); }
            
            // Aktywacja wybranej ścieżki
            this.classList.add('active');
            var activeView = document.getElementById('view-' + targetId);
            
            if (activeView !== null) {
                activeView.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-def-dark: #0f172a;
    --rk-def-blue: #3b82f6;
    --rk-def-blue-light: #eff6ff;
    --rk-def-green: #10b981;
    --rk-def-red: #ef4444;
    --rk-def-gray: #f8fafc;
    --rk-def-border: #e2e8f0;
    --rk-def-text: #334155;
}

.rk-def-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(59, 130, 246, 0.15);
    border: 1px solid var(--rk-def-blue);
    overflow: hidden;
}

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

.rk-def-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(147, 197, 253, 0.3);
}

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

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

.rk-def-intro a {
    color: #60a5fa;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Moduł Interaktywny - Status Systemu */
.rk-def-interactive {
    padding: 40px 50px;
    background: var(--rk-def-gray);
}

.rk-def-controls {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    background: #ffffff;
    padding: 10px;
    border-radius: 16px;
    border: 1px solid var(--rk-def-border);
}

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

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

.rk-def-btn.active[data-mode="norma"] {
    background: #ecfdf5;
    border-color: var(--rk-def-green);
    color: #065f46;
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.1);
}

.rk-def-btn.active[data-mode="blad"] {
    background: #fef2f2;
    border-color: var(--rk-def-red);
    color: #991b1b;
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.1);
}

/* Tablica rozdzielcza (Dashboard) */
.rk-def-dashboard {
    background: #ffffff;
    border: 1px solid var(--rk-def-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: border-color 0.4s;
}

.rk-def-status-bar {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-bottom: 20px;
    margin-bottom: 25px;
    border-bottom: 1px solid var(--rk-def-border);
}

.rk-def-status-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    transition: background 0.4s;
}

.rk-def-status-text h3 {
    margin: 0 0 5px 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-def-dark);
}

.rk-def-status-text p {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
}

/* Kafelki z parametrami */
.rk-def-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-def-metric-card {
    background: var(--rk-def-gray);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-def-border);
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.4s;
}

.rk-def-metric-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--rk-def-border);
    transition: background 0.4s;
}

.rk-def-metric-title {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: #64748b;
    margin-bottom: 10px;
}

.rk-def-metric-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-def-dark);
    font-family: monospace;
    transition: color 0.4s;
}

.rk-def-metric-desc {
    font-size: 13px;
    color: #475569;
    margin-top: 10px;
    font-weight: 600;
    min-height: 40px;
}

/* Wnioski końcowe pod widgetem */
.rk-def-conclusion {
    padding: 30px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-def-border);
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-def-conc-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-def-blue);
    flex-shrink: 0;
    margin-top: 5px;
}

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

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

@media (max-width: 768px) {
    .rk-def-header { padding: 35px 25px; }
    .rk-def-header h2 { font-size: 24px; }
    .rk-def-interactive { padding: 30px 20px; }
    .rk-def-controls { flex-direction: column; gap: 10px; }
    .rk-def-metrics { grid-template-columns: 1fr; gap: 15px; }
    .rk-def-metric-desc { min-height: auto; }
    .rk-def-conclusion { padding: 30px 20px; flex-direction: column; align-items: center; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-definicja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Czym jest norma PN-EN 1264 i dlaczego definiuje standardy ogrzewania podłogowego?",
    "description": "Zharmonizowany standard europejski chroniący przed błędami instalacyjnymi. Dowiedz się, dlaczego projektowanie bez normy niszczy współczynnik COP i posadzkę.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-definicja",
    "name": "Kluczowe Parametry i Limity Normy PN-EN 1264",
    "description": "Podstawowe dane inżynieryjne określające standardy bezpieczeństwa fizjologicznego i technicznego dla wodnych systemów płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "norma pn-en 1264",
      "maksymalna temperatura podłogi 29°C",
      "temperatura zasilania pompy ciepła",
      "współczynnik COP pompy ciepła",
      "wodne systemy ogrzewania płaszczyznowego"
    ],
    "measurementTechnique": "Wartości graniczne określone w 5-częściowym dokumencie zharmonizowanym ustalającym zasady fizyki budowli dla strefy klimatycznej (np. -20°C).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalna temperatura powierzchni w strefie przebywania: 29°C",
        "Graniczna optymalna temperatura zasilania PC: 35°C",
        "Skutek przekroczenia temp. zasilania >45°C: Drastyczny spadek COP",
        "Ilość części strukturalnych normy: 5"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-definicja",
    "name": "Symulator Skutków Braków Obliczeniowych",
    "description": "Interaktywne zestawienie pokazujące skutki porzucenia normy PN-EN 1264 dla efektywności COP i bezpieczeństwa posadzki (zjawisko niedogrzania).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-def-container" id="rk-norm-definition-widget">
    <div class="rk-def-header">
        <div class="rk-def-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Fundament Inżynierii
        </div>
        <h2>Czym jest norma PN-EN 1264 i dlaczego definiuje standardy ogrzewania podłogowego?</h2>
        <p class="rk-def-intro">
            Norma <strong>PN-EN 1264</strong> to zharmonizowany standard europejski o nazwie <em>„Wbudowane wodne systemy ogrzewania i chłodzenia płaszczyznowego”</em>. Składa się z 5 odrębnych części, które krok po kroku określają twarde zasady projektowania, obliczeń oraz montażu instalacji. To techniczny filtr bezpieczeństwa, bez którego budowa staje się grą w ruletkę.
        </p>
    </div>

    <div class="rk-def-interactive">
        <div class="rk-def-controls" id="rkDefControls">
            <button class="rk-def-btn active" data-mode="norma">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Instalacja wg PN-EN 1264
            </button>
            <button class="rk-def-btn" data-mode="blad">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                Instalacja &#8222;na oko&#8221; (Brak obliczeń)
            </button>
        </div>

        <div class="rk-def-dashboard" id="rkDefDashboard" style="border-color: var(--rk-def-green);">
            <div class="rk-def-status-bar">
                <div class="rk-def-status-icon" id="rkDefIcon" style="background: var(--rk-def-green);">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <div class="rk-def-status-text">
                    <h3 id="rkDefTitle">Pełne Bezpieczeństwo i Gwarancja</h3>
                    <p id="rkDefSubtitle">System zaprojektowany inżynieryjnie pod parametry budynku.</p>
                </div>
            </div>

            <div class="rk-def-metrics">
                <div class="rk-def-metric-card" id="card-1">
                    <div class="rk-def-metric-title">Temperatura Podłogi</div>
                    <div class="rk-def-metric-val" id="val-1">Max 29°C</div>
                    <div class="rk-def-metric-desc" id="desc-1"><a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/" style="color:inherit; text-decoration:underline;">Zgodna z fizjologią</a> i medycyną. Chroni zdrowie domowników.</div>
                </div>
                
                <div class="rk-def-metric-card" id="card-2">
                    <div class="rk-def-metric-title">Zasilanie Pompy (Zima -20°C)</div>
                    <div class="rk-def-metric-val" id="val-2">~ 35°C</div>
                    <div class="rk-def-metric-desc" id="desc-2">Niskotemperaturowa praca utrzymuje wysoki <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/" style="color:inherit; text-decoration:underline;">współczynnik COP</a>.</div>
                </div>

                <div class="rk-def-metric-card" id="card-3">
                    <div class="rk-def-metric-title">Status Posadzki</div>
                    <div class="rk-def-metric-val" id="val-3">Trwała</div>
                    <div class="rk-def-metric-desc" id="desc-3">Brak ryzyka pękania jastrychu i zachowana gwarancja producentów.</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-def-conclusion">
        <svg class="rk-def-conc-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
        <p>
            Konsekwencją porzucenia obliczeń normatywnych jest zjawisko niedogrzania pomieszczeń przy temperaturach projektowych (np. -20°C dla III strefy klimatycznej) lub konieczność drastycznego podnoszenia temperatury zasilania. Zignorowanie wytycznych to <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">błędy, których naprawa po zalaniu wylewki jest technicznie niemożliwa</a>.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var dataModes = {
        'norma': {
            mainColor: '#10b981', // green
            icon: '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>',
            title: 'Pełne Bezpieczeństwo i Gwarancja',
            subtitle: 'System zaprojektowany inżynieryjnie pod parametry budynku.',
            val1: 'Max 29°C',
            desc1: '<a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/" style="color:inherit; text-decoration:underline;">Zgodna z fizjologią</a> i medycyną. Chroni zdrowie domowników.',
            val2: '~ 35°C',
            desc2: 'Niskotemperaturowa praca utrzymuje wysoki <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/" style="color:inherit; text-decoration:underline;">współczynnik COP</a>.',
            val3: 'Trwała',
            desc3: 'Brak ryzyka pękania jastrychu i zachowana gwarancja producentów.'
        },
        'blad': {
            mainColor: '#ef4444', // red
            icon: '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>',
            title: 'Katastrofa Budowlana',
            subtitle: 'Ogrzewanie działające losowo, niszczące źródło ciepła.',
            val1: '> 33°C',
            desc1: 'Przegrzana posadzka powoduje pęcznienie żył (syndrom ciężkich nóg) i wysusza drogi oddechowe.',
            val2: '> 45°C',
            desc2: 'Drastyczne obniżenie sprawności pompy ciepła, generujące <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/" style="color:inherit; text-decoration:underline;">potężne rachunki za prąd</a>.',
            val3: 'Ryzyko',
            desc3: 'Pękająca wylewka, odklejające się płytki i natychmiastowa utrata gwarancji od producentów.'
        }
    };

    var btns = document.querySelectorAll('#rkDefControls .rk-def-btn');
    var elDash = document.getElementById('rkDefDashboard');
    var elIcon = document.getElementById('rkDefIcon');
    var elTitle = document.getElementById('rkDefTitle');
    var elSubtitle = document.getElementById('rkDefSubtitle');
    
    var elVal1 = document.getElementById('val-1');
    var elDesc1 = document.getElementById('desc-1');
    var elVal2 = document.getElementById('val-2');
    var elDesc2 = document.getElementById('desc-2');
    var elVal3 = document.getElementById('val-3');
    var elDesc3 = document.getElementById('desc-3');

    // Pseudo-element styles cannot be targeted directly via inline CSS easily without specific classes,
    // we will apply CSS custom properties locally for the cards
    var cards = document.querySelectorAll('.rk-def-metric-card');

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var mode = this.getAttribute('data-mode');
            var data = dataModes[mode];

            // Toggle active state
            btns.forEach(function(b) { b.classList.remove('active'); });
            this.classList.add('active');

            if (data !== undefined) {
                // Update Dashboard Colors
                if (elDash !== null) { elDash.style.borderColor = data.mainColor; }
                if (elIcon !== null) { 
                    elIcon.style.backgroundColor = data.mainColor; 
                    elIcon.innerHTML = data.icon;
                }
                
                // Update Text
                if (elTitle !== null) { elTitle.textContent = data.title; }
                if (elSubtitle !== null) { elSubtitle.textContent = data.subtitle; }
                
                if (elVal1 !== null) { elVal1.textContent = data.val1; elVal1.style.color = data.mainColor; }
                if (elDesc1 !== null) { elDesc1.innerHTML = data.desc1; }
                
                if (elVal2 !== null) { elVal2.textContent = data.val2; elVal2.style.color = data.mainColor; }
                if (elDesc2 !== null) { elDesc2.innerHTML = data.desc2; }
                
                if (elVal3 !== null) { elVal3.textContent = data.val3; elVal3.style.color = data.mainColor; }
                if (elDesc3 !== null) { elDesc3.innerHTML = data.desc3; }

                // Update Cards Border Top Color dynamically by applying inline style variable 
                // that we can pick up in CSS, or simply setting border-top.
                cards.forEach(function(card) {
                    // Quick fix for top border line color change
                    card.style.boxShadow = "inset 0 4px 0 0 " + data.mainColor;
                });
            }
        });
    });
    
    // Trigger initial style for cards
    cards.forEach(function(card) {
        card.style.boxShadow = "inset 0 4px 0 0 #10b981"; // Initial green
        card.style.transition = "box-shadow 0.4s";
    });
});
</script>



<style>
:root {
    --rk-parts-dark: #0f172a;
    --rk-parts-blue-dark: #1e3a8a;
    --rk-parts-blue: #2563eb;
    --rk-parts-blue-light: #eff6ff;
    --rk-parts-cyan: #06b6d4;
    --rk-parts-text: #334155;
    --rk-parts-bg: #ffffff;
    --rk-parts-border: #e2e8f0;
}

.rk-parts-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-parts-bg);
    border-radius: 20px;
    box-shadow: 0 15px 35px -5px rgba(37, 99, 235, 0.15);
    border: 1px solid var(--rk-parts-blue);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-parts-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-parts-dark) 0%, var(--rk-parts-blue-dark) 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-parts-cyan);
}

.rk-parts-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(6, 182, 212, 0.2);
    color: #22d3ee;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(34, 211, 238, 0.3);
}

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

.rk-parts-header p {
    font-size: 16px;
    color: #93c5fd;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px;
}

/* Interaktywny Eksplorator - Nawigacja (Desktop Poziomo, Mobile Pionowo) */
.rk-parts-explorer {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-parts-nav {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 35px;
    position: relative;
}

/* Linia łącząca kroki (tylko desktop) */
.rk-parts-nav::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 20px;
    right: 20px;
    height: 3px;
    background: var(--rk-parts-border);
    z-index: 1;
}

.rk-parts-btn {
    flex: 1;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-parts-btn:hover {
    transform: translateY(-5px);
}

.rk-parts-step {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid var(--rk-parts-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-parts-text);
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.rk-parts-btn.active .rk-parts-step {
    border-color: var(--rk-parts-cyan);
    background: var(--rk-parts-blue);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.4);
}

.rk-parts-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-parts-text);
    text-transform: uppercase;
    transition: color 0.3s;
}

.rk-parts-btn.active .rk-parts-label {
    color: var(--rk-parts-blue);
}

/* Zawartość Eksploratora */
.rk-parts-content-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-parts-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 4px 10px -2px rgba(0,0,0,0.02);
    min-height: 280px;
}

.rk-parts-panel {
    display: none;
    animation: fadeInPart 0.5s ease forwards;
}

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

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

.rk-parts-panel h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-parts-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-parts-border);
}

.rk-parts-panel h3 svg {
    color: var(--rk-parts-blue);
}

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

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

.rk-parts-panel a:hover {
    color: var(--rk-parts-cyan);
}

.rk-parts-highlight {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--rk-parts-blue-light);
    color: var(--rk-parts-blue-dark);
    padding: 12px 18px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-parts-blue);
    font-weight: 600;
    font-size: 15px;
    margin-top: 10px;
    width: 100%;
}

@media (max-width: 768px) {
    .rk-parts-header { padding: 35px 25px; }
    .rk-parts-header h2 { font-size: 24px; }
    .rk-parts-explorer { padding: 30px 20px; }
    
    /* Zmiana na układ pionowy dla mobile */
    .rk-parts-nav { flex-direction: column; gap: 15px; }
    .rk-parts-nav::before { display: none; }
    .rk-parts-btn { flex-direction: row; text-align: left; background: #ffffff; padding: 15px; border: 1px solid var(--rk-parts-border); border-radius: 12px; }
    .rk-parts-btn:hover { transform: translateX(5px); }
    .rk-parts-step { width: 40px; height: 40px; font-size: 16px; border-width: 2px; }
    
    .rk-parts-content-wrapper { padding: 25px; min-height: auto; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-czesci-normy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jakie są części normy PN-EN 1264 i co regulują w systemach płaszczyznowych?",
    "description": "Poznaj 5 kluczowych części normy PN-EN 1264. Od definicji, przez obliczenia mocy, aż po montaż i próby ciśnieniowe wodnego ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-struktura",
    "name": "Struktura normatywna PN-EN 1264 dla ogrzewania płaszczyznowego",
    "description": "Klasyfikacja i podział wytycznych inżynieryjnych wg normy europejskiej na 5 integralnych modułów (definicje, moc, projektowanie, montaż, sufity/ściany).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "części normy pn-en 1264",
      "pn-en 1264-2 obliczenia",
      "pn-en 1264-4 montaż",
      "projektowanie instalacji podłogowych",
      "system mokry i suchy podłogówki"
    ],
    "measurementTechnique": "Podział strukturalny dokumentacji na etapy cyklu życia instalacji: od koncepcji, przez obliczenia fizykalne, po odbiory budowlane.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "PN-EN 1264-1: Definicje i symbole (Typ A, B, C)",
        "PN-EN 1264-2: Metody obliczeniowe (moc q)",
        "PN-EN 1264-3: Projektowanie (rozstaw rur, PN-EN 12831)",
        "PN-EN 1264-4: Montaż (próba ciśnieniowa, dylatacje)",
        "PN-EN 1264-5: Ogrzewanie i chłodzenie sufitowe/ścienne"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-eksplorator-normy",
    "name": "Eksplorator Struktury Normy PN-EN 1264",
    "description": "Interaktywne narzędzie pozwalające inżynierom i inwestorom na przeglądanie wymagań poszczególnych sekcji normy w ujęciu wizualnym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-parts-container" id="rk-norm-parts-widget">
    <div class="rk-parts-header">
        <div class="rk-parts-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"></path><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"></path></svg>
            Struktura Dokumentu
        </div>
        <h2>Jakie są części normy PN-EN 1264 i co regulują w systemach płaszczyznowych?</h2>
        <p>Struktura normy dzieli się na pięć kluczowych sekcji. Każda z nich odpowiada za inny etap cyklu życia instalacji: od definicji technicznych, aż po finalny odbiór na budowie.</p>
    </div>

    <div class="rk-parts-explorer">
        <div class="rk-parts-nav" id="rkPartsNav">
            <button class="rk-parts-btn active" data-part="1">
                <div class="rk-parts-step">1</div>
                <div class="rk-parts-label">Definicje</div>
            </button>
            <button class="rk-parts-btn" data-part="2">
                <div class="rk-parts-step">2</div>
                <div class="rk-parts-label">Moc Cieplna</div>
            </button>
            <button class="rk-parts-btn" data-part="3">
                <div class="rk-parts-step">3</div>
                <div class="rk-parts-label">Projektowanie</div>
            </button>
            <button class="rk-parts-btn" data-part="4">
                <div class="rk-parts-step">4</div>
                <div class="rk-parts-label">Montaż</div>
            </button>
            <button class="rk-parts-btn" data-part="5">
                <div class="rk-parts-step">5</div>
                <div class="rk-parts-label">Ściany / Sufity</div>
            </button>
        </div>

        <div class="rk-parts-content-wrapper">
            <div class="rk-parts-panel active" id="part-1">
                <h3>
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                    PN-EN 1264-1: Definicje i symbole
                </h3>
                <p>Wprowadza jednolitą nomenklaturę technologiczną i klasyfikuje systemy podłogowe.</p>
                <p>Wskazuje m.in. na systemy Typu A (rury w jastrychu, mocowane na izolacji z wypustami lub klipsami – klasyczny <a href="https://projekt-ogrzewania.pl/czym-jest-system-mokry-w-wodnym-ogrzewaniu-podlogowym/">system mokry</a>) oraz Typu C (rury w warstwie wyrównawczej, nad którymi znajduje się podwójna warstwa jastrychu), a także <a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">systemy suche (Typ B)</a>.</p>
            </div>

            <div class="rk-parts-panel" id="part-2">
                <h3>
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
                    PN-EN 1264-2: Metody obliczeniowe
                </h3>
                <p>To najważniejszy matematyczny rdzeń <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normy obliczeń ogrzewania podłogowego</a>. Określa algorytmy dla mocy cieplnej.</p>
                <p>Wyznacza jednostkową gęstość strumienia cieplnego (q) i opiera się na badaniach laboratoryjnych i nomogramach, które wiążą rozstaw rur, grubość wylewki i opór cieplny okładziny z realną wydajnością systemu.</p>
                <div class="rk-parts-highlight">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Podstawa do doboru temperatury zasilania.
                </div>
            </div>

            <div class="rk-parts-panel" id="part-3">
                <h3>
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    PN-EN 1264-3: Projektowanie i wymiarowanie
                </h3>
                <p>Ta część instruuje projektanta, jak dopasować instalację do <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">strat ciepła budynku (OZC)</a> obliczonych ściśle według normy PN-EN 12831.</p>
                <p>Narzuca rygorystyczne limity temperatur powierzchni (np. 29°C) i metodologię doboru rozstawu pętli na podstawie krytycznych parametrów hydraulicznych obiegu.</p>
            </div>

            <div class="rk-parts-panel" id="part-4">
                <h3>
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
                    PN-EN 1264-4: Montaż instalacji
                </h3>
                <p>Kluczowy dokument na placu budowy. Określa minimalny opór cieplny izolacji stropu (np. <strong>R = 1,25 m²K/W</strong> nad pomieszczeniem ogrzewanym).</p>
                <p>Definiuje zasady wykonywania dylatacji, precyzyjne parametry <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">ciśnieniowej próby szczelności</a> oraz procedurę wygrzewania <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">jastrychu</a>.</p>
                <div class="rk-parts-highlight">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Zignorowanie tej części powoduje utratę gwarancji!
                </div>
            </div>

            <div class="rk-parts-panel" id="part-5">
                <h3>
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M3 3h18v18H3z"></path><path d="M21 9H3"></path><path d="M21 15H3"></path></svg>
                    PN-EN 1264-5: Ogrzewanie i chłodzenie sufitowe/ścienne
                </h3>
                <p>Rozszerza dotychczasową metodykę obliczeń na alternatywne płaszczyzny (ściany i sufity).</p>
                <p>Definiuje odmienne limity temperatur dla tych rozwiązań (np. maksymalnie 40°C dla ogrzewania ściennego) oraz zwraca szczególną uwagę na zjawisko <a href="https://projekt-ogrzewania.pl/punkt-rosy-w-ogrzewaniu-podlogowym-jak-bezpiecznie-chlodzic-dom-bez-ryzyka-kondensacji/">punktu rosy przy chłodzeniu</a>.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var navBtns = document.querySelectorAll('#rkPartsNav .rk-parts-btn');
    var panels = document.querySelectorAll('.rk-parts-panel');

    navBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var targetPart = this.getAttribute('data-part');

            // Reset wszystkich przycisków
            navBtns.forEach(function(b) {
                b.classList.remove('active');
            });
            // Aktywacja klikniętego
            this.classList.add('active');

            // Reset paneli
            panels.forEach(function(panel) {
                panel.classList.remove('active');
            });
            
            // Aktywacja odpowiedniego panelu (bezpieczny kod)
            var activePanel = document.getElementById('part-' + targetPart);
            if (activePanel !== null) {
                activePanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-temp-dark: #1e293b;
    --rk-temp-slate: #334155;
    --rk-temp-red: #ef4444;
    --rk-temp-red-light: #fef2f2;
    --rk-temp-orange: #f97316;
    --rk-temp-orange-light: #fff7ed;
    --rk-temp-green: #10b981;
    --rk-temp-green-light: #ecfdf5;
    --rk-temp-bg: #ffffff;
    --rk-temp-gray: #f8fafc;
    --rk-temp-border: #e2e8f0;
}

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

/* Nagłówek */
.rk-temp-header {
    padding: 40px 50px 30px;
    background: var(--rk-temp-dark);
    color: #ffffff;
    text-align: center;
    position: relative;
}

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

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

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

/* Sekcja Interaktywna - Wybór Strefy */
.rk-temp-interactive {
    padding: 40px 50px;
    background: var(--rk-temp-bg);
}

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

.rk-temp-selectors {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

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

.rk-temp-btn::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: var(--rk-temp-border);
    transition: background 0.3s;
}

.rk-temp-btn:hover {
    transform: translateX(4px);
    background: var(--rk-temp-gray);
}

.rk-temp-btn.active {
    border-color: var(--rk-temp-slate);
    background: #f1f5f9;
    box-shadow: 0 10px 15px -5px rgba(0,0,0,0.05);
}

.rk-temp-btn.active[data-zone="salon"] { border-color: var(--rk-temp-green); }
.rk-temp-btn.active[data-zone="salon"]::before { background: var(--rk-temp-green); }

.rk-temp-btn.active[data-zone="lazienka"] { border-color: var(--rk-temp-orange); }
.rk-temp-btn.active[data-zone="lazienka"]::before { background: var(--rk-temp-orange); }

.rk-temp-btn.active[data-zone="brzeg"] { border-color: var(--rk-temp-red); }
.rk-temp-btn.active[data-zone="brzeg"]::before { background: var(--rk-temp-red); }

.rk-temp-btn-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--rk-temp-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-temp-slate);
    transition: all 0.3s;
}

.rk-temp-btn.active[data-zone="salon"] .rk-temp-btn-icon { background: var(--rk-temp-green-light); color: var(--rk-temp-green); }
.rk-temp-btn.active[data-zone="lazienka"] .rk-temp-btn-icon { background: var(--rk-temp-orange-light); color: var(--rk-temp-orange); }
.rk-temp-btn.active[data-zone="brzeg"] .rk-temp-btn-icon { background: var(--rk-temp-red-light); color: var(--rk-temp-red); }

.rk-temp-btn-content h4 {
    margin: 0 0 4px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-temp-dark);
}

.rk-temp-btn-content p {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
}

/* Wizualizator Temperatury */
.rk-temp-visualizer {
    background: var(--rk-temp-gray);
    border: 1px solid var(--rk-temp-border);
    border-radius: 20px;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    transition: background 0.4s;
}

.rk-temp-thermometer {
    position: relative;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1);
    margin-bottom: 25px;
}

.rk-temp-ring {
    position: absolute;
    top: 5px; left: 5px; right: 5px; bottom: 5px;
    border-radius: 50%;
    border: 8px solid transparent;
    transition: border-color 0.4s ease;
}

.rk-temp-value {
    font-size: 36px;
    font-weight: 900;
    font-family: monospace;
    color: var(--rk-temp-dark);
    z-index: 2;
    transition: color 0.4s;
}

.rk-temp-desc-box h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-temp-dark);
}

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

/* Sekcja Ostrzegawcza */
.rk-temp-warning {
    padding: 30px 50px;
    background: #fef2f2;
    border-top: 1px solid #fecaca;
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.rk-temp-warning-icon {
    width: 48px;
    height: 48px;
    background: #fee2e2;
    color: #dc2626;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-temp-warning-content h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 900;
    color: #991b1b;
}

.rk-temp-warning-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #7f1d1d;
}

.rk-temp-link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-temp-header { padding: 35px 25px; }
    .rk-temp-header h2 { font-size: 24px; }
    .rk-temp-interactive { padding: 30px 20px; }
    .rk-temp-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-temp-visualizer { padding: 30px 20px; }
    .rk-temp-warning { padding: 30px 20px; flex-direction: column; align-items: center; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-temperatura",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jak norma PN-EN 1264 określa maksymalną temperaturę podłogi dla zdrowia i komfortu?",
    "description": "Zrozum wpływ ogrzewania na fizjologię człowieka. Zobacz limity (29°C w salonie, 35°C pod oknem) zapobiegające syndromowi ciężkich nóg i pękaniu paneli.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-limity-temperatur",
    "name": "Limity Fizjologiczne Temperatur Powierzchni Podłogi (PN-EN 1264)",
    "description": "Medyczne i techniczne wartości graniczne dla powierzchni posadzki wymuszające prawidłowe zaprojektowanie rozstawu rur i krzywej grzewczej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "optymalna temperatura ogrzewania podłogowego",
      "strefa brzegowa w ogrzewaniu podłogowym",
      "czy ogrzewanie podłogowe wysusza powietrze",
      "wady wodnego ogrzewania podłogowego",
      "zdrowotne skutki ogrzewania podłogowego"
    ],
    "measurementTechnique": "Określenie limitów fizjologicznych na podstawie badań komfortu cieplnego zawartych w normie PN-EN 1264-3 (paragraf 4.1.2).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Salon i sypialnia (strefa przebywania): Maksymalnie 29°C",
        "Łazienka (strefa sanitarna, bosa stopa): Maksymalnie 33°C",
        "Strefa brzeżna (pas okienny do 1 m): Maksymalnie 35°C"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-symulator-stref",
    "name": "Analizator Stref Fizjologicznych PN-EN 1264",
    "description": "Interaktywny panel ilustrujący różnice między parametrami cieplnymi dla stref: przebywania, sanitarnej oraz brzegowej wraz z opisem zjawisk negatywnych.",
    "applicationCategory": "HealthApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-temp-container" id="rk-health-temp-widget">
    <div class="rk-temp-header">
        <div class="rk-temp-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            Fizjologia i Komfort
        </div>
        <h2>Jak norma PN-EN 1264 określa maksymalną temperaturę podłogi dla zdrowia?</h2>
        <p>Wodne ogrzewanie podłogowe to nie tylko rury. To ogromny grzejnik, z którym stykasz się bezpośrednio. Norma (paragraf 4.1.2) rygorystycznie różnicuje dopuszczalne temperatury w zależności od specyfiki pomieszczenia.</p>
    </div>

    <div class="rk-temp-interactive">
        <div class="rk-temp-grid">
            
            <div class="rk-temp-selectors" id="rkTempBtns">
                <button class="rk-temp-btn active" data-zone="salon">
                    <div class="rk-temp-btn-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
                    </div>
                    <div class="rk-temp-btn-content">
                        <h4>Strefa Stałego Przebywania</h4>
                        <p>Salon, sypialnia, pokój dziecięcy</p>
                    </div>
                </button>

                <button class="rk-temp-btn" data-zone="lazienka">
                    <div class="rk-temp-btn-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M2 12h20"></path><path d="M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8"></path><path d="M10 8l2-2 2 2"></path><path d="M14 4h-4"></path></svg>
                    </div>
                    <div class="rk-temp-btn-content">
                        <h4>Pomieszczenia Sanitarne</h4>
                        <p>Łazienki, pokoje kąpielowe</p>
                    </div>
                </button>

                <button class="rk-temp-btn" data-zone="brzeg">
                    <div class="rk-temp-btn-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                    </div>
                    <div class="rk-temp-btn-content">
                        <h4>Strefa Brzeżna</h4>
                        <p>Pas okienny do 1 metra szerokości</p>
                    </div>
                </button>
            </div>

            <div class="rk-temp-visualizer" id="rkTempVisual">
                <div class="rk-temp-thermometer">
                    <div class="rk-temp-ring" id="rkTempRing" style="border-color: var(--rk-temp-green);"></div>
                    <div class="rk-temp-value" id="rkTempVal" style="color: var(--rk-temp-green);">29°C</div>
                </div>
                <div class="rk-temp-desc-box">
                    <h3 id="rkTempTitle">Bezpieczne 29°C</h3>
                    <p id="rkTempDesc">
                        Maksymalna <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/" class="rk-temp-link">optymalna temperatura ogrzewania</a>. Jej utrzymanie chroni przed zaburzeniami krążenia obwodowego i pozwala posadzce bezpiecznie stygnąć po wyłączeniu cyklu.
                    </p>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-temp-warning">
        <div class="rk-temp-warning-icon">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
        </div>
        <div class="rk-temp-warning-content">
            <h4>Błędy projektowe a syndrom ciężkich nóg</h4>
            <p>
                Częstą <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/" class="rk-temp-link">wadą instalacji wykonywanych bez projektu</a> jest brak weryfikacji temperatur powierzchni. Przegrzanie posadzki (np. do 32°C w salonie) wywołuje u ludzi medyczny syndrom ciężkich nóg, drastycznie <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-wysusza-powietrze-w-pomieszczeniach/" class="rk-temp-link">wysusza powietrze</a>, nasila konwekcję kurzu i ostatecznie doprowadza do rozklejenia się paneli podłogowych.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var zoneData = {
        'salon': {
            temp: '29°C',
            color: '#10b981', // Zielony
            bg: '#ecfdf5',
            title: 'Bezpieczne 29°C',
            desc: 'Maksymalna <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/" class="rk-temp-link" style="color:inherit;">optymalna temperatura ogrzewania</a>. Jej utrzymanie chroni przed zaburzeniami krążenia obwodowego i pozwala posadzce bezpiecznie stygnąć.'
        },
        'lazienka': {
            temp: '33°C',
            color: '#f97316', // Pomarańczowy
            bg: '#fff7ed',
            title: 'Komfort bosej stopy',
            desc: 'W łazience wymagamy temperatury powietrza rzędu 24°C. Dlatego norma zezwala na wyższą temperaturę posadzki (33°C), aby zrekompensować straty ciepła i nagrzać chłodne płytki.'
        },
        'brzeg': {
            temp: '35°C',
            color: '#ef4444', // Czerwony
            bg: '#fef2f2',
            title: 'Bufor termiczny przy oknach',
            desc: 'Aby zablokować opadanie zimnego powietrza z ogromnych okien tarasowych, <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/" class="rk-temp-link" style="color:inherit;">w strefie brzegowej</a> zagęszcza się rury, a norma podnosi limit aż do 35°C na odcinku max. 1 metra szerokości.'
        }
    };

    var btns = document.querySelectorAll('#rkTempBtns .rk-temp-btn');
    
    var elVisual = document.getElementById('rkTempVisual');
    var elRing = document.getElementById('rkTempRing');
    var elVal = document.getElementById('rkTempVal');
    var elTitle = document.getElementById('rkTempTitle');
    var elDesc = document.getElementById('rkTempDesc');

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Reset aktywnych przycisków
            btns.forEach(function(b) { b.classList.remove('active'); });
            this.classList.add('active');

            var zoneKey = this.getAttribute('data-zone');
            var data = zoneData[zoneKey];

            // Aktualizacja bez warunków logicznych AND
            if (data !== undefined) {
                if (elVisual !== null) { elVisual.style.backgroundColor = data.bg; }
                if (elRing !== null) { elRing.style.borderColor = data.color; }
                if (elVal !== null) { 
                    elVal.style.color = data.color; 
                    elVal.innerHTML = data.temp; 
                }
                if (elTitle !== null) { elTitle.innerHTML = data.title; }
                if (elDesc !== null) { elDesc.innerHTML = data.desc; }
            }
        });
    });
});
</script>



<style>
:root {
    --rk-pow-dark: #1e1b4b; /* Głęboki indygo */
    --rk-pow-primary: #6366f1; /* Fiolet / Indygo */
    --rk-pow-primary-hover: #4f46e5;
    --rk-pow-accent: #06b6d4; /* Cyjan */
    --rk-pow-bg: #ffffff;
    --rk-pow-gray: #f8fafc;
    --rk-pow-border: #e2e8f0;
    --rk-pow-text: #334155;
    --rk-pow-text-muted: #64748b;
}

.rk-pow-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pow-bg);
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(99, 102, 241, 0.15);
    border: 1px solid var(--rk-pow-primary);
    overflow: hidden;
}

/* Nagłówek */
.rk-pow-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-pow-dark) 0%, #312e81 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-pow-accent);
}

.rk-pow-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(6, 182, 212, 0.2);
    color: #67e8f9;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(103, 232, 249, 0.3);
}

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

/* Moduł Teoretyczny - Wzór na Moc */
.rk-pow-theory {
    padding: 40px 50px;
    background: var(--rk-pow-bg);
}

.rk-pow-theory p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-pow-text);
    margin: 0 0 20px 0;
}

.rk-pow-formula-box {
    background: #0f172a;
    border-radius: 16px;
    padding: 25px;
    margin: 25px 0;
    box-shadow: inset 0 4px 6px rgba(0,0,0,0.2);
    border-left: 5px solid var(--rk-pow-accent);
}

.rk-pow-formula {
    font-family: 'Courier New', Courier, monospace;
    font-size: 22px;
    font-weight: 700;
    color: #38bdf8;
    text-align: center;
    margin-bottom: 15px;
    letter-spacing: 1px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.rk-pow-formula span { color: #f8fafc; }

.rk-pow-legend {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.rk-pow-legend-item {
    font-size: 14px;
    color: #cbd5e1;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.rk-pow-legend-symbol {
    font-weight: 900;
    color: var(--rk-pow-accent);
    background: rgba(6, 182, 212, 0.15);
    padding: 2px 8px;
    border-radius: 6px;
    min-width: 45px;
    text-align: center;
}

/* Moduł Interaktywny - Scenariusze */
.rk-pow-scenarios {
    padding: 40px 50px;
    background: var(--rk-pow-gray);
    border-top: 1px solid var(--rk-pow-border);
}

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

.rk-pow-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-pow-tab {
    background: #ffffff;
    border: 2px solid var(--rk-pow-border);
    border-radius: 16px;
    padding: 20px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.rk-pow-tab:hover {
    border-color: var(--rk-pow-primary);
    transform: translateY(-3px);
}

.rk-pow-tab.active {
    background: var(--rk-pow-primary);
    border-color: var(--rk-pow-primary);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(99, 102, 241, 0.4);
    transform: translateY(-3px);
}

.rk-pow-tab-icon {
    width: 40px;
    height: 40px;
    background: var(--rk-pow-gray);
    color: var(--rk-pow-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.rk-pow-tab.active .rk-pow-tab-icon {
    background: rgba(255,255,255,0.2);
    color: #ffffff;
}

.rk-pow-tab-title {
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}

.rk-pow-tab:not(.active) .rk-pow-tab-title { color: var(--rk-pow-text); }

/* Tablica Wyników (Dashboard) */
.rk-pow-dashboard {
    background: #ffffff;
    border: 1px solid var(--rk-pow-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-pow-dash-header {
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-pow-border);
}

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

/* Parametry Wejściowe */
.rk-pow-params {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.rk-pow-param-box {
    background: var(--rk-pow-gray);
    padding: 12px;
    border-radius: 12px;
    border: 1px solid var(--rk-pow-border);
    text-align: center;
}

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

.rk-pow-param-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-pow-primary);
}

/* Sekcja Wyniku */
.rk-pow-result-area {
    display: flex;
    gap: 20px;
    align-items: stretch;
}

.rk-pow-main-result {
    flex: 1;
    background: var(--rk-pow-dark);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-pow-main-result::before {
    content: '';
    position: absolute;
    top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle, rgba(6,182,212,0.1) 0%, transparent 70%);
}

.rk-pow-res-label {
    font-size: 14px;
    color: #cbd5e1;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 5px;
    position: relative;
}

.rk-pow-res-value {
    font-size: 42px;
    font-weight: 900;
    color: #ffffff;
    font-family: monospace;
    position: relative;
}

.rk-pow-conclusion {
    flex: 2;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-pow-conclusion.warning {
    background: #fffbeb;
    border-color: #fef08a;
}

.rk-pow-conclusion.danger {
    background: #fef2f2;
    border-color: #fecaca;
}

.rk-pow-conc-title {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-pow-conclusion p {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.rk-pow-link-inline {
    color: inherit;
    text-decoration: underline;
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-pow-header { padding: 35px 25px; }
    .rk-pow-theory { padding: 30px 20px; }
    .rk-pow-scenarios { padding: 30px 20px; }
    
    .rk-pow-formula { font-size: 16px; flex-direction: column; }
    .rk-pow-legend { grid-template-columns: 1fr; }
    
    /* Na mobile akordeon/przyciski pionowe */
    .rk-pow-tabs { grid-template-columns: 1fr; gap: 10px; }
    .rk-pow-tab { flex-direction: row; padding: 15px; text-align: left; }
    .rk-pow-tab-icon { margin-right: 10px; }
    
    .rk-pow-dashboard { padding: 20px; }
    .rk-pow-params { grid-template-columns: repeat(2, 1fr); }
    .rk-pow-result-area { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-wzor-moc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jak obliczyć moc ogrzewania podłogowego zgodnie z wzorem z PN-EN 1264-2?",
    "description": "Inżynierskie przykłady obliczeniowe mocy podłogówki (W/m2). Interaktywny symulator wpływu rozstawu rur i grubości dywanu na zasilanie pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-moc",
    "name": "Współczynniki korygujące i wydajność cieplna wg PN-EN 1264-2",
    "description": "Zestawienie twardych danych i zmiennych z nomogramów normy wykorzystywanych do precyzyjnego wyznaczania jednostkowego strumienia ciepła (q).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak obliczyć moc ogrzewania podłogowego",
      "wzór na moc podłogówki",
      "rozstaw rur a moc grzewcza",
      "temperatura zasilania podłogówki",
      "wpływ dywanu na ogrzewanie"
    ],
    "measurementTechnique": "Zależności potęgowe z nomogramów normy (wykładnik n=1.1 dla systemów mokrych), oparte na średniej logarytmicznej różnicy temperatur.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wykładnik potęgowy n (systemy mokre) ≈ 1,1",
        "Moc optymalna (płytki, rozstaw 100mm, zasilanie 35C) ≈ 85 W/m²",
        "Moc zaniżona (rozstaw 200mm, zasilanie 35C) ≈ 60 W/m²",
        "Moc krytyczna (dywan R=0.15, rozstaw 100mm) ≈ 45 W/m²"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-symulator-mocy",
    "name": "Symulator Wpływu Rozstawu Rur i Okładziny na Moc",
    "description": "Moduł dydaktyczny pozwalający inwestorowi na przełączanie między 3 scenariuszami obliczeniowymi, aby na żywo zaobserwować zjawisko spadku wydajności podłogówki.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pow-container" id="rk-power-widget">
    <div class="rk-pow-header">
        <div class="rk-pow-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            Fizyka Budowli
        </div>
        <h2>Jak obliczyć moc ogrzewania podłogowego zgodnie z wzorem z PN-EN 1264-2?</h2>
    </div>

    <div class="rk-pow-theory">
        <p>Jednostkową moc cieplną podłogi <strong>q [W/m²]</strong> oblicza się na podstawie matematycznej formy fizykalnego prawa oddawania ciepła, rygorystycznie zdefiniowanego w normie PN-EN 1264-2.</p>
        
        <div class="rk-pow-formula-box">
            <div class="rk-pow-formula">
                q = B × ∏ a<sub>i</sub> × (Δϑ<sub>H</sub>)<sup>n</sup>
            </div>
            <div class="rk-pow-formula" style="color: #94a3b8; font-size: 16px; margin-top: 15px; margin-bottom: 5px;">
                <span>gdzie średnia różnica temperatur:</span>
            </div>
            <div class="rk-pow-formula" style="color: #10b981;">
                Δϑ<sub>H</sub> = [ (ϑ<sub>V</sub> + ϑ<sub>R</sub>) / 2 ] &#8211; ϑ<sub>i</sub>
            </div>

            <div class="rk-pow-legend">
                <div class="rk-pow-legend-item">
                    <span class="rk-pow-legend-symbol">B</span> 
                    Bazowy współczynnik systemowy rury.
                </div>
                <div class="rk-pow-legend-item">
                    <span class="rk-pow-legend-symbol">∏ a<sub>i</sub></span> 
                    Iloczyn korygujący (rozstaw, grubość, opór).
                </div>
                <div class="rk-pow-legend-item">
                    <span class="rk-pow-legend-symbol">n</span> 
                    Wykładnik potęgowy (ok. 1.1 dla wylewek).
                </div>
                <div class="rk-pow-legend-item">
                    <span class="rk-pow-legend-symbol">ϑ<sub>V</sub>/ϑ<sub>R</sub></span> 
                    <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/" style="color: inherit; text-decoration: underline;">Temperatura zasilania</a> i powrotu.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-pow-scenarios">
        <h3 class="rk-pow-scenarios-title">Symulator: 3 Inżynierskie Przykłady Obliczeniowe</h3>
        
        <div class="rk-pow-tabs" id="powTabs">
            <button class="rk-pow-tab active" data-scenario="optymalny">
                <div class="rk-pow-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <span class="rk-pow-tab-title">Układ Optymalny<br>(Płytki + 10cm)</span>
            </button>
            <button class="rk-pow-tab" data-scenario="rzadki">
                <div class="rk-pow-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                </div>
                <span class="rk-pow-tab-title">Zbyt rzadki rozstaw<br>(Rozstaw 20cm)</span>
            </button>
            <button class="rk-pow-tab" data-scenario="izolator">
                <div class="rk-pow-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <span class="rk-pow-tab-title">Krytyczny Dywan<br>(Izolacja R=0.15)</span>
            </button>
        </div>

        <div class="rk-pow-dashboard">
            <h4 class="rk-pow-dash-title" id="pow-dash-title">Układ niskotemperaturowy (Pompa ciepła, płytki ceramiczne)</h4>
            <hr style="border: 0; border-top: 1px solid var(--rk-pow-border); margin: 15px 0 25px;">
            
            <div class="rk-pow-params">
                <div class="rk-pow-param-box">
                    <div class="rk-pow-param-label">T. Zasil/Pow</div>
                    <div class="rk-pow-param-val" id="pow-param-temp">35/30 °C</div>
                </div>
                <div class="rk-pow-param-box">
                    <div class="rk-pow-param-label">Δϑ<sub>H</sub> (Różnica)</div>
                    <div class="rk-pow-param-val" id="pow-param-delta">12.5 K</div>
                </div>
                <div class="rk-pow-param-box">
                    <div class="rk-pow-param-label"><a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" style="color:inherit; text-decoration:none;">Rozstaw Rur</a></div>
                    <div class="rk-pow-param-val" id="pow-param-rozstaw">100 mm</div>
                </div>
                <div class="rk-pow-param-box">
                    <div class="rk-pow-param-label">Opór (R)</div>
                    <div class="rk-pow-param-val" id="pow-param-opor">0.01</div>
                </div>
            </div>

            <div class="rk-pow-result-area">
                <div class="rk-pow-main-result">
                    <div class="rk-pow-res-label">Moc Jednostkowa (q)</div>
                    <div class="rk-pow-res-value" id="pow-res-q">85 W/m²</div>
                </div>
                
                <div class="rk-pow-conclusion" id="pow-conc-box">
                    <div class="rk-pow-conc-title" id="pow-conc-title" style="color: #166534;">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        Stan Idealny
                    </div>
                    <p id="pow-conc-text" style="color: #15803d;">Temperatura powierzchni podłogi osiąga bezpieczne 27,7°C. System w pełni pokrywa standardowe <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/" class="rk-pow-link-inline">zapotrzebowanie na ciepło</a>.</p>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var scenariosData = {
        'optymalny': {
            title: 'Układ niskotemperaturowy (Pompa ciepła, płytki ceramiczne)',
            temp: '35/30 °C',
            delta: '12.5 K',
            rozstaw: '100 mm',
            opor: '0.01',
            q: '85 W/m²',
            concClass: '', // Domyślna zielona
            concTitleColor: '#166534',
            concTextColor: '#15803d',
            icon: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>',
            concTitle: 'Wydajność optymalna',
            concText: 'Temperatura powierzchni podłogi osiąga bezpieczne 27,7°C. Układ idealny do współpracy z pompą ciepła w salonie.'
        },
        'rzadki': {
            title: 'Układ ze zwiększonym rozstawem rur (Salon, pompa ciepła)',
            temp: '35/30 °C',
            delta: '12.5 K',
            rozstaw: '200 mm',
            opor: '0.01',
            q: '60 W/m²',
            concClass: 'warning',
            concTitleColor: '#854d0e',
            concTextColor: '#a16207',
            icon: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>',
            concTitle: 'Ryzyko niedogrzania',
            concText: 'Zwiększenie rozstawu obniża współczynnik korygujący. Jeśli zapotrzebowanie pokoju wynosi 75 W/m², to przy 60 W/m² <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/" class="rk-pow-link-inline">pompa ciepła nie ogrzeje domu</a>.'
        },
        'izolator': {
            title: 'Krytyczny wpływ grubego dywanu (Sypialnia)',
            temp: '35/30 °C',
            delta: '12.5 K',
            rozstaw: '100 mm',
            opor: '0.15',
            q: '45 W/m²',
            concClass: 'danger',
            concTitleColor: '#991b1b',
            concTextColor: '#b91c1c',
            icon: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',
            concTitle: 'Katastrofalny spadek mocy',
            concText: 'Wysoki opór cieplny działa jak izolator. Następuje spadek wydajności o 47%. Aby pokryć straty, instalator musiałby podbić zasilanie do 43°C, niszcząc sprawność (COP) układu.'
        }
    };

    var tabs = document.querySelectorAll('#powTabs .rk-pow-tab');
    
    // Elementy DOM (używamy bezpiecznego przypisania)
    var elTitle = document.getElementById('pow-dash-title');
    var elTemp = document.getElementById('pow-param-temp');
    var elDelta = document.getElementById('pow-param-delta');
    var elRozstaw = document.getElementById('pow-param-rozstaw');
    var elOpor = document.getElementById('pow-param-opor');
    var elQ = document.getElementById('pow-res-q');
    var elConcBox = document.getElementById('pow-conc-box');
    var elConcTitle = document.getElementById('pow-conc-title');
    var elConcText = document.getElementById('pow-conc-text');

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            var scenario = this.getAttribute('data-scenario');
            var data = scenariosData[scenario];

            if (data !== undefined) {
                // Zmiana aktywnych zakładek
                tabs.forEach(function(t) { t.classList.remove('active'); });
                this.classList.add('active');

                // Aktualizacja UI (bez &&)
                if (elTitle !== null) { elTitle.innerHTML = data.title; }
                if (elTemp !== null) { elTemp.innerHTML = data.temp; }
                if (elDelta !== null) { elDelta.innerHTML = data.delta; }
                if (elRozstaw !== null) { elRozstaw.innerHTML = data.rozstaw; }
                if (elOpor !== null) { elOpor.innerHTML = data.opor; }
                if (elQ !== null) { elQ.innerHTML = data.q; }
                
                if (elConcBox !== null) {
                    elConcBox.className = 'rk-pow-conclusion ' + data.concClass;
                }
                
                if (elConcTitle !== null) {
                    elConcTitle.style.color = data.concTitleColor;
                    elConcTitle.innerHTML = data.icon + ' ' + data.concTitle;
                }
                
                if (elConcText !== null) {
                    elConcText.style.color = data.concTextColor;
                    elConcText.innerHTML = data.concText;
                }
            }
        });
    });
});
</script>



<style>
:root {
    --rk-mat-dark: #1e293b;
    --rk-mat-primary: #ea580c; /* Ciepły pomarańczowy */
    --rk-mat-primary-light: #ffedd5;
    --rk-mat-success: #16a34a;
    --rk-mat-warning: #ca8a04;
    --rk-mat-danger: #dc2626;
    --rk-mat-bg: #ffffff;
    --rk-mat-gray: #f8fafc;
    --rk-mat-border: #e2e8f0;
    --rk-mat-text: #334155;
}

.rk-mat-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-mat-bg);
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(234, 88, 12, 0.15);
    border: 1px solid var(--rk-mat-primary);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-mat-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-mat-dark) 0%, #0f172a 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-mat-primary);
}

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

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

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

/* Zawartość - Układ Jednokolumnowy (Kafelki na górze, wynik pod spodem) */
.rk-mat-content {
    padding: 40px 50px;
    background: var(--rk-mat-gray);
}

/* Siatka Kafelków (Materiałów) */
.rk-mat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-mat-card {
    background: #ffffff;
    border: 2px solid var(--rk-mat-border);
    border-radius: 16px;
    padding: 20px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.rk-mat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: transparent;
    transition: background 0.3s;
}

.rk-mat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.05);
    border-color: #fed7aa;
}

.rk-mat-card.active {
    border-color: var(--rk-mat-primary);
    background: var(--rk-mat-primary-light);
    box-shadow: 0 10px 25px -5px rgba(234, 88, 12, 0.2);
    transform: translateY(-4px);
}

.rk-mat-card.active::before {
    background: var(--rk-mat-primary);
}

.rk-mat-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 15px auto;
    color: #94a3b8;
    transition: color 0.3s;
}

.rk-mat-card.active .rk-mat-icon {
    color: var(--rk-mat-primary);
}

.rk-mat-card h3 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-mat-dark);
    margin: 0;
    line-height: 1.3;
}

/* Panel Dynamicznych Wyników */
.rk-mat-result-panel {
    background: #ffffff;
    border: 1px solid var(--rk-mat-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-mat-res-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--rk-mat-border);
}

.rk-mat-res-title {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-mat-dark);
    margin: 0 0 5px 0;
}

.rk-mat-res-subtitle {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-mat-text);
}

.rk-mat-res-badge {
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Detale Techniczne */
.rk-mat-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.rk-mat-stat {
    background: var(--rk-mat-gray);
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-mat-border);
}

.rk-mat-stat-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: #64748b;
    margin-bottom: 5px;
}

.rk-mat-stat-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-mat-dark);
    font-family: monospace;
}

/* Suwak Termiczny (Wizualizacja) */
.rk-mat-gauge-container {
    margin-top: 20px;
}

.rk-mat-gauge-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 10px;
    color: var(--rk-mat-text);
}

.rk-mat-gauge-track {
    width: 100%;
    height: 16px;
    background: linear-gradient(to right, #22c55e 10%, #eab308 40%, #ea580c 70%, #dc2626 90%);
    border-radius: 999px;
    position: relative;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.rk-mat-gauge-limit {
    position: absolute;
    top: -5px;
    bottom: -5px;
    left: 75%; /* Odpowiada wartości 0.15 w naszej skali 0-0.20 */
    width: 3px;
    background: #0f172a;
    z-index: 2;
}

.rk-mat-gauge-limit::after {
    content: 'Limit 0,15';
    position: absolute;
    top: -22px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 11px;
    font-weight: 800;
    color: #0f172a;
    white-space: nowrap;
}

.rk-mat-gauge-marker {
    position: absolute;
    top: 50%;
    left: 4%; /* Start position */
    width: 24px;
    height: 24px;
    background: #ffffff;
    border: 4px solid var(--rk-mat-dark);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: left 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 3;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}

/* Ostrzeżenie */
.rk-mat-alert-box {
    margin-top: 30px;
    padding: 20px;
    background: #fef2f2;
    border-left: 5px solid var(--rk-mat-danger);
    border-radius: 0 12px 12px 0;
}

.rk-mat-alert-box p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #991b1b;
    font-weight: 600;
}

.rk-mat-alert-box strong {
    color: #7f1d1d;
    font-weight: 900;
}

/* Tagi Długi Ogon */
.rk-mat-tags-wrapper {
    padding: 25px 50px 40px;
    background: var(--rk-mat-bg);
    border-top: 1px solid var(--rk-mat-border);
}

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

.rk-mat-tag {
    background: var(--rk-mat-gray);
    color: var(--rk-mat-text);
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid var(--rk-mat-border);
    transition: all 0.2s;
    text-decoration: none;
}

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

@media (max-width: 768px) {
    .rk-mat-header { padding: 35px 25px; }
    .rk-mat-header h2 { font-size: 24px; }
    .rk-mat-content { padding: 25px; }
    
    /* Mobilnie kafelki jeden pod drugim (wymóg z promptu) */
    .rk-mat-grid { grid-template-columns: 1fr; gap: 10px; }
    .rk-mat-card { padding: 15px; display: flex; align-items: center; gap: 15px; text-align: left; }
    .rk-mat-icon { margin: 0; width: 36px; height: 36px; }
    
    .rk-mat-result-panel { padding: 20px; }
    .rk-mat-res-header { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-mat-details { grid-template-columns: 1fr; gap: 10px; }
    .rk-mat-tags-wrapper { padding: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-opor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jak opór cieplny materiałów wykończeniowych wpływa na wydajność podłogówki?",
    "description": "Zgodnie z normą PN-EN 1264-3 limit oporu to 0,15 m²K/W. Zobacz tabelę i interaktywny symulator porównujący płytki, panele i parkiet na ogrzewaniu podłogowym.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-materialy",
    "name": "Tabela Oporu Cieplnego Okładzin Posadzkowych (PN-EN 1264)",
    "description": "Dane fizyczne materiałów wykończeniowych niezbędne do poprawnego obliczenia zładu i mocy instalacji ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opór cieplny materiałów wykończeniowych",
      "panele a ogrzewanie podłogowe",
      "r lambda posadzki",
      "płytki czy panele na podłogówkę",
      "parkiet a podłogówka"
    ],
    "measurementTechnique": "Wartości przewodności cieplnej (lambda) oraz oporu (R) określone na podstawie grubości materiału wg wytycznych normatywnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Płytki gresowe: Grubość 10mm, Lambda 1.30, Opór 0.008 m²K/W",
        "Panele laminowane: Grubość 8mm, Lambda 0.14, Opór 0.057 m²K/W",
        "Parkiet dębowy: Grubość 15mm, Lambda 0.18, Opór 0.083 m²K/W",
        "Wykładzina gruba: Grubość 12mm, Lambda 0.06, Opór 0.200 m²K/W"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-symulator-okladzin",
    "name": "Symulator Przepustowości Cieplnej Posadzki",
    "description": "Aplikacja wizualizująca wpływ wybranego materiału posadzkowego na tłumienie strumienia cieplnego w odniesieniu do granicy normatywnej 0,15 m²K/W.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-mat-container" id="rk-materialy-widget">
    <div class="rk-mat-header">
        <div class="rk-mat-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Termodynamika Posadzki
        </div>
        <h2>Jak opór cieplny materiałów wykończeniowych wpływa na wydajność podłogówki?</h2>
        <p>Wartość oporu cieplnego (R<sub>λ,B</sub>) to fizyczna bariera dla strumienia ciepła. Zgodnie z normą <strong>PN-EN 1264-3</strong>, maksymalny opór warstwy użytkowej podłogi nie może przekraczać <strong>0,15 m²K/W</strong>. Wybierz materiał i zobacz, jak blokuje on ciepło z rur.</p>
    </div>

    <div class="rk-mat-content">
        <div class="rk-mat-grid">
            <div class="rk-mat-card active" data-mat="plytki">
                <svg class="rk-mat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect></svg>
                <h3>Płytki / Gres</h3>
            </div>
            <div class="rk-mat-card" data-mat="panele">
                <svg class="rk-mat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="6" width="20" height="4" rx="1"></rect><rect x="2" y="14" width="20" height="4" rx="1"></rect></svg>
                <h3>Panele dedykowane</h3>
            </div>
            <div class="rk-mat-card" data-mat="parkiet">
                <svg class="rk-mat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4h16v16H4z"></path><path d="M4 12h16"></path><path d="M12 4v16"></path><path d="M8 4v8"></path><path d="M16 12v8"></path></svg>
                <h3>Parkiet dębowy</h3>
            </div>
            <div class="rk-mat-card" data-mat="dywan">
                <svg class="rk-mat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="4" width="20" height="16" rx="2"></rect><path d="M6 8h12"></path><path d="M6 12h12"></path><path d="M6 16h12"></path></svg>
                <h3>Gruby dywan</h3>
            </div>
        </div>

        <div class="rk-mat-result-panel">
            <div class="rk-mat-res-header">
                <div>
                    <h3 class="rk-mat-res-title" id="mat-title">Płytki gresowe / marmur</h3>
                    <div class="rk-mat-res-subtitle" id="mat-desc">Optymalny (brak tłumienia strumienia)</div>
                </div>
                <div class="rk-mat-res-badge" id="mat-badge" style="background: #dcfce7; color: #166534; border: 1px solid #22c55e;">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Idealne dla pompy ciepła
                </div>
            </div>

            <div class="rk-mat-details">
                <div class="rk-mat-stat">
                    <div class="rk-mat-stat-label">Grubość</div>
                    <div class="rk-mat-stat-val" id="mat-thick">10 mm</div>
                </div>
                <div class="rk-mat-stat">
                    <div class="rk-mat-stat-label">Przewodność (λ)</div>
                    <div class="rk-mat-stat-val" id="mat-lambda">1.30</div>
                </div>
                <div class="rk-mat-stat" style="background: #f1f5f9; border-color: #cbd5e1;">
                    <div class="rk-mat-stat-label">Opór Cieplny (R)</div>
                    <div class="rk-mat-stat-val" id="mat-r" style="color: var(--rk-mat-primary);">0.008</div>
                </div>
            </div>

            <div class="rk-mat-gauge-container">
                <div class="rk-mat-gauge-label">
                    <span>Przepływ Swobodny (0.00)</span>
                    <span>Całkowita Blokada (0.20+)</span>
                </div>
                <div class="rk-mat-gauge-track">
                    <div class="rk-mat-gauge-limit"></div>
                    <div class="rk-mat-gauge-marker" id="mat-marker" style="left: 4%;"></div>
                </div>
            </div>
        </div>

        <div class="rk-mat-alert-box">
            <p><strong>Uwaga inżynierska!</strong> Ignorowanie tych wartości na etapie projektu i <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">zmiana płytek na parkiet w trakcie budowy</a> prowadzi do trwałego niedogrzania strefy mieszkalnej. Projektant musi bezwzględnie otrzymać od inwestora deklarację o planowanych materiałach przed uruchomieniem obliczeń hydraulicznych.</p>
        </div>
    </div>

    <div class="rk-mat-tags-wrapper">
        <div class="rk-mat-tags">
            <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-mat-tag"># opór cieplny materiałów wykończeniowych</a>
            <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/" class="rk-mat-tag"># panele a ogrzewanie podłogowe</a>
            <a href="#" class="rk-mat-tag"># r lambda posadzki</a>
            <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/" class="rk-mat-tag"># płytki czy panele na podłogówkę</a>
            <a href="#" class="rk-mat-tag"># grubość paneli na ogrzewanie</a>
            <a href="https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/" class="rk-mat-tag"># parkiet a podłogówka</a>
            <a href="#" class="rk-mat-tag"># dywan na ogrzewaniu podłogowym</a>
            <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/" class="rk-mat-tag"># straty ciepła przez podłogę</a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Dane z tabeli PN-EN 1264-3
    var matData = {
        'plytki': {
            title: 'Płytki gresowe / marmur',
            desc: 'Optymalny (brak tłumienia strumienia)',
            thick: '10 mm',
            lambda: '1.30',
            r: '0.008',
            pos: '4%', // 0.008 / 0.200 = 4%
            badgeText: 'Idealne dla pompy ciepła',
            badgeBg: '#dcfce7',
            badgeColor: '#166534',
            badgeBorder: '#22c55e',
            icon: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>'
        },
        'panele': {
            title: 'Panele laminowane dedykowane',
            desc: 'Średni (wymaga korekty rozstawu rur)',
            thick: '8 mm',
            lambda: '0.14',
            r: '0.057',
            pos: '28.5%', // 0.057 / 0.200
            badgeText: 'Wymaga gęstszego rozstawu',
            badgeBg: '#fef9c3',
            badgeColor: '#854d0e',
            badgeBorder: '#eab308',
            icon: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>'
        },
        'parkiet': {
            title: 'Parkiet dębowy klejony',
            desc: 'Wysoki (wymaga wyższej temp. zasilania)',
            thick: '15 mm',
            lambda: '0.18',
            r: '0.083',
            pos: '41.5%', // 0.083 / 0.200
            badgeText: 'Spadek COP pompy ciepła',
            badgeBg: '#ffedd5',
            badgeColor: '#c2410c',
            badgeBorder: '#f97316',
            icon: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>'
        },
        'dywan': {
            title: 'Wykładzina dywanowa gruba',
            desc: 'Niedopuszczalny (całkowita blokada cieplna)',
            thick: '12 mm',
            lambda: '0.06',
            r: '0.200',
            pos: '96%', // Max on gauge
            badgeText: 'Przekroczony limit normy!',
            badgeBg: '#fef2f2',
            badgeColor: '#991b1b',
            badgeBorder: '#dc2626',
            icon: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>'
        }
    };

    var cards = document.querySelectorAll('.rk-mat-card');
    
    // Pola do aktualizacji
    var elTitle = document.getElementById('mat-title');
    var elDesc = document.getElementById('mat-desc');
    var elThick = document.getElementById('mat-thick');
    var elLambda = document.getElementById('mat-lambda');
    var elR = document.getElementById('mat-r');
    var elBadge = document.getElementById('mat-badge');
    var elMarker = document.getElementById('mat-marker');

    cards.forEach(function(card) {
        card.addEventListener('click', function() {
            // Zmiana aktywnego kafelka
            cards.forEach(function(c) { c.classList.remove('active'); });
            this.classList.add('active');

            // Pobranie klucza materiału
            var matKey = this.getAttribute('data-mat');
            var d = matData[matKey];

            if (d !== undefined) {
                // Aktualizacja tekstów
                elTitle.textContent = d.title;
                elDesc.textContent = d.desc;
                elThick.textContent = d.thick;
                elLambda.textContent = d.lambda;
                elR.textContent = d.r;
                
                // Aktualizacja odznaki (badge)
                elBadge.innerHTML = d.icon + ' ' + d.badgeText;
                elBadge.style.background = d.badgeBg;
                elBadge.style.color = d.badgeColor;
                elBadge.style.borderColor = d.badgeBorder;

                // Animacja suwaka (unikamy przekroczenia 100%)
                elMarker.style.left = d.pos;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-algo-dark: #0f172a;
    --rk-algo-blue: #0284c7;
    --rk-algo-blue-bg: #e0f2fe;
    --rk-algo-accent: #f97316;
    --rk-algo-accent-bg: #ffedd5;
    --rk-algo-border: #e2e8f0;
    --rk-algo-text: #334155;
    --rk-algo-bg: #ffffff;
    --rk-algo-gray: #f8fafc;
}

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

/* Sekcja Nagłówkowa */
.rk-algo-header {
    padding: 40px 50px;
    background: var(--rk-algo-dark);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-algo-accent);
}

.rk-algo-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(249, 115, 22, 0.2);
    color: #fdba74;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(253, 186, 116, 0.3);
}

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

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

/* Moduł Interaktywnego Kalkulatora */
.rk-algo-calculator {
    padding: 40px 50px;
    background: var(--rk-algo-gray);
    border-bottom: 1px solid var(--rk-algo-border);
}

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

.rk-algo-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-bottom: 35px;
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-algo-border);
}

.rk-algo-control-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-algo-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-algo-text);
    display: flex;
    justify-content: space-between;
}

.rk-algo-label-val {
    color: var(--rk-algo-blue);
    font-size: 16px;
    font-weight: 900;
}

.rk-algo-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: var(--rk-algo-border);
    outline: none;
}

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

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

/* Wyniki na żywo */
.rk-algo-results {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-algo-result-card {
    background: #ffffff;
    border: 2px solid var(--rk-algo-border);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s;
}

.rk-algo-result-card.primary {
    border-color: var(--rk-algo-blue);
    background: var(--rk-algo-blue-bg);
}

.rk-algo-result-card.accent {
    border-color: var(--rk-algo-accent);
    background: var(--rk-algo-accent-bg);
}

.rk-algo-res-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-algo-text);
}

.rk-algo-res-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-algo-dark);
    font-family: monospace;
}

.rk-algo-result-card.primary .rk-algo-res-val { color: var(--rk-algo-blue); }
.rk-algo-result-card.accent .rk-algo-res-val { color: var(--rk-algo-accent); }

/* Akordeon Teoretyczny */
.rk-algo-theory {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-algo-theory h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-algo-dark);
    margin: 0 0 25px 0;
}

.rk-algo-step {
    border: 1px solid var(--rk-algo-border);
    border-radius: 12px;
    margin-bottom: 15px;
    overflow: hidden;
}

.rk-algo-step-btn {
    width: 100%;
    text-align: left;
    padding: 20px 25px;
    background: #ffffff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-algo-dark);
    transition: background 0.3s;
}

.rk-algo-step-btn:hover { background: var(--rk-algo-gray); }

.rk-algo-step-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-algo-blue);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.rk-algo-step-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    background: var(--rk-algo-gray);
}

.rk-algo-step-inner {
    padding: 20px 25px;
    border-top: 1px solid var(--rk-algo-border);
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-algo-text);
}

.rk-algo-formula {
    background: var(--rk-algo-dark);
    color: #f8fafc;
    padding: 15px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 16px;
    text-align: center;
    margin: 15px 0;
    letter-spacing: 1px;
}

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

@media (max-width: 768px) {
    .rk-algo-header, .rk-algo-calculator, .rk-algo-theory { padding: 30px 20px; }
    .rk-algo-header h2 { font-size: 24px; }
    .rk-algo-controls { padding: 15px; }
    .rk-algo-result-card { flex-direction: column; align-items: flex-start; gap: 10px; padding: 15px; }
    .rk-algo-step-btn { padding: 15px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-algorytm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Algorytm obliczeniowy doboru parametrów instalacji według normy PN-EN 1264",
    "description": "Zrozum twarde zasady fizyki stojące za podłogówką. Interaktywny symulator obliczający moc pętli, przepływ masowy i nastawy rotametrów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-algorytm",
    "name": "Zestawienie parametrów hydraulicznych PN-EN 1264",
    "description": "Zbiór danych i zmiennych wykorzystywanych do obliczania oporów, przepływu i mocy grzewczej pojedynczych pętli wodnego ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "algorytm ogrzewania podłogowego",
      "przepływ masowy podłogówka",
      "ustawienia rotametrów przepływ",
      "straty ciśnienia pompy obiegowej",
      "ciepło właściwe wody ogrzewanie"
    ],
    "measurementTechnique": "Obliczenia inżynieryjne wykorzystujące stałe fizyczne (np. ciepło właściwe wody 1,163 Wh/(kg·K)) oraz zmienne wejściowe z projektowego obciążenia cieplnego (OZC).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Współczynnik bezpieczeństwa strat w dół: 1,15",
        "Ciepło właściwe czynnika (woda): 1,163 Wh/(kg·K)",
        "Dopuszczalna prędkość przepływu: 0,2 - 0,5 m/s",
        "Limit oporów pętli rury 16mm: ~20 kPa"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-kalkulator-przeplywu",
    "name": "Kalkulator Przepływu Pętli Ogrzewania Podłogowego",
    "description": "Interaktywny widget obliczający w czasie rzeczywistym wymaganą moc pętli, przepływ w kg/h oraz nastawę rotametru w l/min na podstawie wprowadzonych strat cieplnych.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-algo-container">
    <div class="rk-algo-header">
        <div class="rk-algo-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="4 14 10 14 10 20"></polyline><polyline points="20 10 14 10 14 4"></polyline><line x1="14" y1="10" x2="21" y2="3"></line><line x1="3" y1="21" x2="10" y2="14"></line></svg>
            Inżynieria Obliczeniowa
        </div>
        <h2>Algorytm obliczeniowy doboru parametrów instalacji według normy PN-EN 1264</h2>
        <p>Precyzyjne wyznaczenie przepływów i strat ciśnienia to fundament, na którym opiera się komfort cieplny. Zobacz, jak wyliczenia na papierze przekładają się na fizyczne działanie Twojej instalacji.</p>
    </div>

    <div class="rk-algo-calculator">
        <h3 class="rk-algo-calc-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-algo-blue)" stroke-width="2.5"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
            Symulator Nastaw Rotametru (Live)
        </h3>
        
        <div class="rk-algo-controls">
            <div class="rk-algo-control-group">
                <div class="rk-algo-label">
                    <span>Straty Ciepła Pomieszczenia (Q OZC)</span>
                    <span class="rk-algo-label-val" id="val-qozc">800 W</span>
                </div>
                <input type="range" id="slider-qozc" class="rk-algo-slider" min="200" max="2500" step="50" value="800">
            </div>
            
            <div class="rk-algo-control-group">
                <div class="rk-algo-label">
                    <span>Spadek temperatury wody (ΔT)</span>
                    <span class="rk-algo-label-val" id="val-dt">5 K</span>
                </div>
                <input type="range" id="slider-dt" class="rk-algo-slider" min="3" max="10" step="1" value="5">
            </div>
        </div>

        <div class="rk-algo-results">
            <div class="rk-algo-result-card">
                <span class="rk-algo-res-label">Całkowita moc pętli (Q_obl):</span>
                <span class="rk-algo-res-val" id="out-qobl">920 W</span>
            </div>
            <div class="rk-algo-result-card primary">
                <span class="rk-algo-res-label">Przepływ masowy czynnika (m):</span>
                <span class="rk-algo-res-val" id="out-m">158.21 kg/h</span>
            </div>
            <div class="rk-algo-result-card accent">
                <span class="rk-algo-res-label">Wynik do ustawienia na rotametrze (G):</span>
                <span class="rk-algo-res-val" id="out-g">2.64 l/min</span>
            </div>
        </div>
    </div>

    <div class="rk-algo-theory">
        <h3>Ścieżka matematyczna krok po kroku</h3>
        
        <div class="rk-algo-step">
            <button class="rk-algo-step-btn">
                <div class="rk-algo-step-num">1</div>
                Wyznaczenie całkowitej mocy cieplnej pętli (Q_obl)
            </button>
            <div class="rk-algo-step-content">
                <div class="rk-algo-step-inner">
                    <p>Obliczamy rzeczywistą moc, jaką musi dostarczyć układ, wykorzystując wyniki z <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">kalkulatora strat ciepła OZC</a>. Obowiązkowo dodajemy współczynnik bezpieczeństwa (1,15), który rekompensuje straty ciepła uciekającego w dół posadzki.</p>
                    <div class="rk-algo-formula">Q_obl = Q_OZC × 1,15</div>
                </div>
            </div>
        </div>

        <div class="rk-algo-step">
            <button class="rk-algo-step-btn">
                <div class="rk-algo-step-num">2</div>
                Obliczenie wymaganego przepływu masowego (m)
            </button>
            <div class="rk-algo-step-content">
                <div class="rk-algo-step-inner">
                    <p>Wiedząc, ile watów musimy dostarczyć, wyliczamy masę wody. Bierzemy pod uwagę ciepło właściwe wody (c_w = 1,163 Wh/(kg·K)) oraz założony projektowy <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">spadek temperatury (ΔT)</a> na pętli.</p>
                    <div class="rk-algo-formula">m = Q_obl / (c_w · ΔT)</div>
                    <p>Wartość w kg/h dzielimy przez 60, by uzyskać litry na minutę – jednostkę czytelną dla instalatora na rotametrze w rozdzielaczu.</p>
                </div>
            </div>
        </div>

        <div class="rk-algo-step">
            <button class="rk-algo-step-btn">
                <div class="rk-algo-step-num">3</div>
                Wyznaczenie liniowych strat ciśnienia pętli (Δp_l)
            </button>
            <div class="rk-algo-step-content">
                <div class="rk-algo-step-inner">
                    <p>Straty ciśnienia determinują ostateczny dobór pompy obiegowej. Obliczamy jednostkowe opory tarcia rury (R), całkowitą <a href="https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/">długość przewodu grzewczego (L)</a> i doliczamy współczynniki miejscowe (kolana, zwężki).</p>
                    <div class="rk-algo-formula">Δp_l = R · L + Σξ · (ρ · v²) / 2</div>
                    <p>Zasada twarda normy: Jeśli pętla (rura 16 mm) przekracza barierę 100 metrów, generuje opory pow. 20 kPa. W takim wypadku algorytm nakazuje podział pokoju na dwa niezależne obwody grzewcze, ratując pompę przed przeciążeniem.</p>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Logika Kalkulatora
    var sliderQozc = document.getElementById('slider-qozc');
    var sliderDt = document.getElementById('slider-dt');
    
    var valQozc = document.getElementById('val-qozc');
    var valDt = document.getElementById('val-dt');
    
    var outQobl = document.getElementById('out-qobl');
    var outM = document.getElementById('out-m');
    var outG = document.getElementById('out-g');

    function calculate() {
        var q_ozc = parseFloat(sliderQozc.value);
        var delta_t = parseFloat(sliderDt.value);

        // Update Labels
        valQozc.textContent = q_ozc + ' W';
        valDt.textContent = delta_t + ' K';

        // Math
        var q_obl = q_ozc * 1.15;
        var cw = 1.163;
        var m_kg = q_obl / (cw * delta_t);
        var g_lmin = m_kg / 60;

        // Output formatting
        outQobl.textContent = Math.round(q_obl) + ' W';
        outM.textContent = m_kg.toFixed(2) + ' kg/h';
        outG.textContent = g_lmin.toFixed(2) + ' l/min';
    }

    sliderQozc.addEventListener('input', calculate);
    sliderDt.addEventListener('input', calculate);
    
    // Inicjalizacja kalkulatora
    calculate();

    // Logika Akordeonu
    var steps = document.querySelectorAll('.rk-algo-step');

    steps.forEach(function(step) {
        var btn = step.querySelector('.rk-algo-step-btn');
        var content = step.querySelector('.rk-algo-step-content');

        btn.addEventListener('click', function() {
            var isOpen = content.style.maxHeight;

            // Zamykanie innych
            steps.forEach(function(s) {
                s.querySelector('.rk-algo-step-content').style.maxHeight = null;
            });

            // Otwieranie aktualnego (bezpieczny kod logiczny)
            if (!isOpen) {
                content.style.maxHeight = content.scrollHeight + "px";
            }
        });
    });
    
    // Otwórz pierwszy element po załadowaniu
    if (steps.length > 0) {
        var firstContent = steps[0].querySelector('.rk-algo-step-content');
        if (firstContent !== null) {
            firstContent.style.maxHeight = firstContent.scrollHeight + "px";
        }
    }
});
</script>



<style>
:root {
    --rk-wyl-dark: #0f172a;
    --rk-wyl-primary: #4f46e5;
    --rk-wyl-primary-light: #e0e7ff;
    --rk-wyl-success: #16a34a;
    --rk-wyl-success-bg: #dcfce7;
    --rk-wyl-danger: #dc2626;
    --rk-wyl-danger-bg: #fee2e2;
    --rk-wyl-bg: #ffffff;
    --rk-wyl-border: #e2e8f0;
    --rk-wyl-text: #334155;
    --rk-wyl-text-muted: #64748b;
}

.rk-wyl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-wyl-bg);
    border-radius: 20px;
    box-shadow: 0 15px 35px -5px rgba(79, 70, 229, 0.15);
    border: 1px solid var(--rk-wyl-primary);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-wyl-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-wyl-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-wyl-primary);
    text-align: center;
}

.rk-wyl-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(79, 70, 229, 0.3);
    color: #818cf8;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(129, 140, 248, 0.2);
}

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

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

/* Układ Jednokolumnowy (Zgodnie z wytycznymi) */
.rk-wyl-content {
    padding: 40px 50px;
    background: #f8fafc;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Interaktywna Karta Weryfikacyjna */
.rk-wyl-card {
    background: var(--rk-wyl-bg);
    border: 1px solid var(--rk-wyl-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
}

.rk-wyl-card:hover {
    border-color: #c7d2fe;
    box-shadow: 0 10px 25px -5px rgba(79, 70, 229, 0.1);
}

.rk-wyl-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-wyl-border);
}

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

.rk-wyl-card-icon {
    width: 36px;
    height: 36px;
    background: var(--rk-wyl-primary-light);
    color: var(--rk-wyl-primary);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Elementy Switch / Suwaka */
.rk-wyl-switch-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f1f5f9;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid var(--rk-wyl-border);
}

.rk-wyl-switch-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-wyl-text-muted);
    transition: color 0.3s;
}

.rk-wyl-switch-label.active {
    color: var(--rk-wyl-dark);
}

.rk-wyl-switch {
    position: relative;
    width: 44px;
    height: 24px;
    background: var(--rk-wyl-danger);
    border-radius: 24px;
    cursor: pointer;
    transition: background 0.3s;
}

.rk-wyl-switch.active {
    background: var(--rk-wyl-success);
}

.rk-wyl-switch-knob {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background: #ffffff;
    border-radius: 50%;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.rk-wyl-switch.active .rk-wyl-switch-knob {
    transform: translateX(20px);
}

/* Zawartość Karty (Dynamiczna) */
.rk-wyl-view {
    display: none;
    animation: fadeView 0.4s ease;
}

.rk-wyl-view.active {
    display: block;
}

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

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

.rk-wyl-view a {
    color: var(--rk-wyl-primary);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-wyl-list {
    margin: 0 0 15px 0;
    padding: 0;
    list-style: none;
}

.rk-wyl-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--rk-wyl-text);
    font-weight: 600;
}

.rk-wyl-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: cover;
}

.rk-wyl-alert {
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-wyl-alert.danger {
    background: var(--rk-wyl-danger-bg);
    color: #991b1b;
    border-left: 4px solid var(--rk-wyl-danger);
}

.rk-wyl-alert.success {
    background: var(--rk-wyl-success-bg);
    color: #166534;
    border-left: 4px solid var(--rk-wyl-success);
}

@media (max-width: 768px) {
    .rk-wyl-header { padding: 35px 25px; }
    .rk-wyl-header h2 { font-size: 24px; }
    .rk-wyl-content { padding: 30px 20px; }
    .rk-wyl-card { padding: 20px; }
    .rk-wyl-card-header { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-wyl-switch-wrapper { align-self: flex-start; width: 100%; justify-content: space-between; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-wytyczne-montazowe",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jak wytyczne montażowe PN-EN 1264-4 wpływają na wykonanie wylewki i dylatacji?",
    "description": "Zasady izolacji stropu, grubość wylewki (45 mm dla betonu) i taśmy brzegowe. Zobacz, jak norma chroni przed pękaniem posadzki z ogrzewaniem podłogowym.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-wylewki",
    "name": "Zestawienie wymiarów i limitów dylatacyjnych wylewek grzewczych",
    "description": "Dokładne parametry techniczne dotyczące grubości jastrychu betonowego i anhydrytowego, ciśnień kontrolnych oraz oporów cieplnych izolacji EPS/XPS.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "grubość wylewki na ogrzewanie podłogowe",
      "dylatacje w podłogówce",
      "izolacja brzegowa ogrzewania",
      "próba szczelności podłogówki ciśnienie",
      "jastrych grzewczy norma"
    ],
    "measurementTechnique": "Wymogi minimalne oraz graniczne określone w Części 4 normy (wartości w [mm], [bar] oraz [m2K/W]).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Opór cieplny nad nieogrzewanym: R >= 2,25 m²K/W",
        "Minimalna grubość taśmy brzegowej: 8 mm",
        "Maksymalna powierzchnia pola dylatacyjnego: 40 m²",
        "Długość rury ochronnej (peszla) na dylatacji: 40 cm",
        "Ciśnienie podczas betonowania: min. 3 bar",
        "Wylewka cementowa nad rurą: min. 45 mm"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-wylewki",
    "name": "Symulator Poprawności Wylewki i Dylatacji",
    "description": "Narzędzie interaktywne typu switch (suwak) demonstrujące różnice i zagrożenia pomiędzy amatorskim układaniem styropianu/betonu, a reżimem normy PN-EN 1264-4.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-wyl-container" id="rk-wylewki-widget">
    <div class="rk-wyl-header">
        <div class="rk-wyl-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
            Ordynans Wykonawczy
        </div>
        <h2>Jak wytyczne montażowe PN-EN 1264-4 wpływają na wykonanie wylewki i dylatacji?</h2>
        <p>Część czwarta normy to bezpośredni przewodnik dla instalatora. Definiuje ona surowe kryteria fizyczne, które muszą być spełnione przed, w trakcie i po zalaniu rur jastrychem grzewczym.</p>
    </div>

    <div class="rk-wyl-content">
        
        <div class="rk-wyl-card">
            <div class="rk-wyl-card-header">
                <h3>
                    <div class="rk-wyl-card-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
                    </div>
                    Wymagania dla izolacji termicznej
                </h3>
                <div class="rk-wyl-switch-wrapper">
                    <span class="rk-wyl-switch-label active" data-state="amator">Na Oko</span>
                    <div class="rk-wyl-switch" data-target="izolacja">
                        <div class="rk-wyl-switch-knob"></div>
                    </div>
                    <span class="rk-wyl-switch-label" data-state="norma">Norma</span>
                </div>
            </div>
            
            <div id="izolacja-amator" class="rk-wyl-view active">
                <p>Użycie losowej warstwy styropianu bez analizy oporu cieplnego. Często prowadzi do strat energii uciekającej do gruntu zamiast do pomieszczenia.</p>
                <div class="rk-wyl-alert danger">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Zbyt cienka izolacja = grzanie sufitu sąsiada lub ziemi pod domem.
                </div>
            </div>

            <div id="izolacja-norma" class="rk-wyl-view">
                <p>Norma bezwzględnie nakazuje stosowanie warstw izolacji o minimalnym oporze cieplnym <strong>R</strong>. Sprawdź dokładnie, <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">ile styropianu zastosować</a>, bazując na twardych wyliczeniach:</p>
                <ul class="rk-wyl-list">
                    <li>Nad pomieszczeniem ogrzewanym: R ≥ 1,25 m²K/W</li>
                    <li>Nad pomieszczeniem nieogrzewanym lub bezpośrednio na gruncie: R ≥ 2,25 m²K/W</li>
                </ul>
                <div class="rk-wyl-alert success">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Ciepło emitowane jest w 100% kierunkowo do wnętrza pomieszczenia.
                </div>
            </div>
        </div>

        <div class="rk-wyl-card">
            <div class="rk-wyl-card-header">
                <h3>
                    <div class="rk-wyl-card-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="9" y1="15" x2="15" y2="15"></line></svg>
                    </div>
                    Szczeliny dylatacyjne i brzegowe
                </h3>
                <div class="rk-wyl-switch-wrapper">
                    <span class="rk-wyl-switch-label active" data-state="amator">Na Oko</span>
                    <div class="rk-wyl-switch" data-target="dylatacje">
                        <div class="rk-wyl-switch-knob"></div>
                    </div>
                    <span class="rk-wyl-switch-label" data-state="norma">Norma</span>
                </div>
            </div>
            
            <div id="dylatacje-amator" class="rk-wyl-view active">
                <p>Brak wklejania cienkiej taśmy i rozlewanie betonu w olbrzymich salonach jako jedna wielka płyta. Rury przechodzące przez progi układane są „gołe” bezpośrednio w zaprawie.</p>
                <div class="rk-wyl-alert danger">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Gwarantowane pęknięcia jastrychu ściętego u progu drzwi.
                </div>
            </div>

            <div id="dylatacje-norma" class="rk-wyl-view">
                <p>Jastrych rozszerza się liniowo pod wpływem temperatury. Prawidłowa <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacja obwodowa (taśma minimum 8 mm)</a> musi oddzielać płytę od ścian. Ponadto normatywne dylatacje dzieli się, gdy:</p>
                <ul class="rk-wyl-list">
                    <li>Powierzchnia pola przekracza 40 m².</li>
                    <li>Długość boku wylewki przekracza 8 metrów.</li>
                    <li>Stosunek boków jest większy niż 2:1 (wąskie, długie korytarze).</li>
                </ul>
                <p>Przejścia rur przez szczeliny muszą być chronione peszlami (rurami ochronnymi) o długości minimum 40 cm (po 20 cm w każdym kierunku).</p>
                <div class="rk-wyl-alert success">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Bezpieczna posadzka pracująca bez pękania płytek i fug.
                </div>
            </div>
        </div>

        <div class="rk-wyl-card">
            <div class="rk-wyl-card-header">
                <h3>
                    <div class="rk-wyl-card-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg>
                    </div>
                    Grubość jastrychu i próba szczelności
                </h3>
                <div class="rk-wyl-switch-wrapper">
                    <span class="rk-wyl-switch-label active" data-state="amator">Na Oko</span>
                    <div class="rk-wyl-switch" data-target="cisnienie">
                        <div class="rk-wyl-switch-knob"></div>
                    </div>
                    <span class="rk-wyl-switch-label" data-state="norma">Norma</span>
                </div>
            </div>
            
            <div id="cisnienie-amator" class="rk-wyl-view active">
                <p>Zalewanie układu bez wody w rurach. Operator pompy do betonu (tzw. miksokreta) stąpa po nienaprężonych, pustych przewodach. Grubość zaniżana pod wymiary starych futryn.</p>
                <div class="rk-wyl-alert danger">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Ryzyko zmiażdżenia rury łopatą i zalania budynku!
                </div>
            </div>

            <div id="cisnienie-norma" class="rk-wyl-view">
                <p>Zanim zalejesz beton, musisz wykonać <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">hydrauliczną próbę ciśnieniową na poziomie 6 bar</a> przez 30 minut. Norma nakazuje utrzymywanie instalacji pod napięciem (min. 3 bar) w trakcie lania betonu.</p>
                <p>Dbając o obciążenia, upewnij się o prawidłowej <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">grubości wylewki na ogrzewanie podłogowe</a> (wartości mierzone nad wierzchem rury):</p>
                <ul class="rk-wyl-list">
                    <li>Dla betonu cementowego: minimum 45 mm</li>
                    <li>Dla wylewki anhydrytowej: minimum 35 mm (lub inna zgodna z kartą chemii)</li>
                </ul>
                <div class="rk-wyl-alert success">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Naprężone rury nie ulegają zgnieceniu, a posadzka zyskuje akumulacyjność.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var switches = document.querySelectorAll('.rk-wyl-switch');

    switches.forEach(function(sw) {
        sw.addEventListener('click', function() {
            var isNorma = this.classList.contains('active');
            var targetId = this.getAttribute('data-target');
            
            var wrapper = this.closest('.rk-wyl-switch-wrapper');
            var labelAmator = wrapper.querySelector('[data-state="amator"]');
            var labelNorma = wrapper.querySelector('[data-state="norma"]');
            
            var viewAmator = document.getElementById(targetId + '-amator');
            var viewNorma = document.getElementById(targetId + '-norma');

            if (isNorma === true) {
                // Było Norma -> Zmień na Amator
                this.classList.remove('active');
                labelAmator.classList.add('active');
                labelNorma.classList.remove('active');
                
                if (viewNorma !== null) { viewNorma.classList.remove('active'); }
                if (viewAmator !== null) { viewAmator.classList.add('active'); }
            } else {
                // Było Amator -> Zmień na Norma
                this.classList.add('active');
                labelAmator.classList.remove('active');
                labelNorma.classList.add('active');
                
                if (viewAmator !== null) { viewAmator.classList.remove('active'); }
                if (viewNorma !== null) { viewNorma.classList.add('active'); }
            }
        });
    });
});
</script>



<style>
:root {
    --rk-proj-dark: #0f172a;
    --rk-proj-slate: #334155;
    --rk-proj-cyan: #0891b2;
    --rk-proj-cyan-light: #cffafe;
    --rk-proj-cyan-hover: #06b6d4;
    --rk-proj-accent: #f59e0b;
    --rk-proj-bg: #ffffff;
    --rk-proj-border: #e2e8f0;
    --rk-proj-gray-bg: #f8fafc;
}

.rk-proj-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-proj-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -5px rgba(8, 145, 178, 0.15);
    border: 1px solid var(--rk-proj-cyan);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-proj-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-proj-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-proj-cyan);
}

.rk-proj-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(6, 182, 212, 0.2);
    color: #22d3ee;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(34, 211, 238, 0.3);
}

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

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

/* Interaktywny Moduł Projektowy */
.rk-proj-interactive {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: var(--rk-proj-bg);
}

/* Nawigacja (Lewa strona na desktopie, góra/pion na mobile) */
.rk-proj-nav {
    background: var(--rk-proj-gray-bg);
    padding: 30px;
    border-right: 1px solid var(--rk-proj-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-proj-nav-btn {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    padding: 16px 20px;
    background: #ffffff;
    border: 1px solid var(--rk-proj-border);
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-proj-slate);
    cursor: pointer;
    text-align: left;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.rk-proj-nav-btn:hover {
    border-color: var(--rk-proj-cyan);
    transform: translateX(4px);
}

.rk-proj-nav-btn.active {
    background: var(--rk-proj-cyan);
    color: #ffffff;
    border-color: var(--rk-proj-cyan);
    box-shadow: 0 10px 15px -3px rgba(8, 145, 178, 0.3);
    transform: translateX(8px);
}

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

.rk-proj-nav-btn.active .rk-proj-nav-icon {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

/* Obszar Treści (Prawa strona na desktopie) */
.rk-proj-content-area {
    padding: 40px;
    position: relative;
}

.rk-proj-panel {
    display: none;
    animation: fadeInSlide 0.4s ease forwards;
}

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

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

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

.rk-proj-panel p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 20px 0;
}

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

.rk-proj-panel a:hover {
    color: var(--rk-proj-cyan-hover);
}

/* Wizualizacja inżynierska wewnątrz panelu */
.rk-proj-tech-box {
    background: var(--rk-proj-dark);
    border-radius: 12px;
    padding: 20px;
    margin-top: 25px;
    border-left: 4px solid var(--rk-proj-accent);
    color: #f8fafc;
}

.rk-proj-tech-box h4 {
    margin: 0 0 10px 0;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
}

.rk-proj-tech-value {
    font-family: monospace;
    font-size: 18px;
    color: var(--rk-proj-cyan-light);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-proj-tech-value strong {
    font-size: 24px;
    color: #ffffff;
}

/* Sekcja CTA na dole */
.rk-proj-cta-section {
    padding: 40px 50px;
    background: var(--rk-proj-gray-bg);
    border-top: 1px solid var(--rk-proj-border);
    text-align: center;
}

.rk-proj-cta-section h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    margin: 0 0 15px 0;
}

.rk-proj-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-proj-accent);
    color: var(--rk-proj-dark);
    font-size: 18px;
    font-weight: 900;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
    width: 100%;
    max-width: 600px;
    margin-top: 20px;
    text-transform: uppercase;
}

.rk-proj-btn-massive:hover {
    transform: translateY(-5px);
    background: #d97706;
    color: #ffffff;
    box-shadow: 0 20px 35px -5px rgba(245, 158, 11, 0.5);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-proj-header { padding: 35px 25px; }
    .rk-proj-header h2 { font-size: 24px; }
    
    /* Zmiana na układ pionowy (akordeonowy) dla mobile */
    .rk-proj-interactive { grid-template-columns: 1fr; }
    .rk-proj-nav { padding: 25px; border-right: none; border-bottom: 1px solid var(--rk-proj-border); }
    
    .rk-proj-nav-btn:hover { transform: translateY(-2px); }
    .rk-proj-nav-btn.active { transform: translateY(-4px); }
    
    .rk-proj-content-area { padding: 30px 25px; }
    .rk-proj-cta-section { padding: 35px 25px; }
    .rk-proj-btn-massive { padding: 16px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jak postanowienia normy PN-EN 1264 wpływają na profesjonalny projekt ogrzewania podłogowego?",
    "description": "Zastosowanie normy PN-EN 1264 eliminuje błędy montażowe. Poznaj 4 filary profesjonalnego projektu: OZC, dobór pompy ciepła, zrównoważenie hydrauliczne i opory pętli.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-wplyw-normy",
    "name": "Kryteria inżynierskie projektu instalacji podłogowej wg PN-EN 1264",
    "description": "Baza danych parametrów uwzględnianych w profesjonalnym projekcie ogrzewania: integracja z OZC, temperatura zasilania pompy ciepła, nastawy rotametrów i wysokość podnoszenia pompy obiegowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "profesjonalny projekt ogrzewania podłogowego",
      "obliczenia strat ciepła OZC",
      "temperatura zasilania pompy ciepła",
      "zrównoważenie hydrauliczne rotametry",
      "dobór pompy obiegowej"
    ],
    "measurementTechnique": "Algorytmy obliczeniowe oparte na PN-EN 1264 i PN-EN 12831 wykorzystywane do optymalizacji układów z pompami ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wpływ OZC na gęstość rur (rozstawy 100mm vs 300mm)",
        "Optymalizacja temperatury zasilania do 35°C",
        "Wymagane zrównoważenie hydrauliczne pętli",
        "Kompensacja oporów hydraulicznych pompy (np. 25 kPa)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-symulator-projektu",
    "name": "Symulator Zgodności Projektu z PN-EN 1264",
    "description": "Interaktywny interfejs edukacyjny pozwalający inwestorowi przeanalizować cztery filary profesjonalnej inżynierii sanitarnej w zestawieniu z praktykami amatorskimi.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proj-container" id="rk-norm-impact-widget">
    <div class="rk-proj-header">
        <div class="rk-proj-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            Inżynieria w Praktyce
        </div>
        <h2>Jak postanowienia normy PN-EN 1264 wpływają na profesjonalny projekt ogrzewania podłogowego?</h2>
        <p>Zastosowanie normy PN-EN 1264 całkowicie eliminuje rzemieślnicze schematy działania i przesuwa akcent na precyzyjne projektowanie. Wpływa ona na cztery fundamentalne obszary każdego profesjonalnego projektu instalacji.</p>
    </div>

    <div class="rk-proj-interactive">
        <div class="rk-proj-nav">
            <button class="rk-proj-nav-btn active" data-panel="ozc">
                <div class="rk-proj-nav-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                </div>
                1. Integracja z OZC
            </button>
            <button class="rk-proj-nav-btn" data-panel="pompa">
                <div class="rk-proj-nav-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                2. Rozstaw rur a COP
            </button>
            <button class="rk-proj-nav-btn" data-panel="hydraulika">
                <div class="rk-proj-nav-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><path d="M12 8l4 4-4 4M8 12h8"></path></svg>
                </div>
                3. Zrównoważenie
            </button>
            <button class="rk-proj-nav-btn" data-panel="obieg">
                <div class="rk-proj-nav-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                4. Pompa Obiegowa
            </button>
        </div>

        <div class="rk-proj-content-area">
            
            <div class="rk-proj-panel active" id="panel-ozc">
                <h3>Integracja z normą PN-EN 12831 (OZC)</h3>
                <p>Wyznaczone <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">straty ciepła budynku</a> determinują maksymalny rozstaw rur dla każdego pomieszczenia indywidualnie.</p>
                <p>Jeśli budynek jest pasywny, matematyka pozwala na szerokie rozstawy rzędu 200–300 mm. W domach ze słabszą izolacją lub przy wielkich przeszkleniach w salonie (tzw. strefy brzegowe), norma wymusza zastosowanie gęstego rozstawu rur rzędu 100 mm.</p>
                <div class="rk-proj-tech-box">
                    <h4>Wynik Inżynieryjny:</h4>
                    <div class="rk-proj-tech-value">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#22d3ee" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                        Uniknięcie stref niedogrzanych zimą
                    </div>
                </div>
            </div>

            <div class="rk-proj-panel" id="panel-pompa">
                <h3>Dobór Rozstawu Rur pod Ograniczenia Pompy Ciepła</h3>
                <p>Każdy inżynier projektujący układ pod pompę ciepła dąży do uzyskania jak <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">najniższej temperatury zasilania</a> (optymalnie 35°C).</p>
                <p>Norma PN-EN 1264 dostarcza twardych narzędzi matematycznych do udowodnienia, że przy odpowiednio zagęszczonym rozstawie rur (np. co 10 cm), instalacja uzyska pożądaną moc grzewczą bez niszczycielskiej konieczności przegrzewania zładu wody do 45°C, co obniżyłoby COP pompy.</p>
                <div class="rk-proj-tech-box">
                    <h4>Parametr Celowy Projektu:</h4>
                    <div class="rk-proj-tech-value">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#22d3ee" stroke-width="2"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        Zasilanie: <strong>35°C</strong>
                    </div>
                </div>
            </div>

            <div class="rk-proj-panel" id="panel-hydraulika">
                <h3>Zrównoważenie Hydrauliczne (Hydronic Balancing)</h3>
                <p>Ogrzewanie robione &#8222;na oko&#8221; kończy się tym, że krótkie pętle grzeją mocno, a długie pozostają zimne. Dzięki dokładnym obliczeniom strat ciśnienia dla każdej pętli z osobna, profesjonalny projekt zawiera tabelę z wytycznymi.</p>
                <p>Na jej podstawie instalator wykonuje <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">gotowe nastawy wstępne dla rotametrów</a> na rozdzielaczu, co wymusza równomierny przepływ w całym budynku.</p>
                <div class="rk-proj-tech-box">
                    <h4>Efekt Zastosowania Normy:</h4>
                    <div class="rk-proj-tech-value">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#22d3ee" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                        Jednorodna temperatura każdej posadzki
                    </div>
                </div>
            </div>

            <div class="rk-proj-panel" id="panel-obieg">
                <h3>Wytyczne dla Doboru Pompy Obiegowej</h3>
                <p>Suma wszystkich strat tarcia i oporów miejscowych w najmniej korzystnym obiegu (czyli w pętli o największym oporze połączonej z magistralą zasilającą) definiuje wytyczne do wyboru urządzenia tłoczącego.</p>
                <p>Projekt oblicza wymaganą wysokość podnoszenia pompy obiegowej. Wiedząc, że układ stawia opór na poziomie np. 25 kPa (czyli około 2,5 metra słupa wody), <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">prawidłowy dobór pompy</a> staje się faktem matematycznym, a nie zgadywaniem.</p>
                <div class="rk-proj-tech-box">
                    <h4>Krytyczny Wynik Obliczeń:</h4>
                    <div class="rk-proj-tech-value">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#22d3ee" stroke-width="2"><line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline></svg>
                        Wymagane podnoszenie: <strong>~25 kPa</strong>
                    </div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-proj-cta-section">
        <h3>Nie oszczędzaj na sercu swojego domu</h3>
        <p style="color: #475569; margin-bottom: 25px; font-size: 16px;">
            Amatorski montaż pociąga za sobą gigantyczne koszty eksploatacji i awarii. Zainwestuj w absolutną pewność inżynieryjną opartą na certyfikowanych normach.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-proj-btn-massive">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var navBtns = document.querySelectorAll('#rk-norm-impact-widget .rk-proj-nav-btn');
    var panels = document.querySelectorAll('#rk-norm-impact-widget .rk-proj-panel');

    navBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var targetId = this.getAttribute('data-panel');

            // 1. Reset przycisków
            navBtns.forEach(function(b) {
                b.classList.remove('active');
            });
            // Aktywacja klikniętego
            this.classList.add('active');

            // 2. Reset paneli
            panels.forEach(function(panel) {
                panel.classList.remove('active');
            });
            // Aktywacja docelowego panelu (bezpieczny JS, brak restrykcyjnych znaków logicznych)
            var activePanel = document.getElementById('panel-' + targetId);
            if (activePanel) {
                activePanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-red: #dc2626;
    --rk-case-red-light: #fef2f2;
    --rk-case-green: #059669;
    --rk-case-green-light: #ecfdf5;
    --rk-case-blue: #2563eb;
    --rk-case-gray: #f8fafc;
    --rk-case-border: #cbd5e1;
    --rk-case-text: #334155;
    --rk-case-bg: #ffffff;
}

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

/* Nagłówek Case Study */
.rk-case-header {
    padding: 40px 50px 30px;
    background: var(--rk-case-dark);
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-case-red);
}

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(220, 38, 38, 0.2);
    color: #fca5a5;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(248, 113, 113, 0.3);
}

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

.rk-case-header p {
    font-size: 16px;
    color: #94a3b8;
    line-height: 1.6;
    margin: 0;
}

/* Panel Detektywistyczny (Interakcja) */
.rk-case-investigation {
    padding: 40px 50px;
    background: var(--rk-case-gray);
}

.rk-case-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-case-tab {
    flex: 1;
    padding: 20px;
    background: #ffffff;
    border: 2px solid var(--rk-case-border);
    border-radius: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-case-tab-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rk-case-gray);
    color: var(--rk-case-text);
    transition: all 0.3s;
}

.rk-case-tab-text h3 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

.rk-case-tab-text p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-case-text);
    font-weight: 600;
}

/* Stany aktywne zakładek */
.rk-case-tab[data-state="awaria"].active {
    border-color: var(--rk-case-red);
    background: var(--rk-case-red-light);
    box-shadow: 0 10px 20px -5px rgba(220, 38, 38, 0.15);
}
.rk-case-tab[data-state="awaria"].active .rk-case-tab-icon {
    background: var(--rk-case-red);
    color: #ffffff;
}

.rk-case-tab[data-state="naprawa"].active {
    border-color: var(--rk-case-green);
    background: var(--rk-case-green-light);
    box-shadow: 0 10px 20px -5px rgba(5, 150, 105, 0.15);
}
.rk-case-tab[data-state="naprawa"].active .rk-case-tab-icon {
    background: var(--rk-case-green);
    color: #ffffff;
}

/* Widoki zawartości */
.rk-case-view {
    display: none;
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-case-view.active {
    display: block;
    animation: slideUpCase 0.4s ease forwards;
}

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

.rk-case-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 25px;
}

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

.rk-case-list li {
    padding-left: 30px;
    position: relative;
    margin-bottom: 15px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-case-text);
    font-weight: 600;
}

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

/* Ikony list dla awarii (krzyżyk) */
.view-awaria .rk-case-list li::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
}

/* Ikony list dla naprawy (ptaszek) */
.view-naprawa .rk-case-list li::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}

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

/* Ramka z danymi liczbowymi */
.rk-case-metrics {
    background: var(--rk-case-dark);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    justify-content: space-around;
    color: #ffffff;
}

.rk-case-metric {
    text-align: center;
}

.rk-case-metric-val {
    font-size: 24px;
    font-weight: 900;
    font-family: monospace;
    margin-bottom: 5px;
}

.view-awaria .rk-case-metric-val { color: #fca5a5; }
.view-naprawa .rk-case-metric-val { color: #6ee7b7; }

.rk-case-metric-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    color: #94a3b8;
}

/* Raport Finansowy */
.rk-case-finance {
    padding: 35px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-case-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.rk-case-finance-text h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

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

.rk-case-finance-box {
    background: #fef2f2;
    border: 2px solid var(--rk-case-red);
    padding: 20px 30px;
    border-radius: 16px;
    text-align: center;
    min-width: 250px;
}

.rk-case-finance-box span {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-case-red);
    text-transform: uppercase;
    margin-bottom: 5px;
}

.rk-case-finance-box strong {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

/* Tagi Długiego Ogona */
.rk-case-tags {
    padding: 20px 50px 30px;
    background: #ffffff;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rk-case-tag {
    background: var(--rk-case-gray);
    color: var(--rk-case-text);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid var(--rk-case-border);
    text-decoration: none;
    transition: all 0.2s;
}

.rk-case-tag:hover {
    background: var(--rk-case-dark);
    color: #ffffff;
    border-color: var(--rk-case-dark);
}

@media (max-width: 768px) {
    .rk-case-header { padding: 30px 20px; }
    .rk-case-header h2 { font-size: 24px; }
    .rk-case-investigation { padding: 25px 20px; }
    
    .rk-case-tabs { flex-direction: column; gap: 10px; }
    .rk-case-tab { padding: 15px; }
    
    .rk-case-view { padding: 25px 20px; }
    .rk-case-details { grid-template-columns: 1fr; gap: 20px; }
    .rk-case-metrics { flex-direction: column; gap: 20px; }
    
    .rk-case-finance { padding: 30px 20px; flex-direction: column; text-align: center; }
    .rk-case-finance-box { width: 100%; min-width: auto; }
    .rk-case-tags { padding: 0 20px 30px; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Case Study: Skutki ignorowania normy PN-EN 1264 w praktyce instalacyjnej",
    "description": "Analiza rzeczywistej awarii. Zobacz, jak za długa pętla i brak projektu doprowadziły do niedogrzania salonu i kosztownego kucia wylewki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-case-study",
    "name": "Raport Kosztów Awarii Ogrzewania Podłogowego",
    "description": "Porównanie kosztów prewencyjnego projektu inżynieryjnego z kosztami naprawy błędów wykonawczych (kucie wylewki, frezowanie) w budynku jednorodzinnym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "za długa pętla podłogówki",
      "objawy zapowietrzenia ogrzewania podłogowego",
      "najczęstsze błędy przy montażu ogrzewania podłogowego",
      "koszt usunięcia awarii ogrzewania",
      "niedogrzany salon przyczyny"
    ],
    "measurementTechnique": "Analiza strat finansowych inwestora na podstawie realnego kosztorysu naprawczego (wymiana posadzki vs koszt projektu OZC).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt projektu inżynieryjnego: 550 PLN",
        "Koszt kucia i wymiany wylewki (120m2): ~18 500 PLN",
        "Opory hydrauliczne przy pętli 180m: Przekroczenie limitu pompy",
        "Rozwiązanie alternatywne: Frezowanie podłogówki"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-symulator-ryzyka",
    "name": "Kalkulator Ryzyka i Diagnoza Awarii (Case Study)",
    "description": "Interaktywny panel śledczy demonstrujący proces diagnozowania i naprawy błędnie wykonanej instalacji (brak projektu, przekroczone długości rur).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container" id="rk-casestudy-widget">
    <div class="rk-case-header">
        <div class="rk-case-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
            Analiza Przypadku (Case Study)
        </div>
        <h2>Case Study: Skutki ignorowania normy PN-EN 1264 w praktyce</h2>
        <p>Zobacz na realnym przykładzie mojego klienta z okolic Poznania, jak brak profesjonalnego projektu i zaufanie do &#8222;oka&#8221; instalatora doprowadziło do paraliżu systemu grzewczego zimą.</p>
    </div>

    <div class="rk-case-investigation">
        <div class="rk-case-tabs" id="rkCaseTabs">
            <div class="rk-case-tab active" data-state="awaria">
                <div class="rk-case-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <div class="rk-case-tab-text">
                    <h3>Stan Zastany (Awaria)</h3>
                    <p>Grudzień 2025: Zamarzający dom</p>
                </div>
            </div>
            
            <div class="rk-case-tab" data-state="naprawa">
                <div class="rk-case-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
                </div>
                <div class="rk-case-tab-text">
                    <h3>Interwencja (Norma)</h3>
                    <p>Styczeń 2026: Plan ratunkowy</p>
                </div>
            </div>
        </div>

        <div class="rk-case-view view-awaria active" id="view-awaria">
            <div class="rk-case-details">
                <div>
                    <h4 style="margin:0 0 15px 0; color:var(--rk-case-dark); font-size: 18px;">Opis Problemu:</h4>
                    <p style="font-size:15px; line-height:1.6; color:var(--rk-case-text);">Inwestor zgłosił, że mimo zasilania pompy ciepła na poziomie 40°C, w salonie temperatura nie przekracza 18°C. Dodatkowo w rozdzielaczu słychać ciągły szum wody, a rotametry w ogóle nie reagują na regulację.</p>
                </div>
                <div>
                    <h4 style="margin:0 0 15px 0; color:var(--rk-case-dark); font-size: 18px;">Diagnoza Błędów:</h4>
                    <ul class="rk-case-list">
                        <li><a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">Za długa pętla podłogówki</a> – jedna z rur w salonie liczyła aż 180 metrów (norma dla rury 16mm to max. 120m).</li>
                        <li>Trwałe <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">objawy zapowietrzenia</a> spowodowane kawitacją pompy, która nie mogła przepchnąć wody przez ogromne opory.</li>
                        <li>Rozstaw rur &#8222;na ślepo&#8221; co 20 cm pod grubym parkietem.</li>
                    </ul>
                </div>
            </div>
            
            <div class="rk-case-metrics">
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">180 m</div>
                    <div class="rk-case-metric-label">Długość najdłuższej pętli</div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">42 kPa</div>
                    <div class="rk-case-metric-label">Opór hydrauliczny</div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">0.0 l/min</div>
                    <div class="rk-case-metric-label">Przepływ na rotametrze</div>
                </div>
            </div>
        </div>

        <div class="rk-case-view view-naprawa" id="view-naprawa">
            <div class="rk-case-details">
                <div>
                    <h4 style="margin:0 0 15px 0; color:var(--rk-case-dark); font-size: 18px;">Rozwiązanie Inżynieryjne:</h4>
                    <p style="font-size:15px; line-height:1.6; color:var(--rk-case-text);">Wykonaliśmy wsteczne obliczenia OZC. Aby uniknąć kucia całej posadzki, zdecydowaliśmy się na inwazyjne wpięcie w środku salonu i rozdzielenie gigantycznej pętli na dwa mniejsze obiegi przy użyciu muf prasowanych i żywicy epoksydowej. Alternatywą było tylko <a href="https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/">frezowanie podłogówki w starym systemie</a>.</p>
                </div>
                <div>
                    <h4 style="margin:0 0 15px 0; color:var(--rk-case-dark); font-size: 18px;">Nowe Parametry (PN-EN 1264):</h4>
                    <ul class="rk-case-list">
                        <li>Podział krytycznej pętli na dwa osobne obiegi (po ~90m każdy).</li>
                        <li>Wymiana pompy obiegowej na jednostkę o większej wysokości podnoszenia.</li>
                        <li>Precyzyjne nastawy rotametrów według nowego bilansu hydraulicznego. Zasilanie spadło do 33°C.</li>
                    </ul>
                </div>
            </div>
            
            <div class="rk-case-metrics">
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">90 m / 90 m</div>
                    <div class="rk-case-metric-label">Skorygowane pętle</div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">15 kPa</div>
                    <div class="rk-case-metric-label">Opór hydrauliczny po resecie</div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">2.1 l/min</div>
                    <div class="rk-case-metric-label">Stabilny przepływ</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-case-finance">
        <div class="rk-case-finance-text">
            <h3>Finansowe skutki &#8222;oszczędności&#8221;</h3>
            <p>To jeden z <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstszych błędów przy montażu ogrzewania podłogowego</a>. Inwestor zaoszczędził 550 PLN na projekcie inżynieryjnym, ufając zapewnieniom instalatora. Naprawa błędu i lokalne kucie posadzki pochłonęło nieproporcjonalnie więcej środków i zszargało nerwy rodziny.</p>
        </div>
        <div class="rk-case-finance-box">
            <span>Koszt naprawy błędu</span>
            <strong>18 500 PLN</strong>
        </div>
    </div>

    <div class="rk-case-tags">
        <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" class="rk-case-tag"># za długa pętla podłogówki co zrobić</a>
        <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/" class="rk-case-tag"># dlaczego podłogówka w salonie nie grzeje</a>
        <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-case-tag"># błędy wykonawcze ogrzewanie podłogowe</a>
        <a href="#" class="rk-case-tag"># rotametry na rozdzielaczu stoją w miejscu</a>
        <a href="https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/" class="rk-case-tag"># naprawa niedogrzanej podłogówki</a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tabs = document.querySelectorAll('#rkCaseTabs .rk-case-tab');
    
    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            var targetState = this.getAttribute('data-state');
            
            // Usunięcie aktywnej klasy ze wszystkich zakładek
            tabs.forEach(function(t) {
                t.classList.remove('active');
            });
            
            // Ukrycie wszystkich widoków (bezpieczne sprawdzenie bez &&)
            var viewAwaria = document.getElementById('view-awaria');
            var viewNaprawa = document.getElementById('view-naprawa');
            
            if (viewAwaria !== null) { viewAwaria.classList.remove('active'); }
            if (viewNaprawa !== null) { viewNaprawa.classList.remove('active'); }
            
            // Aktywacja klikniętej zakładki i właściwego widoku
            this.classList.add('active');
            var targetView = document.getElementById('view-' + targetState);
            if (targetView !== null) {
                targetView.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-pro-dark: #0f172a;
    --rk-pro-slate: #475569;
    --rk-pro-blue: #2563eb;
    --rk-pro-blue-light: #eff6ff;
    --rk-pro-accent: #f59e0b;
    --rk-pro-bg: #ffffff;
    --rk-pro-bg-alt: #f8fafc;
    --rk-pro-border: #e2e8f0;
}

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

/* Nagłówek */
.rk-pro-header {
    padding: 30px 40px;
    background: var(--rk-pro-dark);
    color: #ffffff;
}

.rk-pro-header h2 {
    font-size: 24px;
    font-weight: 800;
    margin: 0;
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-pro-header h2 svg {
    color: var(--rk-pro-accent);
}

/* Układ główny */
.rk-pro-body {
    display: flex;
    background: var(--rk-pro-bg);
}

/* Lewa Kolumna - Profil Eksperta */
.rk-pro-sidebar {
    width: 340px;
    padding: 40px 30px;
    background: var(--rk-pro-bg-alt);
    border-right: 1px solid var(--rk-pro-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-pro-avatar-wrapper {
    position: relative;
    margin-bottom: 25px;
}

.rk-pro-avatar {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--rk-pro-bg);
    box-shadow: 0 8px 16px -4px rgba(15, 23, 42, 0.15);
}

.rk-pro-badge-check {
    position: absolute;
    bottom: 5px;
    right: 5px;
    background: var(--rk-pro-blue);
    color: #ffffff;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid var(--rk-pro-bg);
}

.rk-pro-name {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-pro-dark);
    margin: 0 0 5px 0;
    letter-spacing: -0.5px;
}

.rk-pro-role {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-pro-blue);
    margin: 0 0 15px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-pro-brand {
    font-size: 12px;
    font-weight: 800;
    background: var(--rk-pro-dark);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 6px;
    margin-bottom: 25px;
    letter-spacing: 0.5px;
}

.rk-pro-socials {
    display: flex;
    gap: 12px;
}

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

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

/* Prawa Kolumna - Treść */
.rk-pro-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

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

.rk-pro-tab {
    flex: 1;
    padding: 20px;
    background: transparent;
    border: none;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-pro-slate);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid transparent;
}

.rk-pro-tab.active {
    color: var(--rk-pro-blue);
    border-bottom-color: var(--rk-pro-blue);
    background: var(--rk-pro-blue-light);
}

.rk-pro-view {
    display: none;
    padding: 40px;
}

.rk-pro-view.active {
    display: block;
}

/* Typografia Cytatu */
.rk-pro-quote-box {
    position: relative;
    padding-left: 20px;
}

.rk-pro-quote-box::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    bottom: 5px;
    width: 4px;
    background: var(--rk-pro-accent);
    border-radius: 2px;
}

.rk-pro-quote-text {
    font-size: 19px;
    font-weight: 800;
    line-height: 1.6;
    color: var(--rk-pro-dark);
    margin: 0 0 20px 0;
}

.rk-pro-quote-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-pro-slate);
    margin: 0;
}

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

/* Statystyki Nowoczesne */
.rk-pro-stats-intro {
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-pro-dark);
    line-height: 1.6;
    margin: 0 0 30px 0;
}

.rk-pro-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-pro-stat-card {
    background: var(--rk-pro-bg);
    border: 1px solid var(--rk-pro-border);
    border-radius: 12px;
    padding: 25px 20px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-pro-stat-card:hover {
    border-color: #bfdbfe;
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.05);
}

.rk-pro-stat-val {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-pro-blue);
    margin-bottom: 8px;
    letter-spacing: -1px;
}

.rk-pro-stat-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-pro-slate);
    text-transform: uppercase;
    line-height: 1.4;
}

@media (max-width: 768px) {
    .rk-pro-header { padding: 25px 20px; }
    .rk-pro-header h2 { font-size: 20px; }
    .rk-pro-body { flex-direction: column; }
    .rk-pro-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-pro-border); padding: 30px 20px; }
    .rk-pro-view { padding: 30px 20px; }
    .rk-pro-grid { grid-template-columns: 1fr; }
    .rk-pro-tabs { flex-direction: column; }
    .rk-pro-tab { border-bottom: none; border-left: 3px solid transparent; text-align: left; padding: 15px 20px; }
    .rk-pro-tab.active { border-left-color: var(--rk-pro-blue); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Zdaniem eksperta: Robert Kucharski o standardach ogrzewania podłogowego",
    "description": "Autorytet w dziedzinie instalacji płaszczyznowych. Sprawdź, dlaczego ponad 1000 projektów ogrzewania musi opierać się na twardych wyliczeniach, a nie na przypuszczeniach.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Ekspert HVAC, CEO Projekt-Ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-cennik-projekty",
    "name": "Cennik i Statystyki Projektowe - Robert Kucharski (2026)",
    "description": "Kluczowe wskaźniki efektywności i transparentne koszty wykonania profesjonalnej dokumentacji technicznej dla wodnego ogrzewania podłogowego w budownictwie jednorodzinnym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt instalacji ogrzewania podłogowego",
      "koszt projektu podłogówki",
      "dokumentacja techniczna hvac",
      "budowa bez ściemy",
      "ekspert ogrzewania podłogowego"
    ],
    "measurementTechnique": "Dane oparte na rzeczywistych zleceniach i realizacjach biura projektowego projekt-ogrzewania.pl.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Średnia cena profesjonalnego projektu (OZC + pętle): 550 PLN",
        "Liczba zrealizowanych projektów: Ponad 1000",
        "Główny profil działalności: Obliczenia i dokumentacja techniczna zgodna z PN-EN 1264"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-wizytowka-eksperta",
    "name": "Interaktywna Wizytówka Inżynierska",
    "description": "Nowoczesny moduł przełączający służący do szybkiego przeglądu kwalifikacji projektanta instalacji sanitarnych oraz głównych wytycznych, którymi kieruje się biuro projektowe.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pro-container" id="rk-modern-expert">
    <div class="rk-pro-header">
        <h2>
            <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Zdaniem eksperta: Robert Kucharski o standardach ogrzewania podłogowego
        </h2>
    </div>

    <div class="rk-pro-body">
        
        <!-- Kolumna Lewa: Profil (E-E-A-T) -->
        <div class="rk-pro-sidebar">
            <div class="rk-pro-avatar-wrapper">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Ekspert HVAC" class="rk-pro-avatar">
                <div class="rk-pro-badge-check" title="Zweryfikowany Specjalista">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </div>
            </div>
            
            <h3 class="rk-pro-name">Robert Kucharski</h3>
            <div class="rk-pro-role">Główny Specjalista HVAC</div>
            <div class="rk-pro-brand">BUDOWA BEZ ŚCIEMY</div>
            
            <div class="rk-pro-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-pro-social-link" title="Facebook">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-pro-social-link" title="LinkedIn">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                </a>
            </div>
        </div>

        <!-- Kolumna Prawa: Interaktywne Zakładki -->
        <div class="rk-pro-content">
            <div class="rk-pro-tabs" id="rkProTabs">
                <button class="rk-pro-tab active" data-tab="cytat">Złota zasada instalatora</button>
                <button class="rk-pro-tab" data-tab="liczby">Dlaczego projekt?</button>
            </div>

            <!-- Widok: Cytat -->
            <div class="rk-pro-view active" id="view-cytat">
                <div class="rk-pro-quote-box">
                    <p class="rk-pro-quote-text">
                        Z perspektywy tysięcy przeanalizowanych instalacji mogę z pełną odpowiedzialnością stwierdzić jedno: wylewka betonowa wybacza wszystko, dopóki jej nie zalejesz. 
                    </p>
                    <p class="rk-pro-quote-desc">
                        Norma PN-EN 1264 to nie jest urzędniczy wymysł. To tarcza ochronna Twojego portfela. Ignorowanie prób ciśnieniowych (6 bar) i projektowania OZC z myślą &#8222;jakoś to będzie&#8221; niemal zawsze kończy się zjawiskiem niedogrzania lub zniszczonymi posadzkami. Kucie jastrychu w gotowym salonie kosztuje 10 razy więcej niż <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/">kompleksowy projekt</a> u sprawdzonego inżyniera.
                    </p>
                </div>
            </div>

            <!-- Widok: Liczby -->
            <div class="rk-pro-view" id="view-liczby">
                <p class="rk-pro-stats-intro">
                    Jako projektant reklamuję w Google wyłącznie pełne opracowania techniczne, a nie pojedyncze rurki czy rozdzielacze. Dlaczego? Bo tylko profesjonalny projekt daje gwarancję sukcesu.
                </p>
                
                <div class="rk-pro-grid">
                    <div class="rk-pro-stat-card">
                        <div class="rk-pro-stat-val">1000+</div>
                        <div class="rk-pro-stat-label">Wykonanych projektów</div>
                    </div>
                    <div class="rk-pro-stat-card">
                        <div class="rk-pro-stat-val">550 PLN</div>
                        <div class="rk-pro-stat-label">Średnia cena dokumentacji</div>
                    </div>
                    <div class="rk-pro-stat-card">
                        <div class="rk-pro-stat-val">3700</div>
                        <div class="rk-pro-stat-label">Obserwatorów fachowców</div>
                    </div>
                    <div class="rk-pro-stat-card">
                        <div class="rk-pro-stat-val">100%</div>
                        <div class="rk-pro-stat-label">Zgodności z normą PN-EN</div>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tabs = document.querySelectorAll('#rkProTabs .rk-pro-tab');
    
    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            var targetViewId = this.getAttribute('data-tab');
            
            // Usunięcie klasy aktywnej ze wszystkich zakładek
            tabs.forEach(function(t) {
                t.classList.remove('active');
            });
            
            // Zamknięcie wszystkich widoków (bezpieczne sprawdzenie)
            var viewCytat = document.getElementById('view-cytat');
            var viewLiczby = document.getElementById('view-liczby');
            
            if (viewCytat !== null) { viewCytat.classList.remove('active'); }
            if (viewLiczby !== null) { viewLiczby.classList.remove('active'); }
            
            // Aktywacja wybranej zakładki i widoku
            this.classList.add('active');
            var targetView = document.getElementById('view-' + targetViewId);
            if (targetView !== null) {
                targetView.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-slate: #334155;
    --rk-err-danger: #dc2626;
    --rk-err-danger-light: #fef2f2;
    --rk-err-warning: #ea580c;
    --rk-err-warning-light: #fff7ed;
    --rk-err-blue: #2563eb;
    --rk-err-bg: #ffffff;
    --rk-err-gray: #f8fafc;
    --rk-err-border: #cbd5e1;
}

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

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

.rk-err-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(220, 38, 38, 0.2);
    color: #fca5a5;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(248, 113, 113, 0.3);
}

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

.rk-err-header p {
    font-size: 16px;
    color: #f87171;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 750px;
}

/* Moduł 1: Interaktywny Skaner Błędów */
.rk-err-scanner {
    padding: 40px 50px;
    background: var(--rk-err-gray);
}

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

.rk-err-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.rk-err-card {
    background: #ffffff;
    border: 2px solid var(--rk-err-border);
    border-radius: 16px;
    padding: 25px 20px;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
    overflow: hidden;
}

.rk-err-card:hover {
    border-color: var(--rk-err-warning);
    transform: translateY(-3px);
    box-shadow: 0 10px 15px -3px rgba(234, 88, 12, 0.1);
}

.rk-err-card.revealed {
    border-color: var(--rk-err-danger);
    background: var(--rk-err-danger-light);
}

.rk-err-card-front {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: opacity 0.3s;
}

.rk-err-card.revealed .rk-err-card-front {
    display: none;
}

.rk-err-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-err-gray);
    color: var(--rk-err-slate);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

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

.rk-err-hint {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-err-blue);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Skutek Błędu (Tył Karty) */
.rk-err-card-back {
    display: none;
    flex-direction: column;
    align-items: center;
    text-align: center;
    animation: popIn 0.3s ease;
}

.rk-err-card.revealed .rk-err-card-back {
    display: flex;
}

@keyframes popIn {
    0% { transform: scale(0.9); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.rk-err-danger-icon {
    color: var(--rk-err-danger);
    margin-bottom: 10px;
}

.rk-err-result {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-err-danger);
    margin: 0 0 10px 0;
}

.rk-err-link {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-err-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Moduł 2: Odpowiedzialność na Budowie */
.rk-err-roles {
    padding: 40px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-err-border);
}

.rk-err-roles-intro {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-err-text);
    margin: 0 0 30px 0;
}

.rk-err-accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-err-role-item {
    border: 2px solid var(--rk-err-border);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.3s;
}

.rk-err-role-item.active {
    border-color: var(--rk-err-blue);
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.1);
}

.rk-err-role-btn {
    width: 100%;
    background: transparent;
    border: none;
    padding: 20px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    text-align: left;
}

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

.rk-err-role-icon {
    width: 40px;
    height: 40px;
    background: var(--rk-err-gray);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-err-slate);
    transition: all 0.3s;
}

.rk-err-role-item.active .rk-err-role-icon {
    background: var(--rk-err-blue);
    color: #ffffff;
}

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

.rk-err-role-chevron {
    color: var(--rk-err-slate);
    transition: transform 0.3s;
}

.rk-err-role-item.active .rk-err-role-chevron {
    transform: rotate(180deg);
    color: var(--rk-err-blue);
}

.rk-err-role-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    background: var(--rk-err-gray);
}

.rk-err-role-inner {
    padding: 0 25px 25px 80px;
}

.rk-err-role-inner p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-err-slate);
    font-weight: 500;
}

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

/* Tagi SEO */
.rk-err-tags {
    padding: 0 50px 40px;
    background: #ffffff;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-err-tag {
    background: var(--rk-err-gray);
    color: var(--rk-err-slate);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid var(--rk-err-border);
    text-decoration: none;
    transition: all 0.2s;
}

.rk-err-tag:hover {
    background: var(--rk-err-dark);
    color: #ffffff;
    border-color: var(--rk-err-dark);
}

@media (max-width: 768px) {
    .rk-err-header { padding: 35px 20px; }
    .rk-err-header h2 { font-size: 24px; }
    .rk-err-scanner { padding: 35px 20px; }
    .rk-err-roles { padding: 35px 20px; }
    .rk-err-role-btn { padding: 15px; }
    .rk-err-role-inner { padding: 0 15px 20px 15px; }
    .rk-err-tags { padding: 0 20px 30px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Najczęstsze błędy wykonawców łamiące PN-EN 1264 i odpowiedzialność na budowie",
    "description": "Sprawdź skutki braku OZC, zbyt długich pętli i braku dylatacji. Wyjaśniamy, czy instalator musi znać normę PN-EN 1264 i za co odpowiada kierownik budowy.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-bledy",
    "name": "Rejestr Błędów Wykonawczych i Skutków Awarii Ogrzewania (2026)",
    "description": "Baza danych parująca najczęstsze uchybienia normatywne instalatorów z bezpośrednimi fizycznymi konsekwencjami dla budynku (pęknięcia, niedogrzanie, zalanie).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "najczęstsze błędy przy montażu ogrzewania podłogowego",
      "brak ozc skutki",
      "za długa pętla podłogówki",
      "brak dylatacji ogrzewanie podłogowe",
      "obowiązki instalatora a projektant"
    ],
    "measurementTechnique": "Analiza przyczynowo-skutkowa odchyłek od europejskiej normy wbudowanych systemów płaszczyznowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd: Rozstaw 20-25 cm wszędzie -> Skutek: Zimne strefy",
        "Błąd: Brak OZC -> Skutek: Niedogrzanie",
        "Błąd: Pętle powyżej 120 m -> Skutek: Problemy hydrauliczne",
        "Błąd: Brak dylatacji -> Skutek: Pęknięcia jastrychu",
        "Błąd: Brak próby szczelności -> Skutek: Zalanie budynku"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-audytor",
    "name": "Interaktywny Audytor Błędów Instalacyjnych",
    "description": "Narzędzie pozwalające inwestorowi na szybkie zdiagnozowanie potencjalnych skutków rzemieślniczych błędów montażowych oraz ustalenie matrycy odpowiedzialności na placu budowy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-errors-widget">
    <div class="rk-err-header">
        <div class="rk-err-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Ściana Płaczu Inwestora
        </div>
        <h2>Najczęstsze błędy wykonawców i odpowiedzialność na budowie</h2>
        <p>Instalacja podłogówki z pominięciem wytycznych normy to stąpanie po kruchym lodzie. Sprawdź, jakie są skutki najpopularniejszych błędów i dowiedz się ostatecznie: kto za to odpowiada?</p>
    </div>

    <div class="rk-err-scanner">
        <h3 class="rk-err-section-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
            Skaner Błędów Łamiących PN-EN 1264
        </h3>
        
        <div class="rk-err-grid" id="rkErrGrid">
            <div class="rk-err-card">
                <div class="rk-err-card-front">
                    <div class="rk-err-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect></svg></div>
                    <h4>Rozstaw rur 20-25 cm wszędzie</h4>
                    <span class="rk-err-hint">Odkryj skutek <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg></span>
                </div>
                <div class="rk-err-card-back">
                    <svg class="rk-err-danger-icon" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    <div class="rk-err-result">Zimne Strefy i Paski</div>
                    <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="rk-err-link">Brak pokrycia strat ciepła</a>
                </div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-front">
                    <div class="rk-err-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg></div>
                    <h4>Brak obliczeń OZC</h4>
                    <span class="rk-err-hint">Odkryj skutek <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg></span>
                </div>
                <div class="rk-err-card-back">
                    <svg class="rk-err-danger-icon" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    <div class="rk-err-result">Permanentne Niedogrzanie</div>
                    <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-err-link">Wymaga wyższej temp. pompy</a>
                </div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-front">
                    <div class="rk-err-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg></div>
                    <h4>Pętle powyżej 120 metrów</h4>
                    <span class="rk-err-hint">Odkryj skutek <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg></span>
                </div>
                <div class="rk-err-card-back">
                    <svg class="rk-err-danger-icon" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    <div class="rk-err-result">Problemy Hydrauliczne</div>
                    <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" class="rk-err-link">Pompa nie pcha wody</a>
                </div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-front">
                    <div class="rk-err-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4"></path><polyline points="14 2 14 8 20 8"></polyline><path d="M2 15h10"></path><path d="M5 12l-3 3 3 3"></path></svg></div>
                    <h4>Brak dylatacji jastrychu</h4>
                    <span class="rk-err-hint">Odkryj skutek <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg></span>
                </div>
                <div class="rk-err-card-back">
                    <svg class="rk-err-danger-icon" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M16 21v-2a4 4 0 0 0-4-4H5.5"></path><polyline points="9 22 5.5 15 2 22"></polyline><path d="M22 3L2 22"></path></svg>
                    <div class="rk-err-result">Pęknięcia Posadzki</div>
                    <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" class="rk-err-link">Kucie zerwanych płytek</a>
                </div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-front">
                    <div class="rk-err-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg></div>
                    <h4>Brak próby szczelności</h4>
                    <span class="rk-err-hint">Odkryj skutek <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg></span>
                </div>
                <div class="rk-err-card-back">
                    <svg class="rk-err-danger-icon" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                    <div class="rk-err-result">Zalanie Budynku</div>
                    <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="rk-err-link">Awaria po wylaniu betonu</a>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-err-roles">
        <h3 class="rk-err-section-title">Czy instalator wykonujący podłogówkę ma obowiązek znać PN-EN 1264?</h3>
        <p class="rk-err-roles-intro">To pytanie, które najczęściej wpisują inwestorzy w przypadku awarii i szukania winnych. Prawo budowlane określa bardzo elegancki i jednoznaczny podział obowiązków między trzema głównymi aktorami na placu budowy.</p>

        <div class="rk-err-accordion" id="rkErrAccordion">
            
            <div class="rk-err-role-item active">
                <button class="rk-err-role-btn">
                    <div class="rk-err-role-header">
                        <div class="rk-err-role-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20h9"></path><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"></path></svg></div>
                        <h4 class="rk-err-role-title">Projektant HVAC</h4>
                    </div>
                    <div class="rk-err-role-chevron"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-err-role-content" style="max-height: 500px;">
                    <div class="rk-err-role-inner">
                        <p><strong>Tak, to jego absolutny obowiązek.</strong> Projektant jest intelektualnym twórcą układu. Musi wykonać obliczenia strat ciepła, dobrać rozstaw rur, obliczyć hydraulikę i stworzyć dokumentację stricte w oparciu o algorytmy PN-EN 1264. To on ponosi odpowiedzialność prawną za to, czy system wydajnościowo dogrzeje budynek w temperaturach ujemnych.</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-role-item">
                <button class="rk-err-role-btn">
                    <div class="rk-err-role-header">
                        <div class="rk-err-role-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg></div>
                        <h4 class="rk-err-role-title">Instalator / Wykonawca</h4>
                    </div>
                    <div class="rk-err-role-chevron"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-err-role-content">
                    <div class="rk-err-role-inner">
                        <p><strong>Nie musi znać na pamięć wzorów matematycznych.</strong> Jego obowiązkiem nie jest projektowanie &#8222;z głowy&#8221;. Obowiązkiem instalatora jest rzetelne i bezbłędne odtworzenie na budowie tego, co projektant narysował w <a href="https://projekt-ogrzewania.pl/czy-trzeba-miec-projekt-na-ogrzewanie-podlogowe/">projekcie ogrzewania podłogowego</a>. Musi jednak znać wytyczne montażowe (część 4 normy) dotyczące wykonywania prób ciśnieniowych (6 bar) i układania dylatacji.</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-role-item">
                <button class="rk-err-role-btn">
                    <div class="rk-err-role-header">
                        <div class="rk-err-role-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg></div>
                        <h4 class="rk-err-role-title">Kierownik Budowy</h4>
                    </div>
                    <div class="rk-err-role-chevron"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-err-role-content">
                    <div class="rk-err-role-inner">
                        <p><strong>To główny audytor.</strong> Zgodnie z Prawem Budowlanym, to on odbiera tzw. prace zanikające (czyli rury przed zalaniem betonem). Jego obowiązkiem jest sprawdzenie, czy rozstaw rur na styropianie zgadza się z projektem oraz musi być fizycznie obecny lub wymagać podpisanego protokołu z próby szczelności przed wpuszczeniem posadzkarzy.</p>
                    </div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-err-tags">
        <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-err-tag"># błędy montażu ogrzewania podłogowego</a>
        <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/" class="rk-err-tag"># obowiązki instalatora</a>
        <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/" class="rk-err-tag"># projekt z głowy vs obliczenia</a>
        <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" class="rk-err-tag"># za długa pętla skutki</a>
        <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="rk-err-tag"># zalanie budynku podłogówka</a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Logika Skanera Błędów (Karty)
    var cards = document.querySelectorAll('#rkErrGrid .rk-err-card');
    cards.forEach(function(card) {
        card.addEventListener('click', function() {
            var isRevealed = this.classList.contains('revealed');
            if (isRevealed === false) {
                this.classList.add('revealed');
            } else {
                this.classList.remove('revealed');
            }
        });
    });

    // 2. Logika Akordeonu Ról (Bezpieczne JS)
    var accItems = document.querySelectorAll('#rkErrAccordion .rk-err-role-item');
    accItems.forEach(function(item) {
        var btn = item.querySelector('.rk-err-role-btn');
        var content = item.querySelector('.rk-err-role-content');

        btn.addEventListener('click', function() {
            var isActive = item.classList.contains('active');

            // Zamknięcie wszystkich (opcjonalne, działa jak klasyczny akordeon)
            accItems.forEach(function(innerItem) {
                innerItem.classList.remove('active');
                var innerContent = innerItem.querySelector('.rk-err-role-content');
                if (innerContent !== null) {
                    innerContent.style.maxHeight = null;
                }
            });

            // Otwarcie klikniętego (jeśli nie był otwarty)
            if (isActive === false) {
                item.classList.add('active');
                if (content !== null) {
                    content.style.maxHeight = content.scrollHeight + "px";
                }
            }
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #2563eb;
    --rk-faq-blue-hover: #1d4ed8;
    --rk-faq-light-blue: #eff6ff;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #334155;
    --rk-faq-bg: #ffffff;
    --rk-faq-icon: #64748b;
}

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

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

.rk-faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(37, 99, 235, 0.3);
    color: #60a5fa;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(96, 165, 250, 0.2);
}

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

/* Interaktywny Akordeon */
.rk-faq-list-wrapper {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-faq-item {
    background: var(--rk-faq-bg);
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    margin-bottom: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
    overflow: hidden;
}

.rk-faq-item:hover {
    border-color: #bfdbfe;
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.05);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.15);
}

.rk-faq-btn {
    width: 100%;
    text-align: left;
    padding: 24px 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    color: var(--rk-faq-dark);
}

.rk-faq-item.active .rk-faq-btn {
    background: var(--rk-faq-light-blue);
}

.rk-faq-btn h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.4;
    flex: 1;
}

.rk-faq-icon-wrapper {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-faq-blue);
    flex-shrink: 0;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s;
}

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

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

.rk-faq-content-inner {
    padding: 0 30px 30px 30px;
    color: var(--rk-faq-text);
    font-size: 16px;
    line-height: 1.7;
}

.rk-faq-item.active .rk-faq-content-inner {
    border-top: 1px solid transparent; /* Wizualny odstęp */
    padding-top: 10px;
}

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

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

/* Informacja Wizualna w Treści */
.rk-faq-highlight {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f0fdf4;
    color: #166534;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 4px solid #22c55e;
    margin-top: 15px;
    font-weight: 600;
    font-size: 15px;
    width: 100%;
}

@media (max-width: 768px) {
    .rk-faq-header { padding: 35px 25px; }
    .rk-faq-list-wrapper { padding: 25px 20px; }
    .rk-faq-title { font-size: 24px; }
    .rk-faq-btn { padding: 20px; }
    .rk-faq-btn h3 { font-size: 16px; }
    .rk-faq-content-inner { padding: 0 20px 20px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "FAQ – Najczęstsze pytania dotyczące normy PN-EN 1264",
    "description": "Odpowiedzi na kluczowe pytania inżynieryjne: wygrzewanie jastrychu, długość pętli, zabudowa meblowa i kary za brak próby szczelności ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy stosowanie normy PN-EN 1264 jest obowiązkowe w budownictwie jednorodzinnym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Formalnie normy w Polsce są stosowane dobrowolnie, jednak prawo budowlane nakazuje wykonywanie instalacji zgodnie ze sztuką inżynierską, a sądy powszechne i biegli w przypadku sporów z wykonawcą traktują PN-EN 1264 jako jedyny oficjalny układ odniesienia do oceny wad wykonawczych."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka jest dopuszczalna maksymalna długość jednej pętli ogrzewania podłogowego według normy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Norma nie podaje jednej sztywnej liczby, ponieważ limit wynika z oporów hydraulicznych i średnicy rury, jednak powszechny standard inżynierski oparty na kryteriach normatywnych ogranicza długość rury 16x2 mm do 100–120 metrów, a rury 20x2 mm do 150 metrów."
        }
      },
      {
        "@type": "Question",
        "name": "Czym grozi zalanie instalacji podłogowej bez wcześniejszej próby ciśnieniowej?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Grozi to katastrofą budowlaną w postaci niezauważonego wycieku wody pod jastrychem w przypadku uszkodzenia rury klipsem lub narzędziem budowlanym, co skutkuje koniecznością zrywania całej wylewki, ponoszeniem kosztów osuszania budynku rzędu kilkunastu tysięcy złotych oraz utratą gwarancji."
        }
      },
      {
        "@type": "Question",
        "name": "Czy według normy można układać ogrzewanie podłogowe pod stałą zabudową meblową?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Norma PN-EN 1264 nakazuje projektowanie instalacji w celu pokrycia strat ciepła, a stała zabudowa kuchenna czy szafy wnękowe drastycznie zwiększają opór cieplny (Rλ,B powyżej limitu 0,15 m²K/W), przez co układanie tam rur jest błędem – powoduje przegrzewanie mebli i marnowanie energii."
        }
      },
      {
        "@type": "Question",
        "name": "Co to jest procedura wygrzewania jastrychu i czy norma ją definiuje?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, norma PN-EN 1264-4 precyzyjnie określa proces pierwszego uruchomienia grzewczego jastrychu betonowego, który może nastąpić najwcześniej po 21 dniach od zalania (dla anhydrytu po 7 dniach), zaczynając od temperatury zasilania 25°C przez 3 dni, a następnie podnosząc ją do temperatury projektowej na kolejne 4 dni w celu uwolnienia naprężeń i wilgoci technologicznej."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-faq",
    "name": "Zestawienie parametrów krytycznych montażu i odbioru podłogówki (2026)",
    "description": "Baza danych parametrów kontrolnych: dni dojrzewania jastrychu, limity długości rur PEX oraz graniczne współczynniki oporu cieplnego wyciągnięte z norm inżynieryjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "długość pętli ogrzewania podłogowego",
      "wygrzewanie jastrychu anhydryt",
      "próba ciśnieniowa podłogówki",
      "ogrzewanie podłogowe pod meblami",
      "normy wykonawcze HVAC"
    ],
    "measurementTechnique": "Wytyczne normatywne służące za układ odniesienia dla biegłych sądowych i instalatorów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wygrzewanie betonu: start po 21 dniach",
        "Wygrzewanie anhydrytu: start po 7 dniach",
        "Startowa temperatura wygrzewania: 25°C przez 3 dni"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-faq",
    "name": "Interaktywna Baza Wiedzy FAQ PN-EN 1264",
    "description": "Moduł typu akordeon, który błyskawicznie dopasowuje inżynieryjne odpowiedzi do najczęściej wyszukiwanych problemów budowlanych z zakresu instalacji podłogowych.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="norma-faq-app">
    <div class="rk-faq-header">
        <div class="rk-faq-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Baza Wiedzy Inwestora
        </div>
        <h2 class="rk-faq-title">FAQ – Najczęstsze pytania dotyczące normy PN-EN 1264</h2>
    </div>

    <div class="rk-faq-list-wrapper" id="rkFaqAccordion">
        
        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <h3>Czy stosowanie normy PN-EN 1264 jest obowiązkowe w budownictwie jednorodzinnym?</h3>
                <div class="rk-faq-icon-wrapper">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    <p>Formalnie normy w Polsce są stosowane dobrowolnie, jednak prawo budowlane nakazuje wykonywanie instalacji zgodnie ze sztuką inżynierską. Wszelkie sądy powszechne i biegli w przypadku sporów z wykonawcą traktują PN-EN 1264 jako jedyny oficjalny układ odniesienia do oceny wad wykonawczych.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <h3>Jaka jest dopuszczalna maksymalna długość jednej pętli ogrzewania podłogowego według normy?</h3>
                <div class="rk-faq-icon-wrapper">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    <p>Norma nie podaje jednej sztywnej liczby, ponieważ limit wynika z oporów hydraulicznych i średnicy rury. Jednak powszechny standard inżynierski oparty na kryteriach normatywnych określa jasne zasady: <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">ogranicza długość rury 16&#215;2 mm do 100–120 metrów</a>, a grubszej rury 20&#215;2 mm maksymalnie do 150 metrów.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <h3>Czym grozi zalanie instalacji podłogowej bez wcześniejszej próby ciśnieniowej?</h3>
                <div class="rk-faq-icon-wrapper">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    <p>Grozi to katastrofą budowlaną w postaci niezauważonego wycieku wody pod jastrychem w przypadku uszkodzenia rury klipsem lub narzędziem budowlanym. Skutkuje to koniecznością zrywania całej wylewki, ponoszeniem kosztów osuszania budynku rzędu kilkunastu tysięcy złotych oraz całkowitą utratą gwarancji. To jeden z <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstszych błędów przy montażu ogrzewania podłogowego</a>.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <h3>Czy według normy można układać ogrzewanie podłogowe pod stałą zabudową meblową?</h3>
                <div class="rk-faq-icon-wrapper">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    <p>Norma PN-EN 1264 nakazuje projektowanie instalacji w celu pokrycia strat ciepła, a stała zabudowa kuchenna czy szafy wnękowe drastycznie zwiększają opór cieplny (grubo powyżej normatywnego limitu 0,15 m²K/W). Przez to <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/">układanie tam rur jest błędem</a> – powoduje przegrzewanie mebli, marnowanie energii i psucie artykułów spożywczych.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <h3>Co to jest procedura wygrzewania jastrychu i czy norma ją definiuje?</h3>
                <div class="rk-faq-icon-wrapper">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    <p>Tak, norma PN-EN 1264-4 precyzyjnie określa proces pierwszego uruchomienia grzewczego jastrychu. <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">Wygrzewanie wylewki betonowej</a> może nastąpić najwcześniej po 21 dniach od zalania (dla anhydrytu po 7 dniach). Rozpoczyna się od temperatury zasilania 25°C przez 3 dni, a następnie podnosi się ją do temperatury projektowej na kolejne 4 dni w celu uwolnienia naprężeń i wilgoci technologicznej.</p>
                    
                    <div class="rk-faq-highlight">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                        Pominięcie wygrzewania skutkuje nieodwracalnym pękaniem płytek!
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

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

    faqItems.forEach(function(item) {
        var btn = item.querySelector('.rk-faq-btn');
        var content = item.querySelector('.rk-faq-content');
        
        btn.addEventListener('click', function() {
            var isActive = item.classList.contains('active');
            
            // Zamknij wszystkie (opcjonalne - działanie akordeonu)
            faqItems.forEach(function(innerItem) {
                innerItem.classList.remove('active');
                innerItem.querySelector('.rk-faq-btn').setAttribute('aria-expanded', 'false');
                innerItem.querySelector('.rk-faq-content').style.maxHeight = null;
            });

            // Jeśli nie był aktywny, otwórz kliknięty
            if (isActive === false) {
                item.classList.add('active');
                btn.setAttribute('aria-expanded', 'true');
                // Przypisanie dokładnej wysokości do płynnej animacji
                content.style.maxHeight = content.scrollHeight + 50 + "px";
            }
        });
    });
});
</script>



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

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

/* Sekcja Nagłówkowa */
.rk-fin-header {
    padding: 40px 50px;
    background: var(--rk-fin-dark);
    color: #ffffff;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-fin-blue);
}

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

.rk-fin-subtitle {
    font-size: 16px;
    color: #94a3b8;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 750px;
}

/* Interaktywny Widget Weryfikacyjny */
.rk-fin-widget {
    padding: 40px 50px;
    background: #f8fafc;
}

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

.rk-fin-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-fin-tab {
    flex: 1;
    padding: 15px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-fin-border);
    border-radius: 12px;
    font-weight: 700;
    color: var(--rk-fin-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-fin-tab:hover {
    border-color: var(--rk-fin-blue);
    background: var(--rk-fin-light-blue);
    color: var(--rk-fin-blue);
}

.rk-fin-tab.active {
    background: var(--rk-fin-blue);
    border-color: var(--rk-fin-blue);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.3);
}

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

/* Obszar wyświetlania danych */
.rk-fin-display {
    background: #ffffff;
    border: 1px solid var(--rk-fin-border);
    border-radius: 16px;
    padding: 35px;
    display: flex;
    align-items: flex-start;
    gap: 30px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

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

.rk-fin-display-icon svg { width: 40px; height: 40px; }

.rk-fin-display-content h4 {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-fin-dark);
}

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

.rk-fin-display-content .rk-alert {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #fef2f2;
    border-left: 4px solid var(--rk-fin-red);
    border-radius: 0 6px 6px 0;
    color: #991b1b;
    font-size: 14px;
    font-weight: 600;
    margin-top: 10px;
}

/* Konkluzja i Tagi */
.rk-fin-conclusion {
    padding: 30px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-fin-border);
}

.rk-fin-conclusion p {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
    margin: 0 0 20px 0;
}

.rk-fin-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}

.rk-mat-tag {
    background: #f1f5f9;
    color: var(--rk-fin-dark);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid #e2e8f0;
    transition: all 0.2s;
}

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

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

.rk-fin-btn-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-fin-green);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.4);
    transition: all 0.3s ease;
    border: none;
    width: 100%;
    max-width: 500px;
}

.rk-fin-btn-cta:hover {
    transform: translateY(-5px);
    background: #059669;
    box-shadow: 0 20px 35px -5px rgba(16, 185, 129, 0.5);
}

@media (max-width: 768px) {
    .rk-fin-header, .rk-fin-widget, .rk-fin-conclusion, .rk-fin-cta { padding: 30px 20px; }
    .rk-fin-title { font-size: 24px; }
    .rk-fin-tabs { flex-direction: column; }
    .rk-fin-display { flex-direction: column; align-items: center; text-align: center; padding: 25px 20px; }
    .rk-fin-display-content .rk-alert { text-align: left; }
    .rk-fin-btn-cta { padding: 16px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Podsumowanie i kluczowe wnioski inżynieryjne z normy PN-EN 1264",
    "description": "Kodeks techniczny ogrzewania podłogowego. Poznaj maksymalną temperaturę podłogi, opór cieplny okładziny oraz limity długości pętli rury chroniące przed awarią.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-limity",
    "name": "Graniczne parametry instalacyjne normy PN-EN 1264",
    "description": "Zestawienie twardych danych technicznych dotyczących maksymalnych limitów operacyjnych dla wbudowanych systemów płaszczyznowych (temperatura, izolacja, hydraulika).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "norma pn en 1264",
      "maksymalna temperatura podłogi",
      "opór cieplny okładziny",
      "długość pętli ogrzewania podłogowego",
      "profesjonalny projekt instalacji"
    ],
    "measurementTechnique": "Wartości bezwzględne wynikające ze standardu europejskiego stosowane w procesie weryfikacji odbiorczej instalacji.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalna temperatura w strefie stałego przebywania: 29°C",
        "Maksymalny dopuszczalny opór cieplny okładziny: 0,15 m2K/W",
        "Maksymalna długość pętli dla rury 16x2 mm: 100-120 metrów"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-weryfikator",
    "name": "Interaktywny Weryfikator Standardów PN-EN 1264",
    "description": "Symulator wizualizujący konsekwencje przekroczenia kluczowych limitów inżynieryjnych w wodnym ogrzewaniu podłogowym (niedogrzanie, awaria pompy, przegrzanie posadzki).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fin-container">
    <div class="rk-fin-header">
        <h2 class="rk-fin-title">Podsumowanie i kluczowe wnioski inżynieryjne</h2>
        <p class="rk-fin-subtitle">
            Norma PN-EN 1264 to kompletny kodeks techniczny, który oddziela profesjonalne projektowanie instalacji HVAC od intuicyjnego układania rur przez przypadkowych wykonawców.
        </p>
    </div>

    <div class="rk-fin-widget">
        <h3 class="rk-fin-widget-title">Sprawdź 3 fundamenty bezpieczeństwa instalacji</h3>
        
        <div class="rk-fin-tabs" id="rkFinTabs">
            <button class="rk-fin-tab active" data-target="temp">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                Max. 29°C
            </button>
            <button class="rk-fin-tab" data-target="opor">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="16" width="20" height="4" rx="1"></rect><path d="M6 12h12M10 8h4M12 4v4"></path></svg>
                Max. 0,15 m²K/W
            </button>
            <button class="rk-fin-tab" data-target="petla">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                Max. 120 m
            </button>
        </div>

        <div class="rk-fin-display" id="rkFinDisplay">
            <div class="rk-fin-display-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg>
            </div>
            <div class="rk-fin-display-content">
                <h4>Ograniczenie temperatury w strefie mieszkalnej</h4>
                <p>Maksymalna temperatura w sferze mieszkalnej to bezwzględnie <strong>29°C</strong>. Projektowanie instalacji wymagającej wyższych temperatur zasilania dla zrównoważenia strat ciepła to błąd inżynieryjny.</p>
                <p>Bezpieczeństwo konstrukcyjne oraz zdrowie domowników zależą od utrzymania tego limitu.</p>
                <div class="rk-alert">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Przegrzewanie posadzki obniża żywotność paneli.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-fin-conclusion">
        <p>
            Bezpieczeństwo konstrukcyjne, gwarancja stabilności posadzki oraz wysoka efektywność energetyczna nowoczesnych źródeł ciepła, takich jak <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" style="color: var(--rk-fin-blue); font-weight: 700; text-decoration: none;">pompy ciepła</a> czy kotły kondensacyjne, są nierozerwalnie związane z przestrzeganiem reżimu matematycznego tej normy.
        </p>
        <p>
            Każda inwestycja w ogrzewanie płaszczyznowe powinna rozpoczynać się od sporządzenia profesjonalnego projektu instalacji opartego na rzeczywistych <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" style="color: var(--rk-fin-blue); font-weight: 700; text-decoration: none;">obliczeniach strat ciepła budowlanego</a>. Próba oszczędności na etapie inżynieryjnym i działanie &#8222;na oko&#8221; skutkuje wadami, których usunięcie po stwardnieniu betonu wiąże się z ogromnymi kosztami naprawczymi.
        </p>
        <p style="font-weight: 700; color: var(--rk-fin-dark); margin-top: 20px;">
            💡 Jako specjalista HVAC rekomenduję: zawsze żądaj od swojego projektanta lub instalatora jasnej deklaracji zgodności wykonanych obliczeń z normą PN-EN 1264.
        </p>

        <div class="rk-fin-tags">
            <span class="rk-mat-tag"># norma pn en 1264</span>
            <span class="rk-mat-tag"># profesjonalny projekt instalacji</span>
            <span class="rk-mat-tag"># obliczenia strat ciepła</span>
            <span class="rk-mat-tag"># maksymalna temperatura podłogi</span>
            <span class="rk-mat-tag"># opór cieplny okładziny</span>
            <span class="rk-mat-tag"># długość pętli ogrzewania podłogowego</span>
            <span class="rk-mat-tag"># koszt usunięcia awarii wylewki</span>
            <span class="rk-mat-tag"># efektywne ogrzewanie płaszczyznowe</span>
        </div>
    </div>

    <div class="rk-fin-cta">
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-fin-btn-cta">
            CZYTAJ DALEJ NA BLOGU EKSPERCKIM
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tabs = document.querySelectorAll('.rk-fin-tab');
    var display = document.getElementById('rkFinDisplay');

    var contentData = {
        'temp': {
            icon: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg>',
            title: 'Ograniczenie temperatury w strefie mieszkalnej',
            text1: 'Maksymalna temperatura w sferze mieszkalnej to bezwzględnie <strong>29°C</strong>. Próba ogrzania nieocieplonego domu wyłącznie podłogówką grozi łamaniem tego prawa.',
            text2: 'Zdrowie użytkowników oraz bezpieczeństwo materiałów podłogowych wymagają utrzymania parametrów niskotemperaturowych.',
            alert: 'Przegrzewanie posadzki skraca żywotność rur i klejów.'
        },
        'opor': {
            icon: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>',
            title: 'Bariera przewodnictwa posadzki',
            text1: 'Graniczny opór cieplny okładziny podłogowej wynosi <strong>0,15 m²K/W</strong>. Stosowanie grubych dywanów lub izolacyjnych podkładów blokuje strumień ciepła.',
            text2: 'Brak weryfikacji tego parametru przed wykonaniem <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/" style="color: var(--rk-fin-blue); font-weight: 700; text-decoration: none;">rozstawu rur</a> spowoduje permanentne niedogrzanie salonu.',
            alert: 'Zawsze konsultuj zmianę podłogi z projektantem!'
        },
        'petla': {
            icon: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"></path><line x1="4" y1="22" x2="4" y2="15"></line></svg>',
            title: 'Krytyczne opory hydrauliczne obiegu',
            text1: 'Maksymalna długość pętli rury 16 mm nie powinna przekraczać <strong>100–120 m</strong>, aby utrzymać opory hydrauliczne w ryzach.',
            text2: 'Tworzenie pętli o długości 150 m prowadzi do zjawiska, w którym woda przestaje płynąć na końcu układu. Pompa obiegowa nie jest w stanie pokonać tarcia.',
            alert: 'Zbyt długa pętla = zimna strefa na środku pokoju.'
        }
    };

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            var target = this.getAttribute('data-target');
            var data = contentData[target];

            if (data !== undefined) {
                // Remove active class from all
                tabs.forEach(function(t) { t.classList.remove('active'); });
                // Add active to clicked
                this.classList.add('active');

                // Update content cleanly
                display.innerHTML = 
                    '<div class="rk-fin-display-icon">' + data.icon + '</div>' +
                    '<div class="rk-fin-display-content">' +
                        '<h4>' + data.title + '</h4>' +
                        '<p>' + data.text1 + '</p>' +
                        '<p>' + data.text2 + '</p>' +
                        '<div class="rk-alert">' +
                            '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg> ' +
                            data.alert +
                        '</div>' +
                    '</div>';
            }
        });
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-slate: #475569;
    --rk-dl-blue: #2563eb;
    --rk-dl-blue-light: #eff6ff;
    --rk-dl-emerald: #059669;
    --rk-dl-emerald-light: #ecfdf5;
    --rk-dl-bg: #ffffff;
    --rk-dl-gray: #f8fafc;
    --rk-dl-border: #e2e8f0;
}

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

/* Nagłówek */
.rk-dl-header {
    padding: 35px 40px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-emerald);
    text-align: center;
}

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

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

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

/* Pozioma Nawigacja (Przyciski na górze) */
.rk-dl-nav {
    display: flex;
    background: var(--rk-dl-gray);
    padding: 20px 40px;
    gap: 20px;
    border-bottom: 1px solid var(--rk-dl-border);
}

.rk-dl-nav-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-dl-border);
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-dl-slate);
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-dl-nav-btn:hover {
    border-color: #94a3b8;
}

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

.rk-dl-nav-btn svg {
    flex-shrink: 0;
}

/* Obszar Treści (Grafika / Pobieranie pod spodem) */
.rk-dl-content {
    padding: 40px;
    background: var(--rk-dl-bg);
}

.rk-dl-view {
    display: none;
}

.rk-dl-view.active {
    display: block;
}

/* Widok 1: Podgląd Grafiki */
.rk-dl-preview-wrapper {
    background: var(--rk-dl-gray);
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
}

.rk-dl-preview-img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.15);
    border: 1px solid var(--rk-dl-border);
    display: block;
    margin: 0 auto;
}

/* Widok 2: Sekcja Pobierania */
.rk-dl-download-wrapper {
    background: var(--rk-dl-emerald-light);
    border: 2px solid var(--rk-dl-emerald);
    border-radius: 16px;
    padding: 40px 30px;
    text-align: center;
}

.rk-dl-file-specs {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 25px;
}

.rk-dl-spec-badge {
    background: #ffffff;
    color: #065f46;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 800;
    border: 1px solid #a7f3d0;
}

.rk-dl-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-dl-emerald);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    padding: 20px 45px;
    border-radius: 12px;
    text-decoration: none;
    text-transform: uppercase;
}

.rk-dl-action-btn:hover {
    background: #047857;
}

/* Stopka (Na samym dole) */
.rk-dl-footer {
    background: var(--rk-dl-gray);
    padding: 25px 40px;
    border-top: 1px solid var(--rk-dl-border);
    display: flex;
    gap: 20px;
    align-items: center;
}

.rk-dl-footer-icon {
    width: 48px;
    height: 48px;
    background: #ffffff;
    border: 1px solid var(--rk-dl-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-dl-slate);
    flex-shrink: 0;
}

.rk-dl-footer-text {
    font-size: 13px;
    line-height: 1.6;
    color: var(--rk-dl-slate);
    margin: 0;
}

.rk-dl-footer-text strong {
    color: var(--rk-dl-dark);
    font-weight: 800;
    display: block;
    margin-bottom: 4px;
}

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

/* Tagi SEO */
.rk-dl-tags {
    padding: 0 40px 30px;
    background: var(--rk-dl-gray);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-dl-tag {
    background: #ffffff;
    color: var(--rk-dl-slate);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid var(--rk-dl-border);
    text-decoration: none;
}

.rk-dl-tag:hover {
    background: var(--rk-dl-dark);
    color: #ffffff;
    border-color: var(--rk-dl-dark);
}

@media (max-width: 768px) {
    .rk-dl-header, .rk-dl-content, .rk-dl-footer, .rk-dl-tags { padding: 25px 20px; }
    .rk-dl-nav { padding: 20px; flex-direction: column; gap: 10px; }
    .rk-dl-footer { flex-direction: column; text-align: center; }
    .rk-dl-action-btn { width: 100%; padding: 15px 20px; font-size: 16px; }
    .rk-dl-file-specs { flex-direction: column; gap: 8px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-pobieranie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Materiały do pobrania: Infografika PN-EN 1264 w formacie PDF",
    "description": "Zdobądź inżynieryjną ściągawkę z normy PN-EN 1264. Darmowy plik PDF dla instalatorów przygotowany przez Roberta Kucharskiego do pobrania i wydruku.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-PN-EN-1264-Norma-ktora-definiuje-ogrzewanie-podlogowe.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-infografika",
    "name": "Inżynieryjna Infografika: Norma PN-EN 1264 (PDF)",
    "description": "Wizualne zestawienie parametrów technicznych ogrzewania podłogowego w postaci zoptymalizowanego dokumentu PDF przeznaczonego na place budowy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe pdf",
      "norma pn-en 1264 do druku",
      "ściągawka instalatora podłogówki",
      "schemat układania rur ogrzewania",
      "parametry podłogówki pdf"
    ],
    "measurementTechnique": "Kompilacja kluczowych wytycznych hydraulicznych i konstrukcyjnych w formacie grafiki wektorowej/PDF wysokiej rozdzielczości.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Format pliku miniatury: WebP (Szybkie ładowanie)",
        "Format pliku bazowego: PDF (Gotowy do druku)",
        "Ograniczenia licencyjne: Zakaz modyfikacji, obowiązek zachowania logotypu"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-dystrybucja",
    "name": "Centrum Pobierania Materiałów Edukacyjnych HVAC",
    "description": "Interaktywny widget dystrybucyjny o układzie horyzontalnym umożliwiający podgląd miniatury materiału szkoleniowego (WebP) oraz bezpieczne pobranie zasobu bazowego (PDF).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-center-modern">
    <div class="rk-dl-header">
        <div class="rk-dl-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
            Materiały dla Ciebie
        </div>
        <h2>Pobierz infografikę z normą PN-EN 1264</h2>
        <p>Przygotowałem dla Ciebie czytelną, inżynieryjną ściągawkę. Pobierz darmowy plik PDF, wydrukuj go i zabierz ze sobą na budowę, aby uniknąć kosztownych błędów.</p>
    </div>

    <div class="rk-dl-nav" id="rkDlNav">
        <button class="rk-dl-nav-btn active" data-view="podglad">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
            Podgląd Grafiki
        </button>

        <button class="rk-dl-nav-btn" data-view="pobieranie">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><polyline points="9 15 12 18 15 15"></polyline></svg>
            Pobierz Plik PDF
        </button>
    </div>

    <div class="rk-dl-content">
        
        <div class="rk-dl-view active" id="view-podglad">
            <div class="rk-dl-preview-wrapper">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-PN-EN-1264-Norma-ktora-definiuje-ogrzewanie-podlogowe.webp" alt="Podgląd infografiki przedstawiającej normę PN-EN 1264" class="rk-dl-preview-img" loading="lazy">
            </div>
        </div>

        <div class="rk-dl-view" id="view-pobieranie">
            <div class="rk-dl-download-wrapper">
                <div class="rk-dl-file-specs">
                    <span class="rk-dl-spec-badge">Format: PDF</span>
                    <span class="rk-dl-spec-badge">Rozdzielczość: Druk (300 DPI)</span>
                    <span class="rk-dl-spec-badge">Rozmiar A4 / A3</span>
                </div>
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-PN-EN-1264-Norma-ktora-definiuje-ogrzewanie-podlogowe.pdf" download="Infografika-PN-EN-1264.pdf" class="rk-dl-action-btn">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                    Pobierz Dokument PDF
                </a>
            </div>
        </div>

    </div>

    <div class="rk-dl-footer">
        <div class="rk-dl-footer-icon">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M15 9.354a4 4 0 1 0 0 5.292"></path></svg>
        </div>
        <p class="rk-dl-footer-text">
            <strong>© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski.</strong>
            Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku. Zobacz nasze inne <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekty z pompą ciepła</a>.
        </p>
    </div>

    <div class="rk-dl-tags">
        <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-dl-tag"># wylewka betonowa na podłogówkę</a>
        <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" class="rk-dl-tag"># kalkulator doboru pompy</a>
        <a href="https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/" class="rk-dl-tag"># pojemność wodna instalacji pdf</a>
        <a href="#" class="rk-dl-tag"># schemat podłogówki do druku</a>
        <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" class="rk-dl-tag"># rozdzielacz podłogówki schemat</a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var navBtns = document.querySelectorAll('#rkDlNav .rk-dl-nav-btn');
    
    navBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var targetId = this.getAttribute('data-view');
            
            // Twarde usunięcie klas 'active' - brak animacji
            navBtns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Bezpieczne ukrycie widoków (użycie prostego if)
            var viewPodglad = document.getElementById('view-podglad');
            var viewPobieranie = document.getElementById('view-pobieranie');
            
            if (viewPodglad !== null) { viewPodglad.classList.remove('active'); }
            if (viewPobieranie !== null) { viewPobieranie.classList.remove('active'); }
            
            // Włączenie odpowiedniego przycisku i widoku
            this.classList.add('active');
            var activeView = document.getElementById('view-' + targetId);
            
            if (activeView !== null) {
                activeView.classList.add('active');
            }
        });
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264: Norma, która definiuje ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pętla grzewcza.</title>
		<link>https://projekt-ogrzewania.pl/petla-grzewcza/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 07 Jan 2026 13:09:43 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Hydraulika grzewcza]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[długość pętli]]></category>
		<category><![CDATA[hydraulika grzewcza]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętla grzewcza]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[regulacja ogrzewania]]></category>
		<category><![CDATA[rozdzielacz podłogówki]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3084</guid>

					<description><![CDATA[<p>Pętla grzewcza: Serce wodnego ogrzewania podłogowego to temat, który decyduje o tym, czy podłogówka będzie działać cicho, równomiernie i ekonomicznie przez lata, czy stanie się źródłem frustracji i wysokich rachunków. W artykule krok po kroku wyjaśniamy, jak działa pętla grzewcza, jakie parametry mają realne znaczenie, gdzie najczęściej popełniane są błędy projektowe i wykonawcze oraz dlaczego hydrauliczne zrównoważenie instalacji jest absolutnie kluczowe. To praktyczny przewodnik zarówno dla inwestorów, jak i wykonawców.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">Pętla grzewcza.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Pętla grzewcza</strong>&nbsp;to fundamentalny element układu, który decyduje o efektywności, komforcie i bezawaryjności wodnego ogrzewania podłogowego. W niniejszym, kompleksowym artykule przeanalizujemy jej budowę, zasady projektowania, kryteria doboru oraz praktyczne aspekty wykonawstwa. Zrozumienie działania pętli jest kluczowe zarówno dla inwestorów, jak i wykonawców, którzy chcą stworzyć system zapewniający&nbsp;<strong>idealny komfort cieplny</strong>&nbsp;przy minimalnych kosztach eksploatacji.</p>



<h2 class="wp-block-heading">Podstawy fizyki i konstrukcji obiegu grzewczego.</h2>



<p class="wp-block-paragraph"><strong>Pętla grzewcza</strong>&nbsp;to nic innego jak zamknięty układ hydrauliczny, w którym nośnik ciepła (woda lub mieszanka wodno-glikolowa) krąży między źródłem ciepła a powierzchnią grzewczą podłogi. Jej głównym zadaniem jest równomierne i efektywne oddanie energii cieplnej zgromadzonej w czynniku do wylewki betonowej, a następnie do pomieszczenia.</p>



<h3 class="wp-block-heading"><strong>Kluczowe komponenty sys</strong>t<strong>emu</strong>.</h3>



<p class="wp-block-paragraph">Każda&nbsp;<strong>pętla cieplna</strong>&nbsp;składa się z kilku integralnych elementów, które muszą ze sobą precyzyjnie współpracować:</p>



<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">Rury grzewcze</a>:</strong> To żyły systemu. Ich wybór determinuje trwałość i wydajność.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/rozdzielacz-do-ogrzewania-podlogowego-mosiezny-czy-ze-stali-nierdzewnej/">Rozdzielacz</a> z zaworami regulacyjnymi:</strong> Mózg układu – odpowiada za rozdział i zbiór czynnika, a także za regulację przepływu w każdej pętli z osobna.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">Pompa obiegowa</a>:</strong> Serca systemu – zapewnia niezbędną siłę do pokonania oporów hydraulicznych i utrzymania cyrkulacji.</li>



<li><strong>Zawór mieszający (lub zespół pompowy):</strong>&nbsp;Strażnik temperatury – obniża temperaturę wody pochodzącej z kotła (np. 70°C) do bezpiecznego dla podłogi poziomu (35-55°C).</li>
</ul>



<h3 class="wp-block-heading">Parametry pracy definiujące komfort.</h3>



<p class="wp-block-paragraph">Aby&nbsp;<strong>ogrzewanie podłogowe</strong>&nbsp;działało poprawnie, pętla musi pracować w ściśle określonych ramach:</p>



<ul class="wp-block-list">
<li><strong>Temperatura zasilania:</strong> Zwykle <strong>30–40°C</strong> dla pomieszczeń mieszkalnych, do <strong>45°C</strong> dla łazienek lub pomieszczeń o wysokich stratach ciepła. Przekroczenie 55°C grozi uszkodzeniem warstw wykończeniowych i dyskomfortem.</li>



<li><strong>Spadek temperatury (ΔT):</strong>&nbsp;Różnica między temperaturą zasilania a powrotu. Optymalna wartość to&nbsp;<strong>5–10°C</strong>. Zbyt niski ΔT (np. 2°C) oznacza zbyt duży przepływ i wysokie koszty pompowania. Zbyt wysoki (np. 15°C) – nierównomierne grzanie (ciepła podłoga przy rozdzielaczu, chłodna na końcu pętli).</li>



<li><strong>Ciśnienie robocze:</strong>&nbsp;Standardowo&nbsp;<strong>1,5–3 bara</strong>&nbsp;w układzie zamkniętym z naczyniem wzbiorczym.</li>
</ul>



<h2 class="wp-block-heading">Projektowanie pętli: między hydrauliką a ciepłownictwem.</h2>



<p class="wp-block-paragraph">Projekt&nbsp;<strong>pętli grzewczej</strong>&nbsp;nie jest intuicyjny. To proces inżynierski, który zaczyna się od obliczeń strat ciepła, a kończy na hydraulicznej równowadze całego systemu.&nbsp;<strong>Prawidłowo zaprojektowana instalacja grzewcza</strong>&nbsp;to taka, w której każda pętla dostarcza dokładnie tyle ciepła, ile potrzebuje dana strefa, przy optymalnych parametrach przepływu.</p>



<h3 class="wp-block-heading">Obliczenie wymaganej mocy grzewczej.</h3>



<p class="wp-block-paragraph">Zacznijmy od podstaw. Dla przykładowego salonu o powierzchni 25 m², z dobrymi oknami i ociepleniem ścian, straty cieplne mogą wynosić około 50 W/m².</p>



<pre style="margin:20px 0;padding:16px;background:#f1f5f9;border-left:4px solid #0f172a;border-radius:6px;font-family:monospace;">
Moc potrzebna = Powierzchnia × Straty jednostkowe

Moc potrzebna = 25 m² × 50 W/m² = <strong>1250 W</strong>
</pre>



<p class="wp-block-paragraph">Oznacza to, że&nbsp;<strong>pętla (lub pętle)</strong>&nbsp;w tym salonie muszą dostarczyć 1,25 kW energii, aby zrekompensować straty i utrzymać żądaną temperaturę (np. 20°C).</p>



<h3 class="wp-block-heading">Dobór długości i średnicy rury – kluczowe ograniczenia.</h3>



<p class="wp-block-paragraph">To najważniejsza decyzja projektowa. Kierujemy się dwoma głównymi i bezwzględnymi ograniczeniami:</p>



<ol start="1" class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">Maksymalna długość pętli</a>:</strong> Wynika z konieczności pokonania oporów przepływu przez pompę obiegową o rozsądnej mocy i efektywności. Dla najpopularniejszych rur <strong>Ø16 mm</strong> absolutnym standardem i zaleceniem producentów jest <strong>maksymalnie 80–100 m</strong>. Górna, dopuszczalna w wyjątkowych sytuacjach granica to <strong>120 m</strong>. Dłuższe pętle powodują:
<ul class="wp-block-list">
<li>Nadmierny spadek ciśnienia, wymagający bardzo mocnej (i głośnej) pompy.</li>



<li>Wysokie koszty energii elektrycznej na pompowanie.</li>



<li><strong>Ryzyko nierównomiernego grzania</strong>&nbsp;– woda wraca zbyt wychłodzona na końcu pętli.</li>



<li>Trudności z odpowietrzeniem układu.</li>
</ul>
</li>



<li><strong>Minimalna moc pętli:</strong>&nbsp;Zbyt krótka pętla (np. 30-40m) może mieć problem z „pobraniem” wystarczającej ilości ciepła z wody, co prowadzi do niskiej temperatury powrotu i potencjalnych problemów z pracą kotła kondensacyjnego czy pompy ciepła.</li>
</ol>



<p class="wp-block-paragraph">Dla naszego salonu (1250 W) i przy założeniu ΔT=8°C, możemy obliczyć wymagany przepływ:</p>



<pre style="
  margin:24px 0;
  padding:18px 22px;
  background:#f1f5f9;
  border-left:5px solid #0f172a;
  border-radius:10px;
  font-family:monospace;
  font-size:16px;
  line-height:1.8;
  white-space:pre;
">
Przepływ ≈ 1250 / (4,18 * 8) ≈ 1250 / 33,44 ≈ 37,4 kg/h ≈ 37 l/h
</pre>



<p class="wp-block-paragraph">Znając przepływ (~37 l/h) i akceptowalny spadek ciśnienia, z wykresów hydraulicznych producenta rur dobieramy optymalną długość pętli. Dla takiego przepływu i rury Ø16 mm, długość&nbsp;<strong>80-90 m</strong>&nbsp;będzie optymalna.</p>



<h3 class="wp-block-heading">Rozstaw rur: klucz do równomiernego rozkładu temperatury.</h3>



<p class="wp-block-paragraph"><strong>Typowy i prawidłowy rozstaw rur</strong>&nbsp;w ogrzewaniu podłogowym mieści się w przedziale&nbsp;<strong>10–20 cm</strong>. Rozstaw 15 cm jest uważany za standardowy dla pomieszczeń o przeciętnych stratach cieplnych (40-60 W/m²). W praktyce:</p>



<ul class="wp-block-list">
<li><strong>5–10 cm:</strong> Stosuje się w strefach brzegowych przy dużych przeszkleniach (np. przy ścianach z oknami od podłogi do sufitu), w łazienkach lub w domach o bardzo wysokim standardzie energetycznym (straty &lt;40 W/m²), gdzie potrzebna jest niższa temperatura zasilania.</li>



<li><strong>10-15 cm:</strong> Standard dla salonów, sypialni, przedpokojów.</li>



<li><strong>20–25 cm:</strong>&nbsp;Może być stosowany w pomieszczeniach pomocniczych lub jako uzupełnienie innego systemu grzewczego.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład obliczeniowy dla salonu:</strong>&nbsp;Mamy salon 25 m², w którym planujemy ułożyć pętlę o długości 85 m rury Ø16 mm. Jaki będzie średni rozstaw?</p>



<pre style="
  margin:24px 0;
  padding:18px 22px;
  background:#f1f5f9;
  border-left:6px solid #0f172a;
  border-radius:12px;
  font-family:monospace;
  font-size:16px;
  line-height:1.8;
">
Rozstaw (m) = Powierzchnia (m²) / Długość rury (m)

Rozstaw ≈ 25 m² / 85 m ≈ 0,294 m = 29,4 cm
</pre>



<p class="wp-block-paragraph"><strong>Wniosek:</strong>&nbsp;Rozstaw ~30 cm jest za duży, aby skutecznie pokryć straty 50 W/m². Oznacza to, że potrzebujemy&nbsp;<strong>większej długości rury na tę powierzchnię</strong>. Aby uzyskać standardowy rozstaw 15 cm, potrzebujemy:</p>



<pre style="
  margin:24px 0;
  padding:18px 22px;
  background:#f1f5f9;
  border-left:6px solid #0f172a;
  border-radius:12px;
  font-family:monospace;
  font-size:16px;
  line-height:1.8;
  white-space:pre;
">
Wymagana długość rury = Powierzchnia / Rozstaw = 25 m² / 0,15 m ≈ 167 m
</pre>



<p class="wp-block-paragraph">Ponieważ 167 m znacznie przekracza maksymalną długość pętli (100-120 m), salon&nbsp;<strong>musimy podzielić na dwie niezależne pętle</strong>, np. o długościach 85 m i 82 m. Każda z nich będzie miała wtedy moc około 625 W.</p>



<h3 class="wp-block-heading">Układ rur: meander vs. ślimak – analiza techniczna.</h3>



<p class="wp-block-paragraph">Wybór wzoru układania ma bezpośredni wpływ na rozkład temperatury podłogi i opory hydrauliczne.</p>



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

.tech-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  background: #ffffff;
}

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

.tech-table thead th {
  background: #0f172a;
  color: #ffffff;
  font-weight: 600;
  text-align: left;
}

/* === LINKI W NAGŁÓWKACH – WARIANT 1 (REKOMENDOWANY) === */
.tech-table thead th a {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  position: relative;
}

.tech-table thead th a::after {
  content: " ↗";
  font-size: 0.85em;
  opacity: 0.8;
}

.tech-table thead th a:hover {
  color: #c7d2fe;
}

/* ===================================================== */

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

.tech-table tbody tr:hover {
  background: #eef2ff;
}

.tech-table td:first-child {
  font-weight: 600;
  background: #f1f5f9;
  width: 22%;
}

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

<div class="table-wrap">
  <table class="tech-table">
    <thead>
      <tr>
        <th>Cecha</th>
        <th>
          <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/" target="_blank" rel="noopener">
            Układ meandrowy (wężownica)
          </a>
        </th>
        <th>
          <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/" target="_blank" rel="noopener">
            Układ ślimaczy (spirala)
          </a>
        </th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Zasada działania</td>
        <td>
          Rury ułożone równolegle, „tam i z powrotem”.
          Zasilanie i powrót znajdują się na przeciwległych końcach pętli.
        </td>
        <td>
          Rury ułożone podwójną spiralą, gdzie zasilanie i powrót
          biegną naprzemiennie obok siebie.
        </td>
      </tr>

      <tr>
        <td>Rozkład temperatury</td>
        <td>
          <strong>Nierównomierny, gradientowy.</strong><br>
          Najcieplej przy zasilaniu, najchłodniej przy powrocie.
          Różnice mogą przekraczać <strong>5–7°C</strong>.
        </td>
        <td>
          <strong>Bardzo równomierny.</strong><br>
          Stała średnia temperatura powierzchni.
          Różnice zwykle <strong>&lt; 2°C</strong>.
        </td>
      </tr>

      <tr>
        <td>Opory hydrauliczne</td>
        <td>
          <strong>Wyższe.</strong><br>
          Liczne ostre zakręty 180° generują lokalne straty ciśnienia.
        </td>
        <td>
          <strong>Znacznie niższe (20–30%).</strong><br>
          Łagodniejsze zakręty 90° i symetryczny układ.
        </td>
      </tr>

      <tr>
        <td>Zastosowanie</td>
        <td>
          Pomieszczenia wąskie i długie (korytarze),
          strefy brzegowe, okolice okien,
          gdzie gradient temperatury jest akceptowalny.
        </td>
        <td>
          <strong>Polecany w ~95% przypadków.</strong><br>
          Salony, sypialnie, pokoje dzienne –
          wszędzie tam, gdzie liczy się jednolity komfort cieplny.
        </td>
      </tr>

      <tr>
        <td>Zużycie rury</td>
        <td>
          Podobne dla tej samej powierzchni i rozstawu.
        </td>
        <td>
          Podobne, czasem nieznacznie mniejsze
          dzięki optymalizacji trasy.
        </td>
      </tr>
    </tbody>
  </table>
</div>




<p class="wp-block-paragraph"><strong>Wniosek praktyczny:</strong>&nbsp;Dla zapewnienia&nbsp;<strong>jednorodnej temperatury powierzchni grzewczej</strong>&nbsp;i minimalizacji oporów hydraulicznych (co pozwala na dłuższe pętle lub cichszą pracę pompy),&nbsp;<strong>układ ślimaczy jest rozwiązaniem zdecydowanie zalecanym i uznawanym za standard w nowoczesnych instalacjach.</strong></p>



<h2 class="wp-block-heading">Aspekt projektu ogrzewania podłogowego: nie tylko pętle.</h2>



<p class="wp-block-paragraph">Omawiając <strong>pętlę grzewczą</strong>, nie można zapomnieć o szerszym kontekście, jakim jest <strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">kompleksowy projekt ogrzewania podłogowego</a></strong>. Samo narysowanie wężownicy na planie to za mało. Profesjonalny projekt powinien być dokumentem zawierającym:</p>



<ol start="1" class="wp-block-list">
<li><strong>Obliczenia strat ciepła</strong>&nbsp;dla każdego pomieszczenia z uwzględnieniem konstrukcji budynku, lokalizacji i przeznaczenia.</li>



<li><strong>Schemat rozdzielaczy</strong>&nbsp;z dokładnym przypisaniem pętli, ich długością, obliczonym przepływem (l/h) i mocą (W).</li>



<li><strong>Obliczenia hydrauliczne</strong>&nbsp;– dobór pompy obiegowej na podstawie sumarycznego przepływu i najniekorzystniejszego spadku ciśnienia w najbardziej oporowej pętli.</li>



<li><strong>Specyfikację materiałową</strong>&nbsp;(typ i średnica rur, model rozdzielacza, izolacja, itp.).</li>



<li><strong>Schemat hydrauliczny źródła ciepła</strong>&nbsp;z zaworem mieszającym, pompami i automatiką.</li>



<li><strong>Instrukcję uruchomieniową</strong>, w tym parametry początkowej regulacji (ustawienia przepływów na zaworach nastawczych rozdzielacza).</li>
</ol>



<p class="wp-block-paragraph"><strong>Inwestycja w taki projekt się opłaca.</strong>&nbsp;Pozwala uniknąć kosztownych błędów: zimnych nóg w salonie, przegrzanych sypialni, wiecznie pracującej głośnej pompy czy zawyżonych rachunków za prąd. Jest to mapa, która prowadzi do celu, jakim jest&nbsp;<strong>energooszczędny dom</strong>&nbsp;o najwyższym komforcie cieplnym. Bez projektu wykonawczego montażysta działa „na oko”, co prawie zawsze prowadzi do niesprawności systemu.</p>



<h2 class="wp-block-heading">Realizacja i regulacja: od projektu do doskonałego działania.</h2>



<p class="wp-block-paragraph">Nawet najlepszy projekt można zepsuć podczas wykonania. Montaż&nbsp;<strong>pętli cieplnej</strong>&nbsp;wymaga precyzji i ścisłego trzymania się założeń projektowych.</p>



<h3 class="wp-block-heading">Kroki montażu kluczowe dla działania pętli.</h3>



<ol start="1" class="wp-block-list">
<li><strong>Izolacja:</strong> Warstwa izolacji termicznej pod rurą jest obowiązkowa. Minimum to 5 cm styropianu <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">EPS100</a> o lambdzie 0,040 W/mK, a lepiej 3-5 cm pianki PIR (lambda 0,022-0,026 W/mK). Jej brak oznacza ogrzewanie podłoża gruntowego lub stropu nad nieogrzewaną piwnicą, czyli straty rzędu 20-30% energii.</li>



<li><strong>Mocowanie rur:</strong>&nbsp;Stabilne, zgodne z planem układu. Należy unikać ostrych zagięć poniżej dopuszczalnego promienia gięcia (zwykle 5x średnica zewnętrznej rury). Rozstaw musi być zachowany w całym polu grzewczym.</li>



<li><strong>Zasada jednej pętli per jedno pomieszczenie/strefa:</strong>&nbsp;Nie łączymy w jednej pętli pomieszczeń o różnym przeznaczeniu (np. salon i sypialnia) lub różnej wymaganej temperaturze (łazienka i przedpokój). Każde pomieszczenie o powierzchni powyżej ~15 m² zazwyczaj wymaga własnej pętli.</li>



<li><strong>Zachowanie ciągłości rury:</strong>&nbsp;Pętla musi być wykonana z jednego odcinka rury, bez jakichkolwiek połączeń (złączek) w wylewce. Wyjątkiem są systemy suchej zabudowy z płytami prefabrykowanymi.</li>
</ol>



<h3 class="wp-block-heading">Równoważenie hydrauliczne – klucz do sukcesu systemu.</h3>



<p class="wp-block-paragraph">To najczęściej pomijany lub niedbale wykonany etap, a bez niego&nbsp;<strong>system z wieloma pętlami nie będzie działał poprawnie</strong>.&nbsp;<strong>Równoważenie</strong>&nbsp;polega na takim ustawieniu przepływu na każdym zaworze nastawczym rozdzielacza, aby każda&nbsp;<strong>pętla grzewcza</strong>&nbsp;otrzymała dokładnie tyle czynnika, ile wynika z jej zapotrzebowania mocy przy projektowym ΔT.</p>



<p class="wp-block-paragraph"><strong>Przykład praktyczny – regulacja:</strong>&nbsp;Mamy rozdzielacz z 4 pętlami zaprojektowanymi dla ΔT=8°C:</p>



<ul class="wp-block-list">
<li><strong>P1 (Salon):</strong>&nbsp;Moc 625 W → Przepływ projektowy: 625/(4,18*8) ≈&nbsp;<strong>18,7 l/h</strong></li>



<li><strong>P2 (Salon):</strong>&nbsp;Moc 625 W → Przepływ projektowy:&nbsp;<strong>18,7 l/h</strong></li>



<li><strong>P3 (Łazienka):</strong>&nbsp;Moc 850 W → Przepływ projektowy: 850/(4,18*8) ≈&nbsp;<strong>25,4 l/h</strong></li>



<li><strong>P4 (Sypialnia):</strong>&nbsp;Moc 450 W → Przepływ projektowy: 450/(4,18*8) ≈&nbsp;<strong>13,5 l/h</strong></li>
</ul>



<p class="wp-block-paragraph">Bez regulacji, najwięcej wody popłynie drogą o najmniejszym oporze (zazwyczaj najkrótszą pętlą – P4 sypialnia), która szybko przegrzeje pomieszczenie. Długie i oporowe pętle salonowe (P1, P2) pozostaną „głodne”, powodując niedogrzanie. Za pomocą przepływomierzy na rozdzielaczu&nbsp;<strong>ustawiamy przepływy na obliczonych wartościach</strong>. Wymaga to czasu, narzędzi (czasem manometrów) i cierpliwości, ale jest to&nbsp;<strong>inwestycja w bezawaryjność, komfort i oszczędność energii na lata</strong>.</p>



<h2 class="wp-block-heading">Nowoczesne trendy i optymalizacja systemu.</h2>



<p class="wp-block-paragraph">Współczesne <strong>systemy grzewcze</strong> coraz częściej łączą <strong>pętle ogrzewania podłogowego</strong> z niskotemperaturowymi źródłami ciepła, takimi jak <strong><a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a></strong>. To idealne połączenie – pompa ciepła osiąga najwyższą sprawność (COP) właśnie przy niskiej temperaturze zasilania (35-40°C), którą zapewnia poprawnie zaprojektowana podłogówka.</p>



<p class="wp-block-paragraph"><strong>Inteligentne sterowanie</strong>&nbsp;pozwala na dalszą optymalizację. Regulatory pogodowe, czujniki temperatury podłogi i algorytmy adaptacyjne sprawiają, że&nbsp;<strong>pętla grzewcza</strong>&nbsp;pracuje tylko wtedy, gdy jest to potrzebne, i z dokładnie taką intensywnością, jaka jest wymagana. W perspektywie lat różnice w kosztach eksploatacji między systemem „ustawionym na oko” a systemem precyzyjnie zaprojektowanym, wyregulowanym i sterowanym algorytmem pogodowym mogą sięgać&nbsp;<strong>15-25% rocznych kosztów ogrzewania</strong>.</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-1767789603920"><strong class="schema-faq-question"><strong>Jaka jest maksymalna długość pętli grzewczej w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Dla rur Ø16 mm standardem jest 80–100 m. Przekraczanie tej długości powoduje duże opory hydrauliczne, problemy z regulacją i nierównomierne grzanie.</p> </div> <div class="schema-faq-section" id="faq-question-1767789619635"><strong class="schema-faq-question"><strong>Czy jedno pomieszczenie może mieć więcej niż jedną pętlę grzewczą?</strong></strong> <p class="schema-faq-answer">Tak. Przy większych powierzchniach lub małym rozstawie rur pomieszczenie należy podzielić na dwie lub więcej pętli, aby zachować prawidłową długość obiegu.</p> </div> <div class="schema-faq-section" id="faq-question-1767789631402"><strong class="schema-faq-question"><strong>Dlaczego układ ślimaczny jest lepszy od meandra?</strong></strong> <p class="schema-faq-answer">Układ ślimaczny zapewnia równomierny rozkład temperatury podłogi i mniejsze opory hydrauliczne, co przekłada się na stabilniejszą i cichszą pracę systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1767789643258"><strong class="schema-faq-question"><strong>Co się stanie, jeśli pętle nie zostaną wyregulowane na rozdzielaczu?</strong></strong> <p class="schema-faq-answer">Bez równoważenia hydraulicznego krótsze pętle będą przegrzane, a dłuższe niedogrzane. To jedna z najczęstszych przyczyn problemów z komfortem w podłogówce.</p> </div> <div class="schema-faq-section" id="faq-question-1767789655943"><strong class="schema-faq-question"><strong>Czy pętla grzewcza współpracuje dobrze z pompą ciepła?</strong></strong> <p class="schema-faq-answer">Tak, to jedno z najlepszych połączeń. Prawidłowo zaprojektowana pętla grzewcza pozwala pracować pompie ciepła na niskiej temperaturze zasilania, zwiększając jej sprawność i obniżając koszty ogrzewania.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Podsumowując, pętla grzewcza to nie jest zwykła rurka w podłodze.</strong>&nbsp;To precyzyjnie zaprojektowany, zamknięty obieg, który musi być traktowany jako integralna część skomplikowanego organizmu, jakim jest system ogrzewania budynku. Kluczowe parametry –&nbsp;<strong>długość (80-100 m dla Ø16 mm), rozstaw (10-20 cm) i hydrauliczna równowaga</strong>&nbsp;– są ze sobą nierozerwalnie powiązane. Zrozumienie tych zasad, ścisłe trzymanie się reguł projektowych oraz sumienne wykonanie i regulacja to trzy filary, na których opiera się&nbsp;<strong>trwały komfort, cisza i ekonomiczna praca</strong>&nbsp;wodnego ogrzewania podłogowego.</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="YETMxPiziX"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">Projekt ogrzewania podłogowego &#8211; do 150 m2</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt ogrzewania podłogowego &#8211; do 150 m2&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/embed/#?secret=SCzDLto1wR#?secret=YETMxPiziX" data-secret="YETMxPiziX" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">Pętla grzewcza.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Podłogówka cena za m² robocizny.</title>
		<link>https://projekt-ogrzewania.pl/podlogowka-cena-za-m%c2%b2-robocizny/</link>
					<comments>https://projekt-ogrzewania.pl/podlogowka-cena-za-m%c2%b2-robocizny/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 04 Jan 2025 12:41:44 +0000</pubDate>
				<category><![CDATA[Budżet instalacji]]></category>
		<category><![CDATA[Cena robocizny 2025]]></category>
		<category><![CDATA[Czynniki kosztowe]]></category>
		<category><![CDATA[Efektywność cieplna]]></category>
		<category><![CDATA[Koszty ogrzewania podłogowego]]></category>
		<category><![CDATA[Materiały do podłogówki]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Optymalizacja kosztów]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Rozstaw rur podłogówki]]></category>
		<category><![CDATA[budżet na podłogówkę]]></category>
		<category><![CDATA[cena robocizny podłogówki]]></category>
		<category><![CDATA[efektywność cieplna]]></category>
		<category><![CDATA[instalacja ogrzewania podłogowego]]></category>
		<category><![CDATA[koszty instalacji]]></category>
		<category><![CDATA[materiały podłogówka]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka cena]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1892</guid>

					<description><![CDATA[<p>Podłogówka cena za m² robocizny to jedno z najczęściej zadawanych pytań przez inwestorów. W tym artykule szczegółowo omawiamy koszty instalacji ogrzewania podłogowego, uwzględniając rozstaw rur, lokalizację inwestycji oraz rok 2025 jako punkt odniesienia cenowego. Dowiesz się, jakie czynniki wpływają na koszt, dlaczego warto inwestować w profesjonalny projekt i jak optymalizować wydatki, aby zapewnić komfort cieplny i efektywność energetyczną.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/podlogowka-cena-za-m%c2%b2-robocizny/">Podłogówka cena za m² robocizny.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --primary: #0f172a;
    --accent: #0284c7; 
    --accent-hover: #0369a1;
    --bg-light: #f0f9ff; 
    --border-color: #e2e8f0;
    --card-bg: #ffffff;
    --text-muted: #64748b;
}

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

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

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

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

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

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

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

.hero-text a:hover {
    color: var(--accent-hover);
}

.hero-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 35px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Interaktywny Wizualizator Zakresu Prac */
.interactive-scope-container {
    background: #ffffff;
    border: 1px solid #bae6fd;
    border-radius: 20px;
    padding: 25px;
    margin-top: 30px;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.05);
}

.scope-grid {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.scope-btn {
    flex: 1;
    min-width: 120px;
    background: var(--bg-light);
    border: 2px solid transparent;
    padding: 15px 10px;
    border-radius: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--text-muted);
}

.scope-btn svg {
    width: 28px;
    height: 28px;
    stroke: currentColor;
    transition: transform 0.3s ease;
}

.scope-btn span {
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.scope-btn:hover {
    background: #e0f2fe;
    color: var(--accent);
}

.scope-btn:hover svg {
    transform: scale(1.1);
}

.scope-btn.active {
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent-hover);
    box-shadow: 0 8px 15px rgba(2, 132, 199, 0.2);
}

.scope-btn.active svg {
    stroke: #ffffff;
    transform: scale(1.1);
}

.scope-content-box {
    background: var(--bg-light);
    border-left: 4px solid var(--accent);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    min-height: 120px;
    display: none;
    animation: fadeIn 0.4s ease forwards;
}

.scope-content-box.active {
    display: block;
}

.scope-content-box h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    color: var(--primary);
}

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

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

@media (max-width: 900px) {
    .hero-content { padding: 35px 25px; }
}

@media (max-width: 600px) {
    .scope-grid { flex-direction: column; }
    .scope-btn { flex-direction: row; justify-content: flex-start; padding: 12px 20px; }
    .scope-btn svg { width: 24px; height: 24px; }
    .scope-content-box { padding: 15px; border-radius: 12px; border-left: none; border-top: 4px solid var(--accent); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Podłogówka cena za m² robocizny - Zakres prac i koszty 2026",
    "description": "Szczegółowa analiza stawek robocizny za montaż ogrzewania podłogowego w 2026 roku. Sprawdź, od czego zależy ostateczna cena instalacji i co dokładnie obejmuje kompleksowa wycena.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl"
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Zakres prac monterskich w cenie robocizny ogrzewania podłogowego",
    "description": "Zestawienie elementów wchodzących w skład uśrednionych rynkowych kosztów wykonawczych dla wodnego ogrzewania podłogowego (32-45 PLN/m²).",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Przygotowanie i izolacja",
        "value": "Wliczone w stawkę",
        "description": "Rozłożenie izolacji termicznej, przeciwwilgociowej i folii z rastrem."
      },
      {
        "@type": "PropertyValue",
        "name": "Montaż układu rur",
        "value": "Wliczone w stawkę",
        "description": "Układanie i kotwienie pętli grzewczych z uwzględnieniem stref brzegowych."
      },
      {
        "@type": "PropertyValue",
        "name": "Podłączenie rozdzielacza",
        "value": "Wliczone w stawkę",
        "description": "Złożenie i uzbrojenie rozdzielacza oraz podpięcie wszystkich obiegów."
      },
      {
        "@type": "PropertyValue",
        "name": "Próba szczelności",
        "value": "Wliczone w stawkę",
        "description": "Obowiązkowa próba ciśnieniowa wodą lub powietrzem przed wylaniem jastrychu."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Interaktywny wizualizator zakresu prac instalacyjnych",
    "applicationCategory": "EducationalApplication",
    "description": "Interaktywny panel pozwalający inwestorowi na eksplorację poszczególnych etapów wchodzących w skład rynkowej stawki za robociznę ogrzewania podłogowego.",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-hero-box" id="hero-app-container">
    <div class="hero-content">
        
        <div class="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="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Analiza stawek 2026
        </div>
        
        <p class="hero-text"><strong>Podłogówka cena za m² robocizny</strong> to jeden z kluczowych parametrów, który inwestor musi uwzględnić przy planowaniu instalacji ogrzewania płaszczyznowego. W 2026 roku podłogówka cena za m² robocizny oscyluje najczęściej w przedziale <strong>32–45 zł/m²</strong> i obejmuje kompleksowe prace monterskie – od przygotowania podłoża, przez ułożenie izolacji termicznej i przeciwwilgociowej, aż po montaż rur grzewczych oraz podłączenie i uruchomienie rozdzielacza.</p>
        
        <p class="hero-text">Na ostateczną wartość, jaką osiąga podłogówka cena za m² robocizny, wpływa przede wszystkim stopień skomplikowania instalacji, zastosowana technologia montażu oraz <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw rur w pętlach</a>, który bezpośrednio determinuje czas pracy i precyzję wykonania. W praktyce oznacza to, że <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">dobrze zaprojektowany system</a> pozwala nie tylko kontrolować koszty wykonawcze, ale również zapewnia wyższą efektywność energetyczną na lata.</p>

        <h2>Analiza stawek robocizny za ogrzewanie podłogowe</h2>

        <div class="interactive-scope-container">
            <div class="scope-grid">
                <button class="scope-btn active" data-target="step-izolacja">
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                    <span>Izolacja</span>
                </button>
                <button class="scope-btn" data-target="step-rury">
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"></path><path d="M12 12v9"></path><path d="m8 17 4 4 4-4"></path></svg>
                    <span>Układanie Rur</span>
                </button>
                <button class="scope-btn" data-target="step-rozdzielacz">
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><line x1="9" y1="9" x2="9" y2="15"></line><line x1="15" y1="9" x2="15" y2="15"></line></svg>
                    <span>Rozdzielacz</span>
                </button>
                <button class="scope-btn" data-target="step-proba">
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg>
                    <span>Próba Ciśnieniowa</span>
                </button>
            </div>

            <div id="step-izolacja" class="scope-content-box active">
                <h4>1. Przygotowanie podłoża i izolacja</h4>
                <p>Ułożenie płyt styropianowych (EPS) oraz folii przeciwwilgociowej z rastrem. W profesjonalnej wycenie wliczone jest również wykonanie dylatacji brzegowych (taśma przyścienna), co jest kluczowe dla ochrony <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">jastrychu podłogowego</a> przed pękaniem podczas pracy cieplnej wylewki.</p>
            </div>
            <div id="step-rury" class="scope-content-box">
                <h4>2. Precyzyjny montaż rur grzewczych</h4>
                <p>Rozwinięcie i zakotwienie rur PEX/PERT za pomocą spinek (tacker) z zachowaniem projektowanego układu (np. ślimakowy). Stawka uwzględnia odpowiednie zagęszczenie rur w tzw. <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">strefach brzegowych</a>, np. przy oknach tarasowych i drzwiach wyjściowych.</p>
            </div>
            <div id="step-rozdzielacz" class="scope-content-box">
                <h4>3. Podłączenie do rozdzielacza</h4>
                <p>Wpięcie wszystkich obiegów (pętli) do szafki rozdzielaczowej. W tym etapie instalator wykonuje również wstępną regulację hydrauliczną (ustawienie przepływów na rotametrach), aby zapewnić równomierne oddawanie ciepła w każdym z pomieszczeń.</p>
            </div>
            <div id="step-proba" class="scope-content-box">
                <h4>4. Obowiązkowa próba szczelności</h4>
                <p>To krytyczny punkt, którego nie wolno pominąć! Przed zalaniem rur betonem wykonawca przeprowadza nabicie instalacji ciśnieniem powietrza lub wody i sporządza protokół szczelności zgodnie z normą PN-EN 1264. To Twoja gwarancja bezpieczeństwa przed wylaniem posadzki.</p>
            </div>
        </div>

    </div>

    <noscript>
        <div style="padding: 25px 50px; background: #f8fafc; border-top: 1px solid #e2e8f0;">
            <div style="font-size: 16px; color: #0f172a; margin-bottom: 15px; font-weight: bold;">Podsumowanie prac objętych stawką 32-45 zł/m²:</div>
            <ul style="color: #475569; line-height: 1.8; margin: 0; padding-left: 20px;">
                <li>Przygotowanie izolacji termicznej i dylatacji przyściennych.</li>
                <li>Montaż rur grzewczych zgodnie z obliczeniami zapotrzebowania cieplnego.</li>
                <li>Osadzenie i podłączenie rozdzielacza wraz ze wstępną regulacją.</li>
                <li>Udokumentowana próba ciśnieniowa (szczelności).</li>
            </ul>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OBSŁUGA INTERAKTYWNEGO WIZUALIZATORA ---
    const buttons = document.querySelectorAll('.scope-btn');
    const contentBoxes = document.querySelectorAll('.scope-content-box');

    buttons.forEach(button => {
        button.addEventListener('click', () => {
            // Usuń aktywną klasę ze wszystkich przycisków i okien treści
            buttons.forEach(btn => btn.classList.remove('active'));
            contentBoxes.forEach(box => box.classList.remove('active'));

            // Dodaj aktywną klasę do klikniętego przycisku
            button.classList.add('active');

            // Pokaż odpowiednią treść
            const targetId = button.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });

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



<style>
:root {
    --primary: #0f172a;
    --accent: #ea580c; 
    --accent-hover: #c2410c;
    --bg-light: #fff7ed; 
    --border-color: #fdba74;
    --card-bg: #ffffff;
    --text-muted: #64748b;
}

.complexity-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--card-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(234, 88, 12, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.complexity-header {
    padding: 40px 50px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    border-bottom: 1px solid var(--border-color);
}

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

.complexity-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0;
}

/* Interaktywny Grid Wyzwań */
.complexity-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 30px 50px;
    background: #ffffff;
}

.complexity-card {
    border: 2px solid #f1f5f9;
    border-radius: 16px;
    padding: 25px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    background: #ffffff;
}

.complexity-card:hover {
    border-color: #fdba74;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px -5px rgba(234, 88, 12, 0.05);
}

.complexity-card.active {
    border-color: var(--accent);
    background: var(--bg-light);
}

.card-top {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.card-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #f1f5f9;
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}

.complexity-card.active .card-icon {
    background: var(--accent);
    color: #ffffff;
}

.complexity-card h3 {
    font-size: 16px;
    font-weight: 800;
    margin: 0;
    color: var(--primary);
}

.complexity-details {
    max-height: 0;
    overflow: hidden;
    transition: all 0.4s ease;
    opacity: 0;
}

.complexity-card.active .complexity-details {
    max-height: 250px;
    margin-top: 15px;
    opacity: 1;
}

.complexity-details p {
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 12px;
}

.complexity-details a {
    color: var(--accent);
    font-weight: 700;
    text-decoration: underline;
}

.cost-impact-tag {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    background: #fee2e2;
    color: #dc2626;
}

.complexity-card.active .cost-impact-tag {
    background: #dc2626;
    color: #ffffff;
}

@media (max-width: 768px) {
    .complexity-grid { grid-template-columns: 1fr; padding: 25px; }
    .complexity-header { padding: 30px 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Dlaczego stopień skomplikowania projektu podnosi stawkę za m² robocizny?",
    "description": "Analiza techniczna wpływu trudnych brył budynków, automatyki i zbalansowania hydraulicznego na cenę robocizny podłogówki w 2026 roku.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": { "@type": "Organization", "name": "Projekt-Ogrzewania.pl" }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Wskaźniki wzrostu kosztów robocizny podłogówki",
    "description": "Zestawienie procentowych i kwotowych narzutów na robociznę wynikających ze stopnia skomplikowania instalacji HVAC.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Wzrost ceny: nieregularne kształty",
        "value": "+15-25%"
      },
      {
        "@type": "PropertyValue",
        "name": "Koszt montażu automatyki (na strefę)",
        "value": "150-250 PLN"
      },
      {
        "@type": "PropertyValue",
        "name": "Czas balansowania hydraulicznego",
        "value": "3-5 h"
      }
    ],
    "creator": { "@type": "Person", "name": "Robert Kucharski" }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Analizator Trudności Montażowych HVAC",
    "applicationCategory": "EducationalApplication",
    "license": "https://projekt-ogrzewania.pl/",
    "operatingSystem": "All",
    "description": "Interaktywny panel edukacyjny wyjaśniający dylematy inżynierskie i wzrost pracochłonności przy niestandardowych projektach ogrzewania płaszczyznowego."
  }
]
</script>

<div class="complexity-box" id="complexity-app-container">
    
    <div class="complexity-header">
        <h2>Dlaczego stopień skomplikowania projektu podnosi stawkę za m²?</h2>
        <p>Inwestorzy często pytają, skąd biorą się różnice w ofertach. Prawda jest taka, że <strong>cena robocizny podłogówki w trudnych pomieszczeniach</strong> nie może być taka sama jak w prostym garażu. Kliknij w wybrane wyzwanie, aby zobaczyć, co realnie wydłuża czas pracy montera.</p>
    </div>

    <div class="complexity-grid">
        <div class="complexity-card active">
            <div class="card-top">
                <div class="card-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="M3 3h18v18H3z"></path><path d="M21 9H3"></path><path d="M21 15H3"></path><path d="M12 3v18"></path></svg>
                </div>
                <h3>Nieregularna bryła i skosy</h3>
            </div>
            <span class="cost-impact-tag">+15–25% stawki</span>
            <div class="complexity-details">
                <p>Pomieszczenia z wykuszami, wnękami i łukami wymagają precyzyjnego kotwienia rur przy każdym załamaniu. Zwiększa to ryzyko przewężenia przekroju, co musi monitorować inżynier. Każde cięcie styropianu pod skosem to dodatkowe minuty, które sumują się w godziny.</p>
            </div>
        </div>

        <div class="complexity-card">
            <div class="card-top">
                <div class="card-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg>
                </div>
                <h3>Automatyka strefowa</h3>
            </div>
            <span class="cost-impact-tag">150–250 zł / strefa</span>
            <div class="complexity-details">
                <p><strong>Koszt montażu sterowania strefowego podłogówki</strong> obejmuje instalację listew sterujących oraz siłowników termoelektrycznych na rozdzielaczu. Wymaga to nie tylko wiedzy hydraulicznej, ale i precyzyjnego sparowania termostatów z obiegami.</p>
            </div>
        </div>

        <div class="complexity-card">
            <div class="card-top">
                <div class="card-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 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <h3>Balansowanie hydrauliczne</h3>
            </div>
            <span class="cost-impact-tag">3–5h pracy fachowca</span>
            <div class="complexity-details">
                <p><strong>Zbalansowanie hydrauliczne instalacji (cena</strong> wliczona w profesjonalną usługę) to etap krytyczny. Brak pracy z <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrami</a> skutkuje niedogrzaniem odległych pętli i reklamacjami.</p>
            </div>
        </div>

        <div class="complexity-card">
            <div class="card-top">
                <div class="card-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="m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
                </div>
                <h3>Wielopoziomowość i piony</h3>
            </div>
            <span class="cost-impact-tag">Wycena indywidualna</span>
            <div class="complexity-details">
                <p>Konieczność prowadzenia kilku pionów zasilających i montażu rozdzielaczy na różnych kondygnacjach to wyzwanie logistyczne. Dowiedz się więcej o tym, <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">jak powinien wyglądać projekt</a> dla takich budynków.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- ZABEZPIECZENIE DOMENOWE ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('complexity-app-container').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fff7ed; color: #ea580c; font-family: sans-serif; border-radius: 24px;">
                <div style="font-size: 48px; margin-bottom: 20px;">🔒</div>
                <div style="font-size: 22px; font-weight: bold; margin-bottom: 10px;">Treść chroniona prawem autorskim</div>
                <p style="font-size: 14px; max-width: 500px; margin: 0 auto 20px auto; color: #9a3412;">Ten moduł interaktywny został skopiowany z serwisu Projekt-Ogrzewania.pl bez zgody autora.</p>
                <a href="https://projekt-ogrzewania.pl/" style="background: #ea580c; color: white; padding: 12px 24px; border-radius: 10px; text-decoration: none; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
            </div>
        `;
        return;
    }

    // --- LOGIKA INTERAKCJI ---
    const cards = document.querySelectorAll('.complexity-card');
    cards.forEach(card => {
        card.addEventListener('click', function() {
            cards.forEach(c => c.classList.remove('active'));
            this.classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #ea580c; 
    --accent-hover: #c2410c;
    --bg-light: #fff7ed; 
    --border-color: #fdba74;
    --card-bg: #ffffff;
    --text-muted: #64748b;
}

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

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

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

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

.hero-content h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 35px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.hero-content h4 {
    font-size: 18px;
    font-weight: 600;
    color: var(--primary);
    margin-top: 30px;
    margin-bottom: 15px;
}

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

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

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

.hero-text a:hover {
    color: var(--accent-hover);
}

/* Moduł interaktywny - Symulator Rozstawu */
.interactive-calc-wrapper {
    background: #ffffff;
    border: 1px solid #fed7aa;
    border-radius: 20px;
    padding: 30px;
    margin-top: 30px;
    box-shadow: 0 10px 25px -5px rgba(234, 88, 12, 0.05);
}

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

.calc-control-group {
    margin-bottom: 25px;
}

.calc-label {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.calc-value-display {
    color: var(--accent);
    font-size: 18px;
}

/* Suwak */
.range-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #fed7aa;
    border-radius: 5px;
    outline: none;
    transition: background 0.3s;
}

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

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

/* Przełączniki (Toggles) */
.toggle-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.toggle-btn {
    flex: 1;
    min-width: 120px;
    padding: 12px 15px;
    background: #fff7ed;
    border: 2px solid #fed7aa;
    border-radius: 12px;
    color: var(--primary);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.toggle-btn span.rate-hint {
    font-size: 12px;
    color: var(--text-muted);
    font-weight: 400;
}

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

.toggle-btn.active span.rate-hint {
    color: #ffedd5;
}

.toggle-btn:hover:not(.active) {
    background: #ffedd5;
    border-color: var(--accent);
}

/* Panel Wyników i Wizualizacji */
.results-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.data-panel {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.data-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 15px;
    background: var(--bg-light);
    border-radius: 10px;
    font-size: 14px;
    border: 1px solid #ffedd5;
}

.data-row span:first-child {
    color: #64748b;
    font-weight: 600;
}

.data-row span:last-child {
    color: var(--primary);
    font-weight: 800;
    font-size: 16px;
}

.calc-result-box {
    background: var(--primary);
    border-radius: 16px;
    padding: 25px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.calc-result-box::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 150px;
    height: 150px;
    background: rgba(255,255,255,0.05);
    border-radius: 50%;
}

.result-label {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
    margin-bottom: 10px;
}

.result-value {
    font-size: 38px;
    font-weight: 900;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 10px;
}

.result-value span {
    font-size: 18px;
    font-weight: 600;
    color: var(--accent);
}

.visual-density {
    margin-top: 10px;
    height: 60px;
    background-image: repeating-linear-gradient(90deg, transparent, transparent 15px, rgba(234, 88, 12, 0.2) 15px, rgba(234, 88, 12, 0.2) 18px);
    border-radius: 8px;
    border: 1px dashed #fed7aa;
    transition: all 0.3s ease;
}

@media (max-width: 900px) {
    .hero-content { padding: 35px 25px; }
}

@media (max-width: 650px) {
    .results-container { grid-template-columns: 1fr; }
    .toggle-group { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Jak rozstaw rur wpływa na końcowy koszt montażu i efektywność",
    "description": "Zmniejszenie rozstawu rur z 15 cm do 10 cm zwiększa pracochłonność o 33%, podnosząc cenę robocizny za m². Analiza dla standardów WT 2021.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl"
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Zależność zużycia rury od rozstawu pętli",
    "description": "Dane techniczne pokazujące, ile metrów bieżących rury przypada na metr kwadratowy podłogi przy konkretnym zagęszczeniu.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Zużycie przy rozstawie 15 cm",
        "value": "6,7 mb/m²"
      },
      {
        "@type": "PropertyValue",
        "name": "Zużycie przy rozstawie 10 cm",
        "value": "10,0 mb/m²"
      },
      {
        "@type": "PropertyValue",
        "name": "Wzrost pracochłonności 15cm vs 10cm",
        "value": "+33%"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator gęstości rur i pracochłonności",
    "applicationCategory": "CalculatorApplication",
    "description": "Narzędzie interaktywne ilustrujące zależność między wybranym rozstawem rur a całkowitym kosztem robocizny i ilością użytego materiału.",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-hero-box" id="hero-app-container">
    <div class="hero-content">
        
        <div class="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"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
            Efektywność vs Koszt
        </div>
        
        <h2>Jak rozstaw rur wpływa na końcowy koszt montażu i efektywność?</h2>
        
        <p class="hero-text">Zmniejszenie rozstawu rur z 15 cm do 10 cm zwiększa pracochłonność montażu o <strong>33%</strong>, co bezpośrednio przekłada się na wzrost ceny robocizny o około 7–10 zł/m². Przy rozstawie 10 cm instalator musi ułożyć 10 metrów bieżących rury na każdy metr kwadratowy, podczas gdy przy rozstawie 15 cm jest to tylko 6,7 metra.</p>
        
        <p class="hero-text">Zwiększona gęstość rur wymaga również większej liczby pętli grzewczych, co oznacza więcej czasu poświęconego na precyzyjne podłączenie rur do sekcji rozdzielacza i ich prawidłowe oznaczenie. Wybór rozstawu rur musi wynikać z obliczeń zapotrzebowania na ciepło (q w W/m²). W nowoczesnym budownictwie o standardzie WT 2021, gdzie zapotrzebowanie wynosi zazwyczaj 30–45 W/m², <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">rozstaw 15 cm jest wystarczający</a>.</p>

        <h4>Zagęszczenie w strefach brzegowych</h4>
        
        <p class="hero-text">Jednak w <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">strefach brzegowych</a> (przy dużych przeszkleniach i ścianach zewnętrznych) norma PN-EN 1264 sugeruje zagęszczenie rur do 10 cm lub nawet 7,5 cm, aby zniwelować wpływ mostków termicznych. Dla instalatora oznacza to konieczność częstszego gięcia rur i zachowania minimalnych promieni gięcia (zazwyczaj 5 × średnica rury), co jest procesem żmudnym i podnoszącym koszt usługi.</p>

        <div class="interactive-calc-wrapper">
            <div class="calc-grid">
                
                <div class="calc-control-group">
                    <div class="calc-label">
                        <span>Analizowana Powierzchnia</span>
                        <span class="calc-value-display"><span id="areaValue">100</span> m²</span>
                    </div>
                    <input type="range" id="areaSlider" class="range-slider" min="30" max="250" step="10" value="100">
                </div>
                
                <div class="calc-control-group">
                    <div class="calc-label"><span>Wybierz gęstość ułożenia pętli</span></div>
                    <div class="toggle-group" id="densityToggles">
                        <button class="toggle-btn" data-spacing="20" data-pipe="5" data-rate="32" data-visual="20">
                            Co 20 cm
                            <span class="rate-hint">Pokoje techniczne</span>
                        </button>
                        <button class="toggle-btn active" data-spacing="15" data-pipe="6.7" data-rate="35" data-visual="15">
                            Co 15 cm
                            <span class="rate-hint">Standard (WT2021)</span>
                        </button>
                        <button class="toggle-btn" data-spacing="10" data-pipe="10" data-rate="42" data-visual="10">
                            Co 10 cm
                            <span class="rate-hint">Łazienki / Okna</span>
                        </button>
                    </div>
                    <div class="visual-density" id="densityVisual"></div>
                    <div style="text-align:center; font-size: 11px; color: #94a3b8; margin-top:5px;">Symulacja gęstości rur</div>
                </div>

                <div class="results-container">
                    <div class="data-panel">
                        <div class="data-row">
                            <span>Zużycie rury (na m²)</span>
                            <span id="pipePerSqM">6.7 mb</span>
                        </div>
                        <div class="data-row">
                            <span>Ilość rury (całość)</span>
                            <span id="totalPipe">670 mb</span>
                        </div>
                        <div class="data-row">
                            <span>Pracochłonność względem 15cm</span>
                            <span id="workloadDiff" style="color: #64748b;">100% (Baza)</span>
                        </div>
                    </div>
                    
                    <div class="calc-result-box">
                        <div class="result-label">Koszt Robocizny</div>
                        <div class="result-value" id="totalCost">3 500 <span>zł</span></div>
                        <div style="font-size: 13px; color: #ffedd5; margin-top: 5px;">
                            Przyjęto: <strong id="currentRateLabel">35 zł/m²</strong>
                        </div>
                    </div>
                </div>

            </div>
        </div>

    </div>

    <noscript>
        <div style="padding: 20px 50px; background: #f8fafc; border-top: 1px solid #e2e8f0;">
            <div style="font-size: 16px; color: #0f172a; margin-bottom: 10px; font-weight: bold;">Zależność zużycia rury od rozstawu:</div>
            <ul style="color: #475569; line-height: 1.6;">
                <li><strong>Rozstaw 20 cm:</strong> 5 mb rury na 1 m²</li>
                <li><strong>Rozstaw 15 cm:</strong> 6,7 mb rury na 1 m² (Standard)</li>
                <li><strong>Rozstaw 10 cm:</strong> 10 mb rury na 1 m² (Zwiększona pracochłonność)</li>
                <li><strong>Rozstaw 7,5 cm:</strong> 13,3 mb rury na 1 m² (Strefy brzegowe)</li>
            </ul>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- LOGIKA SYMULATORA GĘSTOŚCI ---
    const areaSlider = document.getElementById('areaSlider');
    const areaValue = document.getElementById('areaValue');
    const totalCostDisplay = document.getElementById('totalCost');
    const densityToggles = document.querySelectorAll('.toggle-btn');
    const currentRateLabel = document.getElementById('currentRateLabel');
    
    const pipePerSqMDisplay = document.getElementById('pipePerSqM');
    const totalPipeDisplay = document.getElementById('totalPipe');
    const workloadDiffDisplay = document.getElementById('workloadDiff');
    const densityVisual = document.getElementById('densityVisual');
    
    let currentArea = 100;
    let currentRate = 35;
    let currentPipe = 6.7;
    let currentSpacingVisual = 15;

    function formatCurrency(number) {
        return new Intl.NumberFormat('pl-PL', { maximumFractionDigits: 0 }).format(number);
    }

    function calculate() {
        const totalCost = currentArea * currentRate;
        const totalPipe = currentArea * currentPipe;
        
        totalCostDisplay.innerHTML = `${formatCurrency(totalCost)} <span>zł</span>`;
        currentRateLabel.textContent = `${currentRate} zł/m²`;
        
        pipePerSqMDisplay.textContent = `${currentPipe.toString().replace('.', ',')} mb`;
        totalPipeDisplay.textContent = `${formatCurrency(totalPipe)} mb`;
        
        // Obliczenia pracochłonności wzgledem 15cm
        if (currentPipe === 6.7) {
            workloadDiffDisplay.textContent = "100% (Baza)";
            workloadDiffDisplay.style.color = "#64748b";
        } else if (currentPipe > 6.7) {
            const diff = Math.round(((currentPipe / 6.7) - 1) * 100);
            workloadDiffDisplay.textContent = `+${diff}% czasu`;
            workloadDiffDisplay.style.color = "#ea580c";
        } else {
            const diff = Math.round((1 - (currentPipe / 6.7)) * 100);
            workloadDiffDisplay.textContent = `-${diff}% czasu`;
            workloadDiffDisplay.style.color = "#16a34a";
        }
        
        // Aktualizacja wizualizacji gęstości
        densityVisual.style.backgroundImage = `repeating-linear-gradient(90deg, transparent, transparent ${currentSpacingVisual}px, rgba(234, 88, 12, 0.6) ${currentSpacingVisual}px, rgba(234, 88, 12, 0.6) ${currentSpacingVisual + 3}px)`;
    }

    if(areaSlider) {
        areaSlider.addEventListener('input', function(e) {
            currentArea = parseInt(e.target.value);
            areaValue.textContent = currentArea;
            calculate();
        });
    }

    densityToggles.forEach(btn => {
        btn.addEventListener('click', function() {
            densityToggles.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            currentRate = parseFloat(this.getAttribute('data-rate'));
            currentPipe = parseFloat(this.getAttribute('data-pipe'));
            currentSpacingVisual = parseInt(this.getAttribute('data-visual'));
            
            calculate();
        });
    });

    calculate(); // Initial run

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



<style>
:root {
    --primary: #0f172a;
    --accent: #ea580c; /* Ciepły pomarańczowy, spójny z tematyką ogrzewania */
    --accent-hover: #c2410c;
    --danger: #dc2626;
    --warning: #f59e0b;
    --success: #16a34a;
    --bg-light: #fff7ed;
    --border-color: #fdba74;
}

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

.anatomy-header {
    padding: 40px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    border-bottom: 1px solid var(--border-color);
}

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

.anatomy-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 15px;
}

.anatomy-header p:last-child {
    margin-bottom: 0;
}

.anatomy-workspace {
    display: flex;
    min-height: 520px;
}

/* LEWA STRONA - ZAKŁADKI / CZYNNIKI */
.anatomy-layers {
    width: 40%;
    background: #ffffff;
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px 20px;
    gap: 12px;
}

.layer-btn {
    position: relative;
    width: 100%;
    padding: 16px;
    border-radius: 12px;
    border: 2px solid #ffedd5;
    background: #ffffff;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 15px;
    overflow: hidden;
}

.layer-btn::before {
    content: '';
    position: absolute;
    left: 0; top: 0; height: 100%; width: 6px;
    background: #fdba74;
    transition: all 0.3s;
}

/* Subtelne różnice kolorystyczne dla kategorii */
.layer-btn[data-layer="lokalizacja"]::before { background: #3b82f6; } 
.layer-btn[data-layer="skomplikowanie"]::before { background: #8b5cf6; } 
.layer-btn[data-layer="system"]::before { background: #f59e0b; } 
.layer-btn[data-layer="ekipa"]::before { background: #10b981; } 
.layer-btn[data-layer="zakres"]::before { background: #ef4444; } 

.layer-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(234, 88, 12, 0.05);
    border-color: #fdba74;
}

.layer-btn.layer-active {
    border-color: var(--accent);
    background: #fff7ed;
    box-shadow: 0 10px 20px -5px rgba(234, 88, 12, 0.15);
}

.layer-btn.layer-active::before {
    background: var(--accent) !important;
    width: 8px;
}

.layer-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #94a3b8;
    transition: all 0.3s;
}

.layer-btn.layer-active .layer-icon {
    transform: scale(1.15);
    color: var(--accent);
}

.layer-title {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: var(--primary);
    line-height: 1.3;
}

.layer-subtitle {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 5px;
}

/* PRAWA STRONA - SZCZEGÓŁY WARSTWY */
.anatomy-details {
    width: 60%;
    background: var(--bg-light);
    padding: 40px;
    position: relative;
}

.detail-pane {
    display: none;
    animation: fadeInSlide 0.4s ease-out forwards;
}

.detail-pane.pane-active {
    display: block;
}

.detail-pane h4 {
    margin: 0 0 20px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 12px;
}

.detail-pane p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 15px;
}

.detail-pane ul {
    margin: 0 0 20px 0;
    padding-left: 20px;
}

.detail-pane li {
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 10px;
}

.detail-pane a {
    color: var(--accent);
    text-decoration: underline;
    font-weight: 600;
}

.highlight-box {
    background: #ffffff;
    border-left: 4px solid var(--accent);
    padding: 18px 20px;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    font-weight: 500;
    color: #334155;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
    margin-top: 20px;
    line-height: 1.6;
}

.highlight-box strong {
    color: var(--primary);
    font-weight: 800;
}

/* Mini interaktywny suwak w panelu 1 */
.mini-slider-container {
    margin-top: 20px;
    background: #ffffff;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid #fdba74;
}

.mini-slider-label {
    display: flex;
    justify-content: space-between;
    font-weight: 700;
    font-size: 13px;
    color: var(--primary);
    margin-bottom: 10px;
    text-transform: uppercase;
}

.mini-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 6px;
    background: #ffedd5;
    border-radius: 3px;
    outline: none;
}

.mini-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--accent);
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

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

@media (max-width: 800px) {
    .anatomy-header { padding: 30px 20px; }
    .anatomy-workspace { flex-direction: column; min-height: auto; }
    .anatomy-layers {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border-color);
        padding: 20px;
    }
    .anatomy-details {
        width: 100%;
        padding: 30px 20px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Co wpływa na ostateczną cenę robocizny podłogówki?",
    "description": "5 kluczowych czynników decydujących o wycenie instalacji ogrzewania podłogowego w 2026 roku: lokalizacja, stopień skomplikowania, technologia, doświadczenie ekipy oraz pełen zakres prac.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Czynniki kosztotwórcze robocizny ogrzewania podłogowego 2026",
    "description": "Zestawienie mnożników i zmiennych wpływających na odchylenia od bazowej stawki za m² układania podłogówki.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Narzut lokalizacyjny (Warszawa)",
        "value": "+18 do +25%"
      },
      {
        "@type": "PropertyValue",
        "name": "Narzut za skomplikowanie (wiele pomieszczeń)",
        "value": "Wzrost z 0.38 do 0.65 r-g/m²"
      },
      {
        "@type": "PropertyValue",
        "name": "Montaż na siatce stalowej",
        "value": "+12% czasu pracy"
      },
      {
        "@type": "PropertyValue",
        "name": "Dopłata za dojazd powyżej 50km",
        "value": "2.5 - 3.5 PLN/km"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Panel analizy czynników wyceny instalacyjnej",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Narzędzie interaktywne typu 'anatomy', pozwalające inwestorowi badać wpływ różnych zmiennych projektowych (system, dojazd, ekipa) na ostateczną cenę usług hydraulicznych.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-anatomy-box" id="pricing-factors-app-container">
    
    <div class="anatomy-header">
        <h2>Co wpływa na cenę robocizny oprócz rozstawu?</h2>
        <p>Gdy inwestorzy pytają o to, jaka jest obecnie <strong>podłogówka cena za m² robocizny</strong>, często spodziewają się jednej, sztywnej kwoty. W rzeczywistości stawka w 2026 roku zależy od pięciu zmiennych czynników technicznych i rynkowych, które wyceniam indywidualnie w każdym zleceniu.</p>
    </div>

    <div class="anatomy-workspace">
        
        <div class="anatomy-layers">
            <span style="font-size: 11px; font-weight: 800; color: #94a3b8; text-transform: uppercase; letter-spacing: 1px; text-align: center; margin-bottom: 5px;">Eksploruj czynniki wyceny</span>
            
            <button class="layer-btn layer-active" data-target="pane-lokalizacja" data-layer="lokalizacja">
                <svg class="layer-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg>
                <div>
                    <div class="layer-title">Lokalizacja Inwestycji</div>
                    <span class="layer-subtitle">Region i Dojazd do klienta</span>
                </div>
            </button>
            
            <button class="layer-btn" data-target="pane-skomplikowanie" data-layer="skomplikowanie">
                <svg class="layer-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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="layer-title">Stopień Skomplikowania</div>
                    <span class="layer-subtitle">Bryła budynku i ilość pętli</span>
                </div>
            </button>
            
            <button class="layer-btn" data-target="pane-system" data-layer="system">
                <svg class="layer-icon" 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><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                <div>
                    <div class="layer-title">System Mocowania</div>
                    <span class="layer-subtitle">Spinki vs Tacker vs Płyty</span>
                </div>
            </button>
            
            <button class="layer-btn" data-target="pane-ekipa" data-layer="ekipa">
                <svg class="layer-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                <div>
                    <div class="layer-title">Doświadczenie Ekipy</div>
                    <span class="layer-subtitle">Gwarancja i profesjonalizm</span>
                </div>
            </button>

            <button class="layer-btn" data-target="pane-zakres" data-layer="zakres">
                <svg class="layer-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                <div>
                    <div class="layer-title">Pełen Zakres Prac</div>
                    <span class="layer-subtitle">Dodatki ukryte w wycenie</span>
                </div>
            </button>
        </div>

        <div class="anatomy-details">
            
            <div class="detail-pane pane-active" id="pane-lokalizacja">
                <h4>1. Regionalizacja cen i logistyka</h4>
                <p>Ceny usług instalacyjnych różnią się drastycznie w zależności od województwa. Warszawa centrum to zazwyczaj <strong>+18–25%</strong> względem średniej krajowej. Z kolei wschodnia Polska i małe miejscowości pozwalają oszczędzić od <strong>-5 do -12%</strong>.</p>
                <p>Istotny jest również dojazd. Gdy budowa znajduje się daleko od siedziby firmy, wkraczają dodatkowe koszty logistyczne.</p>
                
                <div class="mini-slider-container">
                    <div class="mini-slider-label">
                        <span>Dystans powyżej 50 km (Dopłata)</span>
                        <span id="travelCostDisplay" style="color: var(--accent);">0 zł</span>
                    </div>
                    <input type="range" id="travelSlider" class="mini-slider" min="0" max="100" step="5" value="0">
                    <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Stawka: 3,00 zł / km. Przesuń suwak, aby sprawdzić dodatkowy koszt transportu ekipy.</div>
                </div>
            </div>

            <div class="detail-pane" id="pane-skomplikowanie">
                <h4>2. Bryła budynku a pracochłonność</h4>
                <p>Metraż to nie wszystko. Czas, w jakim ekipa ułoży instalację, jest mierzony w roboczo-godzinach na metr kwadratowy (r-g/m²).</p>
                <ul>
                    <li><strong>Proste przestrzenie:</strong> Pomieszczenia otwarte (typu open-space) o powierzchni 60 m² to szybka praca: ok. <strong>0,38 r-g/m²</strong>.</li>
                    <li><strong>Skomplikowane układy:</strong> Dom wielopoziomowy, 14 małych pomieszczeń ze skosami, słupami i dwoma rozdzielaczami winduje czas pracy do <strong>0,65 r-g/m²</strong>.</li>
                </ul>
                <div class="highlight-box">
                    Właśnie z powodu architektury, w profesjonalnych cennikach instalatorów widełki za to samo zadanie mogą wynosić <strong>55–80 zł</strong> dla prostych domów, aż po <strong>80–120 zł</strong> dla rozbudowanych projektów deweloperskich.
                </div>
            </div>

            <div class="detail-pane" id="pane-system">
                <h4>3. Technologia przytwierdzania rur</h4>
                <p>Wybór materiałów wpływa bezpośrednio na tempo pracy montera. Każdy system ma swoje wady i zalety finansowe:</p>
                <ul>
                    <li><a href="https://projekt-ogrzewania.pl/spinka-do-styropianu-do-takera/">Spinki do styropianu EPS 100:</a> Jest to metoda najszybsza (ok. 0,42 r-g/m²). Standard w nowoczesnym budownictwie.</li>
                    <li><strong>Siatka stalowa i opaski:</strong> Wymagają o <strong>+12% więcej czasu</strong> (praca ręczna), stosowane częściej w halach przemysłowych.</li>
                    <li><strong>Płyty systemowe (Tacker z wypustkami):</strong> Przyspieszają montaż o <strong>-8% czasu</strong> w stosunku do spinek, jednak wymagają zakupu znacznie droższego podłoża.</li>
                </ul>
            </div>

            <div class="detail-pane" id="pane-ekipa">
                <h4>4. Kompetencje i rzetelność fachowców</h4>
                <p>Tania robocizna potrafi zemścić się w pierwszym sezonie grzewczym. Podłogówka cena za m² robocizny odzwierciedla też jakość narzędzi i gwarancje.</p>
                <div class="highlight-box" style="border-left-color: var(--success);">
                    <strong>Profesjonalna firma (70–85 zł/m² w wyższym standardzie):</strong><br>
                    Posiada certyfikaty producenta rur. Wykonuje udokumentowaną <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbę szczelności (zgodnie z PN-EN 1264-4)</a>. Daje nawet 10 lat gwarancji na swój montaż.
                </div>
                <div class="highlight-box" style="border-left-color: var(--danger); margin-top: 15px;">
                    <strong>Firma &#8222;po taniości&#8221; (50 zł/m²):</strong><br>
                    Często nie posiada nawet manometru cyfrowego. Nie przeprowadza prób ciśnieniowych i znika z placu budowy tuż po zalaniu rur wylewką.
                </div>
            </div>

            <div class="detail-pane" id="pane-zakres">
                <h4>5. Co dokładnie obejmuje umowa?</h4>
                <p>Zanim zaakceptujesz ofertę, upewnij się, co zostało wliczone w bazową stawkę za metr układania. Koszty dodatkowe mogą drastycznie zmienić ostateczny rachunek.</p>
                <ul>
                    <li>Czy w cenie jest osadzenie i montaż <a href="https://projekt-ogrzewania.pl/szafka-podtynkowa-do-rozdzielaczy-ogrzewania-podlogowego/">szafek podtynkowych</a>?</li>
                    <li>Czy umowa przewiduje <a href="https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/">frezowanie instalacji</a> (częsty wymóg w budynkach remontowanych)?</li>
                    <li>Zabezpieczenie rur peszlem w miejscach przejść przez dylatacje.</li>
                    <li><strong>Dokumentacja fotograficzna:</strong> W moich projektach wymagam zawsze minimum 12 zdjęć z napełnionym manometrem podczas próby ciśnieniowej.</li>
                </ul>
            </div>

        </div>
    </div>
    
    <noscript>
        <style>
            .detail-pane { display: block !important; margin-bottom: 30px; }
            .mini-slider-container { display: none; }
        </style>
        <div style="padding: 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 18px; color: #0f172a; margin-bottom: 15px;">Zestawienie parametrów wyceny:</h3>
            <ul style="color: #475569; line-height: 1.6;">
                <li><strong>Lokalizacja:</strong> Warszawa (+25%), mniejsze miejscowości (-10%). Dopłaty za dojazd powyżej 50km.</li>
                <li><strong>Skomplikowanie:</strong> Otwarte salony (taniej) vs małe pokoje z dużą liczbą załamań (drożej).</li>
                <li><strong>System:</strong> Spinki EPS to standard. Płyty systemowe są szybsze, ale droższe w materiale.</li>
                <li><strong>Gwarancje:</strong> Droższe ekipy wykonują próby ciśnieniowe zgodne z normami.</li>
                <li><strong>Zakres ukryty:</strong> Upewnij się, że w cenie jest szafka podtynkowa i dokumentacja foto.</li>
            </ul>
        </div>
    </noscript>
</div>

<script>
function initPricingFactorsTabs() {
    // --- 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 lockContainer = document.getElementById('pricing-factors-app-container');
        if (lockContainer) {
            lockContainer.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #fff7ed; color: #ea580c; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                    <div style="font-size: 48px; margin-bottom: 20px;">🔒</div>
                    <div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona prawem autorskim</div>
                    <div style="font-size: 16px; max-width: 500px; color: #9a3412; line-height: 1.5; margin-bottom: 25px;">Ten interaktywny moduł edukacyjny jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został wdrożony nielegalnie.</div>
                    <a href="https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/" style="padding: 14px 28px; background: #ea580c; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s; text-transform: uppercase;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
                </div>
            `;
        }
        return; 
    }

    const appContainer = document.getElementById('pricing-factors-app-container');
    if (!appContainer) return;

    // --- LOGIKA ZAKŁADEK ---
    const layerBtns = appContainer.querySelectorAll('.layer-btn');
    const panes = appContainer.querySelectorAll('.detail-pane');

    layerBtns.forEach(function(button) {
        button.addEventListener('click', function(e) {
            e.preventDefault(); 
            layerBtns.forEach(function(btn) { btn.classList.remove('layer-active'); });
            panes.forEach(function(pane) { pane.classList.remove('pane-active'); });
            
            this.classList.add('layer-active');
            const targetId = this.getAttribute('data-target');
            const targetPane = appContainer.querySelector('#' + targetId);
            if(targetPane) {
                targetPane.classList.add('pane-active');
            }
        });
    });

    // --- LOGIKA MINI-KALKULATORA DOJAZDU ---
    const travelSlider = document.getElementById('travelSlider');
    const travelCostDisplay = document.getElementById('travelCostDisplay');
    
    if (travelSlider && travelCostDisplay) {
        travelSlider.addEventListener('input', function() {
            const distance = parseInt(this.value);
            const ratePerKm = 3.0; // średnio 3 zł/km dopłaty
            const cost = distance * ratePerKm;
            travelCostDisplay.textContent = `+ ${cost.toFixed(0)} zł`;
        });
    }
}

if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initPricingFactorsTabs);
} else {
    initPricingFactorsTabs();
}
</script>



<style>
:root {
    --primary-hvac: #0f172a;
    --accent-hvac: #ea580c; 
    --bg-tip: #fff7ed; 
}

.expert-tip-wrapper {
    max-width: 850px;
    margin: 50px auto 40px auto;
}

.expert-tip-wrapper h2 {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary-hvac);
    margin: 0 0 20px 0;
    text-align: center;
}

.expert-tip-container {
    background: var(--bg-tip);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    gap: 25px;
    align-items: center;
    border-left: 6px solid var(--accent-hvac);
    position: relative;
    font-family: 'Inter', -apple-system, sans-serif;
    text-align: left;
    box-shadow: 0 10px 25px -5px rgba(234, 88, 12, 0.05);
}

.expert-tip-photo-wrap {
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    position: relative;
}

.expert-tip-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 10px rgba(234, 88, 12, 0.15);
}

.expert-tip-photo-wrap::after {
    content: '💡';
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: #ffffff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    border: 1px solid #fdba74;
}

.expert-tip-content {
    flex-grow: 1;
}

.expert-tip-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: var(--accent-hvac);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.expert-tip-text {
    font-size: 16px;
    line-height: 1.6;
    color: var(--primary-hvac);
    font-style: italic;
    margin: 0;
}

.expert-tip-text strong {
    color: var(--accent-hvac);
    font-weight: 800;
}

.expert-tip-text a {
    color: var(--accent-hvac);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 700;
    font-style: normal;
}

.expert-tip-text a:hover {
    color: #c2410c;
}

.expert-tip-signature {
    display: block;
    margin-top: 15px;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
}

@media (max-width: 600px) {
    .expert-tip-container { flex-direction: column; text-align: center; padding: 25px; }
    .expert-tip-photo-wrap { margin-bottom: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Gdy inwestorzy pytają mnie o to, ile ostatecznie wyniesie ich cena za metr kwadratowy robocizny przy układaniu podłogówki, zawsze powtarzam jedną zasadę: patrzcie na projekt, nie na suche stawki. Najtańszy monter rzucający rurę 'na oko' z reguły pomija koszty dylatacji przyściennych i kluczowej próby ciśnieniowej, co kończy się aneksami. Z mojego doświadczenia jako projektanta instalacji wynika, że rzetelne obliczenia OZC pozwalają zoptymalizować układ pętli i zredukować koszty wykonawcze o 10–15%, a przede wszystkim gwarantują, że wylewka nie popęka po pierwszym uruchomieniu pompy ciepła.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "CEO & Główny Projektant",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ],
      "worksFor": {
        "@type": "Organization",
        "name": "Projekt-Ogrzewania.pl"
      }
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Ekspercka optymalizacja kosztów robocizny",
    "description": "Zestawienie inżynierskich zasad wpływających na redukcję rynkowej ceny za wykonanie ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Redukcja kosztów wykonawczych z projektem",
        "value": "10-15%"
      },
      {
        "@type": "PropertyValue",
        "name": "Eliminowane ryzyka",
        "value": "Brak dylatacji, przewymiarowanie, brak próby ciśnieniowej"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/"
    }
  }
]
</script>

<div class="expert-tip-wrapper">
    <h2><span style="margin-right:10px">⚖️</span>Robert Kucharski o kosztach i błędach</h2>
    
    <div class="expert-tip-container" id="expert-tip-pricing">
        <div class="expert-tip-photo-wrap">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Główny Projektant" class="expert-tip-photo" loading="lazy">
        </div>
        <div class="expert-tip-content">
            <span class="expert-tip-label">Wskazówka Projektanta</span>
            <p class="expert-tip-text">
                &#8222;Gdy inwestorzy pytają mnie o to, ile ostatecznie wyniesie ich <strong>cena za metr kwadratowy robocizny przy układaniu podłogówki</strong>, zawsze powtarzam jedną zasadę: patrzcie na projekt, nie na suche stawki. Najtańszy monter rzucający rurę 'na oko&#8217; z reguły pomija koszty dylatacji przyściennych i kluczowej próby ciśnieniowej, co kończy się aneksami do umowy. Z mojego doświadczenia jako <a href="https://projekt-ogrzewania.pl/author/admin3399/">głównego projektanta instalacji</a> wynika, że rzetelne obliczenia pozwalają zoptymalizować rozstaw rur, co często redukuje ostateczne koszty wykonawcze o 10–15%, a przede wszystkim daje gwarancję, że wylewka nie popęka po odpaleniu ogrzewania.&#8221;
            </p>
            <span class="expert-tip-signature">— Robert Kucharski, CEO &#038; Główny Projektant Projekt-Ogrzewania.pl</span>
        </div>
    </div>

    <noscript>
        <div style="padding: 20px; background: #fff7ed; border-radius: 20px; margin-top: 20px; font-family: sans-serif; border: 1px solid #fdba74;">
            <p style="font-size: 14px; font-weight: bold; color: #0f172a;">Rekomendacja inżynierska Roberta Kucharskiego:</p>
            <p style="font-size: 14px; color: #475569;">Prawidłowa cena robocizny za m² musi wynikać z projektu. Montaż &#8222;na oko&#8221; i najtańsze wyceny to ryzyko braku dylatacji i prób szczelności. Projekt pozwala oszczędzić 10-15% na kosztach materiałów i robociźnie instalatora.</p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('expert-tip-pricing');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; width: 100%; border: 2px solid #dc2626;">
                    <span style="font-size: 32px; margin-bottom: 15px; display: block;">🔒</span>
                    <div style="font-size: 20px; font-weight: bold; margin-bottom: 10px;">Moduł ekspercki chroniony autorsko</div>
                    <p style="font-size: 14px; color: #7f1d1d; margin: 0;">Osobista rekomendacja ekspercka Roberta Kucharskiego jest własnością serwisu Projekt-Ogrzewania.pl i została skopiowana nielegalnie.</p>
                </div>
            `;
            container.style.borderLeft = 'none';
            container.style.background = 'transparent';
            container.style.padding = '0';
            container.style.boxShadow = 'none';
        }
    }
});
</script>



<p class="wp-block-paragraph"></p>



<style>
:root {
    --primary: #0f172a;
    --accent: #ea580c; 
    --accent-hover: #c2410c;
    --success: #16a34a;
    --bg-light: #fff7ed; 
    --border-color: #fdba74;
    --card-bg: #ffffff;
    --text-muted: #64748b;
}

.premium-calc-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--card-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(234, 88, 12, 0.15);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

/* Sekcja Nagłówka i Steppera */
.calc-intro-section {
    padding: 40px 50px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    border-bottom: 1px solid var(--border-color);
}

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

.calc-intro-text {
    font-size: 16px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 25px;
}

/* Przyjazny Blok Wzoru */
.friendly-formula-box {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid #fdba74;
    box-shadow: 0 4px 6px -1px rgba(234, 88, 12, 0.05);
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
}

.friendly-formula-box::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 6px;
    background: var(--accent);
}

.friendly-formula-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--accent);
    text-transform: uppercase;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.friendly-formula-math {
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.math-badge {
    background: var(--bg-light);
    border: 1px solid #fed7aa;
    padding: 8px 14px;
    border-radius: 8px;
    color: #475569;
}

.math-badge strong {
    color: var(--primary);
    font-weight: 800;
}

.math-operator {
    color: #94a3b8;
    font-size: 20px;
}

.math-explanation {
    margin-top: 15px;
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    border-top: 1px dashed #e2e8f0;
    padding-top: 15px;
}

/* Interaktywny Stepper */
.stepper-logic {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.step-item {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 18px 20px;
    cursor: pointer;
    transition: all 0.3s;
    background: #fafaf9;
}

.step-item:hover {
    border-color: #fdba74;
    background: #ffffff;
}

.step-item.active {
    background: #ffffff;
    border-color: var(--accent);
    box-shadow: 0 8px 20px rgba(234, 88, 12, 0.08);
}

.step-top {
    display: flex;
    align-items: center;
    gap: 15px;
}

.step-num {
    width: 28px;
    height: 28px;
    background: #e2e8f0;
    color: #64748b;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 13px;
    transition: all 0.3s;
}

.step-item.active .step-num { background: var(--accent); color: #fff; }

.step-title { font-weight: 700; font-size: 15px; flex: 1; color: var(--primary); }

.step-toggle-icon {
    color: #94a3b8;
    transition: transform 0.3s;
}

.step-item.active .step-toggle-icon {
    transform: rotate(180deg);
    color: var(--accent);
}

.step-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, margin-top 0.4s;
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.step-item.active .step-body { max-height: 250px; margin-top: 12px; }

.step-formula-tag {
    display: inline-block;
    background: var(--bg-light);
    color: var(--accent);
    padding: 6px 12px;
    border-radius: 6px;
    font-family: 'Courier New', Courier, monospace;
    font-weight: 700;
    font-size: 13px;
    margin-top: 8px;
    border: 1px dashed #fdba74;
}

/* Sekcja Robocza Kalkulatora */
.calc-main-header { padding: 40px 50px 0 50px; background: #fff; }
.calc-main-header h3 { font-size: 22px; font-weight: 800; margin: 0; color: var(--primary); }

.calc-workspace {
    display: flex;
    flex-wrap: wrap;
    background: #ffffff;
}

.calc-inputs {
    flex: 1.2;
    min-width: 320px;
    padding: 30px 50px 40px 50px;
}

.calc-outputs {
    flex: 0.8;
    min-width: 320px;
    padding: 30px 50px 40px 50px;
    background: #fafaf9;
    border-left: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.input-group { margin-bottom: 25px; }

.input-label {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
    color: var(--primary);
}

.input-val-box { color: var(--accent); font-size: 16px; }

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

.range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 26px;
    height: 26px;
    background: var(--accent);
    border-radius: 50%;
    cursor: pointer;
    border: 3px solid #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

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

.selector-group { display: flex; gap: 8px; }

/* POPRAWKA KOLORU NA PRZYCISKU */
.selector-btn {
    flex: 1;
    padding: 12px;
    border-radius: 10px;
    border: 2px solid #ffedd5;
    background: #fff;
    font-size: 13px;
    font-weight: 700;
    color: var(--primary); /* Dodano wyraźny granatowy kolor */
    cursor: pointer;
    transition: 0.2s;
}

.selector-btn:hover:not(.active) {
    border-color: var(--accent);
    background: var(--bg-light);
}

.selector-btn.active { 
    background: var(--accent); 
    border-color: var(--accent); 
    color: #fff; 
}

/* Karty Wyników */
.res-card {
    background: #fff;
    padding: 18px;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.res-icon { 
    width: 44px; height: 44px; 
    background: var(--bg-light); 
    color: var(--accent); 
    border-radius: 10px; 
    display: flex; align-items: center; justify-content: center; 
    flex-shrink: 0; 
}

.res-info { display: flex; flex-direction: column; }
.res-lbl { font-size: 11px; font-weight: 700; color: #64748b; text-transform: uppercase; margin-bottom: 3px; }
.res-val { font-size: 22px; font-weight: 900; color: var(--primary); }

.total-card { background: var(--primary); border: none; padding: 25px; }
.total-card .res-icon { background: rgba(255,255,255,0.1); color: #fff; }
.total-card .res-lbl { color: #94a3b8; }
.total-card .res-val { color: #fff; font-size: 32px; }
.total-card .res-val span { color: var(--accent); font-size: 18px; }

/* CTA */
.calc-cta-footer {
    padding: 40px 50px;
    text-align: center;
    background: linear-gradient(135deg, var(--bg-light) 0%, #ffffff 100%);
    border-top: 1px solid var(--border-color);
}

.calc-cta-footer h4 { font-size: 22px; font-weight: 900; color: var(--primary); margin: 0 0 15px 0; }
.calc-cta-footer p { font-size: 15px; color: #475569; margin: 0 auto 25px auto; max-width: 600px; line-height: 1.6; }

.cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--accent);
    color: #fff;
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: 0.3s;
    box-shadow: 0 10px 20px -5px rgba(234, 88, 12, 0.4);
}

.cta-btn:hover { background: var(--accent-hover); transform: translateY(-3px); color: #fff; }

@media (max-width: 800px) {
    .calc-intro-section, .calc-main-header, .calc-inputs, .calc-outputs, .calc-cta-footer { padding: 30px 25px; }
    .calc-outputs { border-left: none; border-top: 1px solid var(--border-color); }
    .friendly-formula-math { flex-direction: column; align-items: flex-start; gap: 5px; }
    .math-operator { display: none; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Algorytm wyceny robocizny ogrzewania podłogowego 2026",
    "description": "Profesjonalny algorytm obliczania kosztów montażu podłogówki. Zestawienie krok po kroku oraz interaktywny kalkulator inżynierski.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "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" }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Inżynierski Kalkulator Robocizny Podłogówki",
    "applicationCategory": "CalculatorApplication",
    "license": "https://projekt-ogrzewania.pl/",
    "operatingSystem": "All",
    "description": "Narzędzie do precyzyjnego wyliczania kosztów wykonawczych instalacji grzewczych w oparciu o algorytm netto/brutto i współczynniki skomplikowania."
  }
]
</script>

<div class="premium-calc-container" id="main-engineer-app">
    
    <div class="calc-intro-section">
        <h2>Algorytm wyceny i kalkulacji kosztów robocizny</h2>
        <p class="calc-intro-text">Wycena instalacji to nie zgadywanka z metrażu budynku. Opieram ją zawsze o precyzyjny wzór inżynierski, który uwzględnia wszystkie zmienne układu.</p>
        
        <div class="friendly-formula-box">
            <div class="friendly-formula-title">
                <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="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
                Wzór na ostateczny koszt
            </div>
            
            <div class="friendly-formula-math">
                <span class="math-badge"><strong>Całkowita Robocizna</strong></span> 
                <span class="math-operator">=</span> 
                <span class="math-badge">Σ (Metraż × Stawka)</span> 
                <span class="math-operator">+</span> 
                <span class="math-badge">Rozdzielacz</span> 
                <span class="math-operator">+</span> 
                <span class="math-badge">Próba ciśnieniowa</span>
            </div>
            
            <div class="math-explanation">
                <strong>Jak to czytać?</strong> Zamiast strzelać stawką w ciemno, sumujemy (Σ) koszty ułożenia pętli dla poszczególnych stref (w zależności od gęstości rur), a do tego dodajemy stałe koszty montażu rozdzielacza i wykonania udokumentowanej próby szczelności.
            </div>
        </div>

        <div class="stepper-logic">
            <div class="step-item active">
                <div class="step-top">
                    <div class="step-num">1</div>
                    <div class="step-title">Wyznaczenie powierzchni netto</div>
                    <svg class="step-toggle-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
                <div class="step-body">
                    Odejmujemy powierzchnie pod stałą zabudową, taką jak wyspy kuchenne, wanny czy szafy wnękowe. Pod nimi nie układamy rur grzewczych, więc nie płacisz za ich montaż.
                    <br><span class="step-formula-tag">A_netto = Metraż całkowity – Zabudowa</span>
                </div>
            </div>
            <div class="step-item">
                <div class="step-top">
                    <div class="step-num">2</div>
                    <div class="step-title">Obliczanie długości rur i pętli</div>
                    <svg class="step-toggle-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
                <div class="step-body">
                    Przy standardowym rozstawie 15 cm mnożymy metraż netto przez współczynnik zagęszczenia (6,7). Całość dzielimy na pętle grzewcze, z których żadna nie powinna przekraczać 85-100 mb.
                    <br><span class="step-formula-tag">Liczba pętli = (A_netto × 6,7 × 1,05) / 85 mb</span>
                </div>
            </div>
            <div class="step-item">
                <div class="step-top">
                    <div class="step-num">3</div>
                    <div class="step-title">Korekta o stopień skomplikowania</div>
                    <svg class="step-toggle-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
                <div class="step-body">
                    Jeśli na 100 m² przypada więcej niż 5 oddzielnych pomieszczeń, doliczamy współczynnik skomplikowania (1,15) za utrudniony montaż, liczne dylatacje przyścienne i ciasne podejścia.
                </div>
            </div>
        </div>
    </div>

    <div class="calc-main-header">
        <h3>Interaktywny Kalkulator Robocizny 2026</h3>
    </div>
    
    <div class="calc-workspace">
        <div class="calc-inputs">
            <div class="input-group">
                <div class="input-label"><span>Powierzchnia całkowita</span> <span class="input-val-box"><span id="lblTotal">140</span> m²</span></div>
                <input type="range" id="rngTotal" class="range-input" min="50" max="250" value="140">
            </div>
            <div class="input-group">
                <div class="input-label"><span>Powierzchnia pod zabudowę</span> <span class="input-val-box"><span id="lblBuild">15</span> m²</span></div>
                <input type="range" id="rngBuild" class="range-input" min="0" max="50" value="15">
            </div>
            <div class="input-group">
                <div class="input-label"><span>Liczba pomieszczeń</span> <span class="input-val-box"><span id="lblRooms">6</span> szt.</span></div>
                <input type="range" id="rngRooms" class="range-input" min="2" max="15" value="6">
            </div>
            <div class="input-group" style="margin-bottom: 0;">
                <div class="input-label"><span>Rozstaw rur (Większość domu)</span></div>
                <div class="selector-group" id="densityPick">
                    <button class="selector-btn" data-density="10" data-rate="42">Co 10 cm</button>
                    <button class="selector-btn active" data-density="6.7" data-rate="35">Co 15 cm</button>
                </div>
            </div>
        </div>

        <div class="calc-outputs">
            <div class="res-card">
                <div class="res-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><path d="M3 9h18"></path><path d="M9 21V9"></path></svg></div>
                <div class="res-info">
                    <span class="res-lbl">Powierzchnia Netto</span>
                    <span class="res-val" id="resNet">125 m²</span>
                </div>
            </div>
            <div class="res-card">
                <div class="res-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"></path><path d="M12 12v9"></path></svg></div>
                <div class="res-info">
                    <span class="res-lbl">Długość rur / Obwody</span>
                    <span class="res-val" id="resPipe">879 mb / 11 szt.</span>
                </div>
            </div>
            <div class="res-card total-card">
                <div class="res-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div>
                <div class="res-info">
                    <span class="res-lbl">Suma za robociznę</span>
                    <span class="res-val" id="resTotal">5 675 <span>zł</span></span>
                </div>
            </div>
        </div>
    </div>

    <div class="calc-cta-footer">
        <h4>Projekt eliminuje błędy wyceny i awarie.</h4>
        <p>Brak projektu instalacji powoduje zgadywanie przepływów, zaniżanie pierwotnych wycen i późniejsze kosztowne aneksowanie umów z instalatorami. Zabezpiecz się przed nieuczciwymi wykonawcami.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
            <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>
            Zamów Profesjonalny Projekt
        </a>
    </div>

    <noscript>
        <div style="padding: 20px 50px; background: #f8fafc; border-top: 1px solid #e2e8f0;">
            <p><strong>Zależności kosztowe:</strong> Rozstaw 15 cm to standardowa stawka rynkowa (ok. 35 zł/m²), z kolei rozstaw 10 cm, ze względu na większą gęstość i trudność układania rury, kosztuje ok. 42 zł/m².</p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- STEPPER LOGIC ---
    const steps = document.querySelectorAll('.step-item');
    steps.forEach(s => {
        s.addEventListener('click', () => {
            steps.forEach(x => { if (x !== s) x.classList.remove('active'); });
            s.classList.toggle('active');
        });
    });

    // --- CALC LOGIC ---
    const rngT = document.getElementById('rngTotal'), rngB = document.getElementById('rngBuild'), rngR = document.getElementById('rngRooms');
    const lblT = document.getElementById('lblTotal'), lblB = document.getElementById('lblBuild'), lblR = document.getElementById('lblRooms');
    const rNet = document.getElementById('resNet'), rPipe = document.getElementById('resPipe'), rTotal = document.getElementById('resTotal');
    const densityBtns = document.querySelectorAll('#densityPick .selector-btn');

    let density = 6.7, rate = 35;

    function update() {
        let total = parseInt(rngT.value), build = parseInt(rngB.value), rooms = parseInt(rngR.value);
        
        // Zabezpieczenie przed ujemnym netto
        if(build >= total) {
            build = total - 5;
            rngB.value = build;
        }

        lblT.innerText = total; lblB.innerText = build; lblR.innerText = rooms;

        const net = total - build;
        const pipe = Math.ceil(net * density * 1.05);
        const loops = Math.ceil(pipe / 85);
        
        const complexityRatio = rooms / (total / 100);
        const complexity = complexityRatio > 5 ? 1.15 : 1.0;
        
        // Koszty = (Baza) + (Podłączenie Pętli) + (Stałe: rozdzielacz + próba 750zł)
        const totalCost = Math.round((net * rate * complexity) + (loops * 50) + 750);

        rNet.innerText = net + ' m²';
        rPipe.innerText = pipe + ' mb / ' + loops + ' szt.';
        rTotal.innerHTML = new Intl.NumberFormat('pl-PL').format(totalCost) + ' <span>zł</span>';
    }

    [rngT, rngB, rngR].forEach(el => el.addEventListener('input', update));
    
    densityBtns.forEach(btn => {
        btn.addEventListener('click', () => {
            densityBtns.forEach(b => b.classList.remove('active'));
            btn.classList.add('active');
            density = parseFloat(btn.dataset.density);
            rate = parseInt(btn.dataset.rate);
            update();
        });
    });

    update(); // Init

    // --- DOMAIN LOCK ---
    const d = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(d)) {
        document.getElementById('main-engineer-app').innerHTML = '<div style="padding: 80px 20px; text-align: center; background: #fff7ed; color: #ea580c; font-weight: 800; border-radius: 24px; font-size: 18px;">🔒 Treść chroniona prawem autorskim serwisu Projekt-Ogrzewania.pl. Prosimy o usunięcie kodu z tej domeny.</div>';
    }
});
</script>



<style>
:root {
    --cs-primary: #0f172a;
    --cs-accent: #2563eb;
    --cs-step1: #16a34a; /* Kolor zielony dla kosztorysu */
    --cs-step2: #ea580c; /* Kolor pomarańczowy dla hydrauliki */
    --cs-bg: #f8fafc;
    --cs-border: #e2e8f0;
    --cs-text: #475569;
}

.case-study-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--cs-border);
    overflow: hidden;
}

/* ================= HEADER I METRYCZKA ================= */
.cs-header-wrapper {
    background: var(--cs-primary);
    color: #ffffff;
    padding: 40px 50px;
    position: relative;
    overflow: hidden;
}

.cs-header-wrapper::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.3) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
}

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

.cs-header-wrapper h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 25px 0;
    line-height: 1.3;
    color: #ffffff;
    position: relative;
    z-index: 2;
}

.cs-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    position: relative;
    z-index: 2;
}

.cs-stat-box {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 12px;
    backdrop-filter: blur(4px);
}

.cs-stat-label {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.cs-stat-value {
    display: block;
    font-size: 16px;
    font-weight: 900;
    color: #ffffff;
}

/* ================= OPIS WYZWANIA ================= */
.cs-content-section {
    padding: 40px 50px 30px 50px;
    background: #ffffff;
}

.cs-lead-text {
    font-size: 16px;
    line-height: 1.8;
    color: var(--cs-text);
    margin: 0 0 20px 0;
}

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

.cs-lead-text a {
    color: var(--cs-accent);
    text-decoration: underline;
    font-weight: 600;
}

/* Bloki z wyliczeniami w tekscie */
.cs-calc-block {
    background: #f8fafc;
    border: 1px solid var(--cs-border);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 25px;
}

.cs-calc-block ul {
    margin: 0;
    padding-left: 20px;
    list-style-type: none;
}

.cs-calc-block li {
    margin-bottom: 10px;
    font-size: 15px;
    color: var(--cs-text);
    position: relative;
}

.cs-calc-block li::before {
    content: '→';
    position: absolute;
    left: -20px;
    color: var(--cs-accent);
    font-weight: bold;
}

.cs-calc-block li strong { color: var(--cs-primary); }

.cs-calc-highlight {
    background: #eff6ff;
    padding: 15px;
    border-radius: 8px;
    margin-top: 15px;
    border-left: 4px solid var(--cs-accent);
    font-size: 14px;
    color: #1e3a8a;
    font-weight: 600;
}

.cs-author-box {
    background: #f0f9ff;
    border-left: 4px solid var(--cs-accent);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 10px;
}

.cs-author-photo {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #ffffff;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.2);
    flex-shrink: 0;
}

.cs-author-box p {
    margin: 0;
    font-size: 14px;
    color: #1e3a8a;
    line-height: 1.6;
}

/* ================= INTERAKTYWNE WYZWANIE (SPLIT CARDS) ================= */
.cs-interactive-section {
    padding: 0 50px 40px 50px;
}

.cs-split-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.cs-split-card {
    border-radius: 16px;
    padding: 25px;
    border: 2px solid var(--cs-border);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    background: #ffffff;
    display: flex;
    flex-direction: column;
}

.cs-split-card:not(.active) {
    opacity: 0.7;
    transform: scale(0.98);
}

.cs-split-card.step1.active {
    border-color: var(--cs-step1);
    background: #f0fdf4;
    box-shadow: 0 10px 25px rgba(22, 163, 74, 0.1);
    opacity: 1;
    transform: scale(1);
}

.cs-split-card.step2.active {
    border-color: var(--cs-step2);
    background: #fff7ed;
    box-shadow: 0 10px 25px rgba(234, 88, 12, 0.1);
    opacity: 1;
    transform: scale(1);
}

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

.cs-card-icon {
    font-size: 28px;
}

.cs-card-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--cs-primary);
    margin: 0;
}

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

.cs-card-solution {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px dashed rgba(0,0,0,0.1);
    font-size: 14px;
    line-height: 1.6;
    display: none;
}

.cs-split-card.step1 .cs-card-solution { color: #14532d; }
.cs-split-card.step2 .cs-card-solution { color: #7c2d12; }

.cs-card-solution ul {
    margin: 0;
    padding-left: 20px;
    list-style-type: square;
}

.cs-card-solution li { margin-bottom: 8px; }
.cs-card-solution code { font-weight: 800; font-family: 'Inter', sans-serif; background: rgba(255,255,255,0.5); padding: 2px 6px; border-radius: 4px;}

.cs-split-card.active .cs-card-solution {
    display: block;
    animation: csFadeIn 0.4s ease forwards;
}

/* ================= CTA ================= */
.cs-cta-box {
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    padding: 35px 50px;
    text-align: center;
    border-top: 1px solid var(--cs-border);
}

.cs-cta-box h4 {
    font-size: 20px;
    font-weight: 900;
    color: var(--cs-primary);
    margin: 0 0 10px 0;
}

.cs-cta-box p {
    font-size: 15px;
    color: #475569;
    margin: 0 auto 20px auto;
    max-width: 600px;
}

.cs-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--cs-accent);
    color: #ffffff;
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.4);
}

.cs-cta-button:hover {
    background: #1e3a8a;
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(37, 99, 235, 0.5);
    color: #ffffff;
}

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

@media (max-width: 768px) {
    .cs-header-wrapper { padding: 35px 25px; }
    .cs-stats-grid { grid-template-columns: 1fr 1fr; }
    .cs-content-section { padding: 30px 25px 20px 25px; }
    .cs-interactive-section { padding: 0 25px 30px 25px; }
    .cs-cta-box { padding: 30px 25px; }
    .cs-split-container { grid-template-columns: 1fr; }
}
</style>

<div class="case-study-module" id="app-calc-case-study">

    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "WebApplication",
        "name": "Kalkulacja Robocizny i Przepływów: Studium Przypadku",
        "description": "Szczegółowa analiza kosztów robocizny ogrzewania podłogowego oraz inżynieryjne wyliczenia nastaw rotametrów dla domu o powierzchni 140 m².",
        "applicationCategory": "EducationalApplication",
        "operatingSystem": "All",
        "url": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/",
        "license": "https://projekt-ogrzewania.pl/",
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski",
          "sameAs": [
            "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
            "https://www.linkedin.com/in/robert-kucharski-38069b48/"
          ]
        },
        "featureList": [
          "Wycena robocizny w podziale na strefy grzewcze",
          "Obliczenia błędów wycen zryczałtowanych",
          "Inżynierskie obliczenia przepływu i nastawy rotametrów"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Dataset",
        "name": "Realne dane z projektu instalacji (Luty 2026)",
        "description": "Zestawienie parametrów projektowych, finansowych i hydraulicznych użytych do analizy błędów wykonawczych.",
        "license": "https://projekt-ogrzewania.pl/",
        "variableMeasured": [
          {
            "@type": "PropertyValue",
            "name": "Koszt całkowity (rzeczywisty)",
            "value": "10 524 PLN"
          },
          {
            "@type": "PropertyValue",
            "name": "Błąd wyceny ryczałtowej (65 zł/m²)",
            "value": "-13.5%"
          },
          {
            "@type": "PropertyValue",
            "name": "Moc instalacji (Q)",
            "value": "11.5 kW"
          },
          {
            "@type": "PropertyValue",
            "name": "Nastawa rotametru (na pętlę)",
            "value": "3.3 l/min"
          }
        ],
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      }
    ]
    </script>

    <div class="cs-header-wrapper">
        <div class="cs-badge">Kalkulacja z Projektu</div>
        <h2>Jak policzyć całkowity koszt robocizny ogrzewania podłogowego</h2>
        <div class="cs-stats-grid">
            <div class="cs-stat-box">
                <span class="cs-stat-label">Dom pow. netto</span>
                <span class="cs-stat-value">140 m²</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Koszt całkowity</span>
                <span class="cs-stat-value">10 524 zł</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Błąd wyceny &#8222;na oko&#8221;</span>
                <span class="cs-stat-value" style="color: #fca5a5;">-13,5%</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Nastawa rotametru</span>
                <span class="cs-stat-value">3,3 l/min</span>
            </div>
        </div>
    </div>

    <div class="cs-content-section">
        <p class="cs-lead-text">Całkowity koszt robocizny liczysz <strong>z projektu, a nie z metrażu budynku</strong>. Wykonawcy, którzy dają jedną uśrednioną cenę, niemal zawsze dopisują później aneksy do umowy. Poniżej przedstawiam konkretny przykład z lutego 2026 roku (Dom Pana Marka), oparty na autorskim wzorze: <strong>K_rob = Σ (A_i × C_Ti) + K_rozdz + K_proba</strong>.</p>
        
        <div class="cs-calc-block">
            <ul>
                <li><strong>A1 (Strefy otwarte):</strong> 92 m², rozstaw 150 mm, stawka 65 zł/m² <strong>→ 5 980 zł</strong></li>
                <li><strong>A2 (Łazienki, okna):</strong> 28 m², rozstaw zagęszczony 100 mm, stawka 78 zł/m² <strong>→ 2 184 zł</strong></li>
                <li><strong>A3 (Sypialnie):</strong> 20 m², rozstaw 200 mm, stawka 58 zł/m² <strong>→ 1 160 zł</strong></li>
                <li><strong>K_rozdz (Rozdzielacze):</strong> 2 szt. × 450 zł <strong>→ 900 zł</strong></li>
                <li><strong>K_proba (Szczelność):</strong> Próba 6 bar + protokół <strong>→ 300 zł</strong></li>
            </ul>
            <div class="cs-calc-highlight">
                Razem: 10 524 zł, czyli średnio 75,2 zł/m². Gdyby instalator przyjął ryczałtem &#8222;atrakcyjne&#8221; 65 zł/m² dla całości, wyceniłby to na 9 100 zł. Różnica? Ponad 13% błędu, który odbiłby się na jakości materiałów lub aneksach.
            </div>
        </div>

        <div class="cs-author-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="cs-author-photo" loading="lazy">
            <p><strong>Robert Kucharski:</strong> &#8222;Rozkładamy koszty i hydraulikę na czynniki pierwsze. Kliknij w karty poniżej, aby zobaczyć jak krok po kroku tworzymy algorytm wyceny i – co najważniejsze – jak liczymy przepływy do precyzyjnego ustawienia pętli.&#8221;</p>
        </div>
    </div>

    <div class="cs-interactive-section">
        <div class="cs-split-container">
            
            <div class="cs-split-card step1 active" id="cs-btn-step1">
                <div class="cs-card-header">
                    <span class="cs-card-icon">📋</span>
                    <h3 class="cs-card-title">7 Kroków Kalkulacji</h3>
                </div>
                <p class="cs-card-desc">Nie zgaduj. Policz w 7 krokach, dokładnie tak, jak liczę to w biurze dla każdego zlecenia.</p>
                <div class="cs-card-solution">
                    <ul>
                        <li><strong>Krok 1:</strong> Policz zapotrzebowanie. <code>Q_obl = Q_OZC × 1,15</code>. Dla 140 m² po OZC Q = 9,8 kW → 11,27 kW.</li>
                        <li><strong>Krok 2:</strong> Podziel na strefy. Salon 35 m², strata 2450 W → wymóg 70 W/m².</li>
                        <li><strong>Krok 3:</strong> Dobierz rozstaw. Z tabeli dla q 70 W/m² i ΔϑH 12K → rozstaw 150 mm.</li>
                        <li><strong>Krok 4:</strong> Policz długość rury. <code>L = A / T × 1,1</code>. Dla salonu to 257 mb.</li>
                        <li><strong>Krok 5:</strong> Podziel na pętle. Maksimum to 110 m → 257 / 110 = 2,34 → czyli 3 pętle.</li>
                        <li><strong>Krok 6:</strong> Przypisz stawkę rynkową. Dla rozstawu 150 mm (65 zł/m²) salon kosztuje nas 2 275 zł.</li>
                        <li><strong>Krok 7:</strong> Dodaj stałe. Rozdzielacz (450 zł), dojazd (120 zł), próba (300 zł). Suma to zwykle widełki 9 500–12 500 zł.</li>
                    </ul>
                </div>
            </div>

            <div class="cs-split-card step2" id="cs-btn-step2">
                <div class="cs-card-header">
                    <span class="cs-card-icon">💧</span>
                    <h3 class="cs-card-title">Obliczenia Przepływów</h3>
                </div>
                <p class="cs-card-desc">Trzecie wyliczenie z projektu, które zawsze robię. To parametr, który monter ustawia w ramach robocizny, a bez projektu – po prostu zgaduje.</p>
                <div class="cs-card-solution">
                    <p style="margin-top:0;">Podstawą prawidłowo ułożonej podłogówki jest ustawienie <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów na rozdzielaczu</a>.</p>
                    <ul>
                        <li><strong>Krok 1: Wzór bazowy.</strong> Przepływ masowy liczymy ze wzoru: <code>m = Q / (1,163 × ΔT)</code></li>
                        <li><strong>Krok 2: Całkowity zład.</strong> Przy mocy instalacji Q = 11,5 kW i zakładanym spadku temperatury ΔT = 5 K, przepływ całkowity wynosi: 11,5 / (1,163 × 5) = <strong>1,98 m³/h</strong>.</li>
                        <li><strong>Krok 3: Przepływ na rotametrze.</strong> Otrzymany wynik dzielimy na 10 pętli w domu. Daje to 0,198 m³/h na pętlę.</li>
                        <li><strong>Wynik:</strong> Po przeliczeniu jednostek, monter musi ustawić rotametr na około <strong>3,3 l/min</strong>. Dzięki temu <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa</a> precyzyjnie zasili każdy układ.</li>
                    </ul>
                </div>
            </div>

        </div>
    </div>

    <div class="cs-cta-box">
        <h4>Nie ryzykuj błędów monterskich i zaniżonych wycen.</h4>
        <p>Projekt ogrzewania podłogowego chroni Cię przed instalatorami, którzy narzucają jedną cenę za m², a potem domagają się dopłat. Zyskujesz pewność co do ilości rury, nastaw przepływu i wielkości rozdzielaczy.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cs-cta-button">
            <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>
            Zamów Profesjonalny Projekt
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (bez tagów Hx)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-calc-case-study');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 25px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;">
                    <span style="font-size: 40px; display: block; margin-bottom: 10px;">🔒</span>
                    <div style="margin: 0 0 10px 0; font-size: 20px; font-weight: bold;">Studium Przypadku Chronione</div>
                    <p style="font-size: 14px; margin-bottom: 15px;">Ten panel informacyjny to autorska własność Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 13px;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // Logika przełączania kart Case Study
    const cardStep1 = document.getElementById('cs-btn-step1');
    const cardStep2 = document.getElementById('cs-btn-step2');

    function toggleCards(activeCard, inactiveCard) {
        activeCard.classList.add('active');
        inactiveCard.classList.remove('active');
    }

    if (cardStep1 && cardStep2) {
        cardStep1.addEventListener('click', () => toggleCards(cardStep1, cardStep2));
        cardStep2.addEventListener('click', () => toggleCards(cardStep2, cardStep1));
    }
});
</script>



<style>
:root {
    --ppm-primary: #0f172a;
    --ppm-accent: #ea580c;
    --ppm-accent-hover: #c2410c;
    --ppm-bg: #ffffff;
    --ppm-light: #fff7ed;
    --ppm-border: #fdba74;
    --ppm-text: #475569;
    --ppm-danger: #ef4444;
    --ppm-success: #10b981;
}

.premium-project-module {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--ppm-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(234, 88, 12, 0.1);
    border: 1px solid var(--ppm-border);
    overflow: hidden;
}

/* --- HEADER I TREŚĆ --- */
.ppm-header-area {
    padding: 40px 45px 30px 45px;
    background: linear-gradient(to bottom, #ffffff, var(--ppm-light));
    border-bottom: 1px solid var(--ppm-border);
}

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

.ppm-text-content {
    font-size: 16px;
    line-height: 1.8;
    color: var(--ppm-text);
    margin: 0 0 15px 0;
}

.ppm-text-content strong { color: var(--ppm-primary); }
.ppm-text-content a { color: var(--ppm-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* --- SEKCJA INTERAKTYWNA (Aplikacja) --- */
.ppm-app-section {
    padding: 35px 45px;
    background: #ffffff;
}

.ppm-app-section h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--ppm-primary);
    margin: 0 0 25px 0;
    text-align: center;
}

/* Suwak (Slider) */
.ppm-slider-container {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 25px;
    margin-bottom: 30px;
}

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

.ppm-slider-header h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--ppm-primary);
}

.ppm-slider-value {
    font-size: 22px;
    font-weight: 900;
    color: var(--ppm-accent);
}

.ppm-range-input {
    width: 100%;
    accent-color: var(--ppm-accent);
    cursor: pointer;
}

.ppm-result-box {
    margin-top: 20px;
    background: #eff6ff;
    border-left: 4px solid #3b82f6;
    padding: 15px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.ppm-result-box svg { flex-shrink: 0; color: #3b82f6; }
.ppm-result-text { font-size: 14px; color: #1e3a8a; line-height: 1.5; margin: 0; }
.ppm-result-text strong { font-size: 18px; display: block; margin-top: 5px; }

/* Przełącznik (Toggle) */
.ppm-toggle-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.ppm-toggle-switch {
    display: inline-flex;
    background: #e2e8f0;
    border-radius: 50px;
    padding: 4px;
    position: relative;
    cursor: pointer;
    user-select: none;
}

.ppm-toggle-option {
    padding: 10px 24px;
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    position: relative;
    z-index: 2;
    transition: color 0.3s;
}

.ppm-toggle-slider {
    position: absolute;
    top: 4px;
    left: 4px;
    width: calc(50% - 4px);
    height: calc(100% - 8px);
    background: #ffffff;
    border-radius: 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

.ppm-toggle-container.active-right .ppm-toggle-slider {
    transform: translateX(100%);
}

.ppm-toggle-container.active-right .ppm-toggle-option:nth-child(1) { color: #64748b; }
.ppm-toggle-container.active-right .ppm-toggle-option:nth-child(2) { color: var(--ppm-primary); }
.ppm-toggle-container:not(.active-right) .ppm-toggle-option:nth-child(1) { color: var(--ppm-primary); }

.ppm-scenario-card {
    width: 100%;
    padding: 20px;
    border-radius: 16px;
    border: 2px solid transparent;
    transition: all 0.3s;
}

.ppm-scenario-bad {
    background: #fef2f2;
    border-color: #fca5a5;
    display: block;
}

.ppm-scenario-good {
    background: #ecfdf5;
    border-color: #6ee7b7;
    display: none;
}

.ppm-toggle-container.active-right .ppm-scenario-bad { display: none; }
.ppm-toggle-container.active-right .ppm-scenario-good { display: block; animation: fadeIn 0.4s; }

.ppm-scenario-card h4 { margin: 0 0 10px 0; font-size: 16px; display: flex; align-items: center; gap: 8px; }
.ppm-scenario-bad h4 { color: #991b1b; }
.ppm-scenario-good h4 { color: #065f46; }

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

/* --- CTA --- */
.ppm-cta-section {
    background: var(--ppm-primary);
    padding: 40px 45px;
    text-align: center;
}

.ppm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--ppm-accent);
    color: #ffffff;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 0.3s;
    box-shadow: 0 10px 20px rgba(234, 88, 12, 0.3);
}

.ppm-btn:hover {
    background: var(--ppm-accent-hover);
    transform: translateY(-3px);
    box-shadow: 0 15px 25px rgba(234, 88, 12, 0.4);
}

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

@media (max-width: 768px) {
    .ppm-header-area, .ppm-app-section, .ppm-cta-section { padding: 30px 25px; }
    .ppm-toggle-switch { width: 100%; display: flex; }
    .ppm-toggle-option { flex: 1; text-align: center; padding: 10px 0; }
    .ppm-btn { width: 100%; padding: 16px 20px; font-size: 14px; }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#article-costs",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/"
      },
      "mainEntity": {
        "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#app-ozc-simulator"
      },
      "headline": "Jak projekt ogrzewania podłogowego wpływa na realne koszty?",
      "description": "Profesjonalny projekt OZC redukuje koszty robocizny o 10-15%. Kalkulator doboru pompy obiegowej i wytyczne dotyczące dylatacji (norma PN-EN 1264).",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "keywords": [
        "projekt ogrzewania podłogowego koszty",
        "obliczenia OZC podłogówka",
        "dylatacje ogrzewanie podłogowe norma",
        "dobór pompy obiegowej podłogówka",
        "oszczędności na robociźnie z projektem"
      ],
      "author": {
        "@type": "Person",
        "name": "Robert Kucharski",
        "url": "https://projekt-ogrzewania.pl/author/admin3399/",
        "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-03",
      "dateModified": "2026-05-03",
      "about": [
        { "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#dataset-ozc" },
        { "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#app-ozc-simulator" }
      ]
    },
    {
      "@type": "Dataset",
      "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#dataset-ozc",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#article-costs" },
      "name": "Wpływ obliczeń OZC i dylatacji na koszty instalacji podłogowej",
      "description": "Zestawienie twardych danych inżynieryjnych: redukcja kosztów, wymiary pól dylatacyjnych i wymagania przepływu masowego.",
      "measurementTechnique": "Analiza normy PN-EN 1264 oraz inżynierskie obliczenia hydrauliczne dla pompy obiegowej (wzór Q / 1.163 * ΔT)",
      "license": "https://projekt-ogrzewania.pl/",
      "creator": {
        "@type": "Person",
        "name": "Robert Kucharski"
      },
      "variableMeasured": [
        { "@type": "PropertyValue", "name": "Redukcja kosztów robocizny (z projektem OZC)", "value": "10-15%" },
        { "@type": "PropertyValue", "name": "Maksymalne pole bez dylatacji", "value": "40 m² (lub bok 8 m)" },
        { "@type": "PropertyValue", "name": "Wymagany przepływ (dla 11.5 kW i ΔT 5K)", "value": "1.98 m³/h" }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#app-ozc-simulator",
      "name": "Symulator Oszczędności i Przepływów Hydraulicznych",
      "applicationCategory": "EducationalApplication",
      "operatingSystem": "All",
      "browserRequirements": "Requires JavaScript",
      "description": "Interaktywne narzędzie obliczające wymagany przepływ na pompie obiegowej na podstawie mocy budynku oraz obrazujące ryzyko braku dylatacji.",
      "url": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/"
    }
  ]
}
</script>

<div class="premium-project-module" id="ppm-main-app">
    
    <div class="ppm-header-area">
        <h2>Jak projekt ogrzewania podłogowego wpływa na realne koszty?</h2>
        <p class="ppm-text-content">Profesjonalny projekt wykonany w oparciu o dokładne <a href="https://projekt-ogrzewania.pl/ozc-obliczenie-zapotrzebowania-cieplnego-budynku/">obliczenia OZC</a> (Obciążenie Cieplne Budynku) pozwala <strong>zredukować koszty robocizny o 10–15%</strong> dzięki całkowitemu wyeliminowaniu błędów instalacyjnych na budowie.</p>
        
        <p class="ppm-text-content">Projektant z uprawnieniami precyzyjnie wyznacza miejsca przejść. Zgodnie z normą budowlaną, pole grzejne bez dylatacji <strong>nie powinno przekraczać 40 m² lub długości boku 8 m</strong>. Instalator pracujący bez projektu nierzadko układa rury „na oko”, ignorując naprężenia termiczne, co ostatecznie prowadzi do pękania jastrychu i nieodwracalnych uszkodzeń drogich okładzin ceramicznych.</p>
    </div>

    <div class="ppm-app-section">
        <h3>Optymalizacja pompy i dylatacje</h3>
        
        <div class="ppm-slider-container">
            <div class="ppm-slider-header">
                <h4>Moc Twojej instalacji (Q):</h4>
                <span class="ppm-slider-value" id="ppm-power-val">11.5 kW</span>
            </div>
            <input type="range" min="4" max="25" step="0.5" value="11.5" class="ppm-range-input" id="ppm-power-slider">
            
            <div class="ppm-result-box">
                <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"></path><path d="m17 5-5-3-5 3"></path><path d="m19 19-7 3-7-3"></path><path d="M2 12h20"></path></svg>
                <p class="ppm-result-text">
                    Wymagany przepływ pompy obiegowej (przy ΔT = 5K):
                    <strong id="ppm-flow-result">1.98 m³/h</strong>
                </p>
            </div>
            <p style="font-size: 13px; color: #64748b; margin: 15px 0 0 0;">Znajomość tej wartości z projektu zapobiega przewymiarowaniu pompy i nadmiernemu zużyciu prądu.</p>
        </div>

        <div class="ppm-toggle-container" id="ppm-scenario-toggle">
            <div class="ppm-toggle-switch">
                <div class="ppm-toggle-slider"></div>
                <div class="ppm-toggle-option">Montaż &#8222;Na Oko&#8221;</div>
                <div class="ppm-toggle-option">Profesjonalny Projekt OZC</div>
            </div>

            <div class="ppm-scenario-card ppm-scenario-bad">
                <h4>
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Wysokie ryzyko błędów
                </h4>
                <p>Brak wyliczeń hydraulicznych powoduje losowy dobór pompy (często za dużej). Pętle układane są bez poszanowania normy 40 m² / 8 mb, co skutkuje brakiem dylatacji w kluczowych miejscach wylewki. <strong>Efekt:</strong> Wyższe koszty materiału, pękające płytki i brak gwarancji na posadzkę.</p>
            </div>

            <div class="ppm-scenario-card ppm-scenario-good">
                <h4>
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Oszczędność i Bezpieczeństwo
                </h4>
                <p>Zmniejszenie kosztów robocizny o <strong>10–15%</strong>. Instalator otrzymuje gotowy rzut z wyznaczonymi strefami dylatacyjnymi. Precyzyjnie dobrana pompa obiegowa pracuje na optymalnych krzywych charakterystyki, co drastycznie obniża rachunki za prąd w skali całego roku.</p>
            </div>
        </div>

    </div>

    <div class="ppm-cta-section">
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="ppm-btn">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><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>
            Zamów Projekt z OZC i zredukuj koszty
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- Ochrona Domeny (Brak tagów Hx) ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('ppm-main-app').innerHTML = `
            <div style="padding: 40px 25px; text-align: center; background: #fee2e2; border: 2px solid #dc2626; border-radius: 24px;">
                <div style="font-size: 32px; margin-bottom: 15px;">🔒</div>
                <div style="font-size: 18px; font-weight: bold; color: #dc2626; margin-bottom: 10px;">Aplikacja chroniona prawami autorskimi</div>
                <div style="font-size: 14px; color: #7f1d1d; margin-bottom: 15px;">Ten interaktywny symulator jest własnością Projekt-Ogrzewania.pl.</div>
                <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 13px;">ZOBACZ ORYGINAŁ</a>
            </div>
        `;
        return;
    }

    // --- Logika Suwaka (Obliczenia Hydrauliczne) ---
    const powerSlider = document.getElementById('ppm-power-slider');
    const powerValDisplay = document.getElementById('ppm-power-val');
    const flowResultDisplay = document.getElementById('ppm-flow-result');
    
    // Wzór: m = Q / (c_w * dT), gdzie c_w dla wody to ok. 1.163 kWh/(m3*K), zakładamy dT = 5K
    // m = Q / (1.163 * 5) = Q / 5.815
    const calculateFlow = (powerKw) => {
        return (powerKw / 5.815).toFixed(2);
    };

    powerSlider.addEventListener('input', (e) => {
        const power = parseFloat(e.target.value);
        powerValDisplay.textContent = power.toFixed(1) + ' kW';
        flowResultDisplay.textContent = calculateFlow(power) + ' m³/h';
    });

    // --- Logika Przełącznika Scenariuszy ---
    const toggleContainer = document.getElementById('ppm-scenario-toggle');
    const toggleSwitch = toggleContainer.querySelector('.ppm-toggle-switch');
    
    toggleSwitch.addEventListener('click', () => {
        toggleContainer.classList.toggle('active-right');
    });
});
</script>



<style>
:root {
    --faq-primary: #0f172a;
    --faq-accent: #ea580c;
    --faq-bg: #ffffff;
    --faq-light: #fff7ed;
    --faq-border: #e2e8f0;
    --faq-text: #475569;
}

.premium-faq-module {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--faq-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(234, 88, 12, 0.08);
    border: 1px solid #fdba74;
    overflow: hidden;
}

.faq-header-area {
    padding: 40px 45px 30px 45px;
    background: linear-gradient(to bottom, #ffffff, var(--faq-light));
    border-bottom: 1px solid #fdba74;
    text-align: center;
}

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

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

.faq-accordion-container {
    padding: 30px 45px 40px 45px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.faq-item {
    border: 2px solid var(--faq-border);
    border-radius: 16px;
    background: #ffffff;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.faq-item:hover {
    border-color: #fdba74;
    box-shadow: 0 5px 15px rgba(234, 88, 12, 0.05);
}

.faq-item.active {
    border-color: var(--faq-accent);
    background: #fffcf9;
}

.faq-question {
    padding: 20px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
    gap: 15px;
}

.faq-question h3 {
    font-size: 16px;
    font-weight: 800;
    color: var(--faq-primary);
    margin: 0;
    line-height: 1.5;
    flex: 1;
}

/* Ikona Toggle (Plus / Minus) */
.faq-toggle-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
    color: var(--faq-primary);
}

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

.faq-answer {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.4s ease-out;
    padding: 0 25px;
}

.faq-item.active .faq-answer {
    max-height: 350px;
    opacity: 1;
    padding: 0 25px 25px 25px;
}

.faq-answer p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--faq-text);
    border-top: 1px dashed #e2e8f0;
    padding-top: 20px;
}

.faq-answer a {
    color: var(--faq-accent);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .faq-header-area { padding: 35px 25px 25px 25px; }
    .faq-accordion-container { padding: 20px 25px 35px 25px; }
    .faq-question { padding: 18px 20px; }
    .faq-question h3 { font-size: 15px; }
    .faq-item.active .faq-answer { padding: 0 20px 20px 20px; }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#article",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/"
      },
      "headline": "Aktualne Ceny Robocizny Ogrzewania Podłogowego – FAQ",
      "description": "Najczęstsze pytania inwestorów dotyczące wycen instalacji HVAC. Sprawdź koszty montażu rozdzielaczy i styropianu w 2026 roku.",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "keywords": [
        "podłogówka cena za m2 robocizny",
        "koszt ogrzewania podłogowego",
        "ile kosztuje podłogówka",
        "robocizna podłogówki 2026",
        "wycena instalacji grzewczej"
      ],
      "author": {
        "@type": "Person",
        "name": "Robert Kucharski",
        "url": "https://projekt-ogrzewania.pl/author/admin3399/",
        "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": "2025-01-07",
      "dateModified": "2026-05-03"
    },
    {
      "@type": "Dataset",
      "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#dataset-faq",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#article" },
      "name": "Zestawienie kosztów dodatkowych HVAC 2026",
      "description": "Szczegółowa baza wiedzy o stawkach robocizny za montaż rozdzielaczy i izolacji.",
      "measurementTechnique": "Analiza rynkowa ofert firm instalacyjnych oraz audyt rzeczywistych realizacji inwestycji w Polsce w 2026 roku",
      "license": "https://projekt-ogrzewania.pl/",
      "creator": { "@id": "https://projekt-ogrzewania.pl/author/admin3399/" },
      "variableMeasured": [
        { "@type": "PropertyValue", "name": "Montaż rozdzielacza", "value": "400-700 PLN" },
        { "@type": "PropertyValue", "name": "Stawka robocizny ze styropianem", "value": "32-45 PLN/m²" }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#faq-section",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Czy cena robocizny podłogówki obejmuje ułożenie styropianu?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Tak, w profesjonalnych ofertach stawka od 32 do 45 zł/m² obejmuje rozłożenie izolacji EPS, folii systemowej oraz rur."
          }
        },
        {
          "@type": "Question",
          "name": "Ile kosztuje robocizna za montaż rozdzielacza?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Montaż i podłączenie rozdzielacza to koszt od 400 do 700 zł."
          }
        },
        {
          "@type": "Question",
          "name": "Czy w 2026 roku cena robocizny różni się w zależności od województwa?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Tak, analizy rynku instalacyjnego pokazują, że różnice regionalne wynoszą do 20%. Najwyższe stawki dominują w województwach mazowieckim, wielkopolskim i dolnośląskim, a niższe np. w podkarpackim czy lubelskim."
          }
        },
        {
          "@type": "Question",
          "name": "Jak przygotowanie podłoża wpływa na koszt ułożenia m² podłogówki?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nierówna wylewka chudziakowa wymusza dodatkowe prace. Konieczność wcześniejszego wylania warstwy samopoziomującej czy szlifowania podłoża podnosi stawkę robocizny o średnio 10-15 zł na metrze kwadratowym."
          }
        },
        {
          "@type": "Question",
          "name": "Czy robocizna obejmuje wykonanie próby ciśnieniowej instalacji?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Tak, certyfikowana ekipa instalacyjna zawsze wlicza próbę szczelności (pod ciśnieniem) w standardową stawkę. Jest to wymóg normy PN-EN 1264 i podstawa gwarancji."
          }
        }
      ]
    }
  ]
}
</script>

<div class="premium-faq-module" id="faq-app-container">
    <div class="faq-header-area">
        <h2>FAQ – Najczęściej zadawane pytania</h2>
        <p>Rozwiewamy wątpliwości dotyczące wycen i ukrytych kosztów inwestycji.</p>
    </div>

    <div class="faq-accordion-container">
        <div class="faq-item">
            <div class="faq-question">
                <h3>Czy cena robocizny podłogówki obejmuje ułożenie styropianu?</h3>
                <div class="faq-toggle-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"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </div>
            <div class="faq-answer">
                <p>Tak, rzetelna stawka robocizny obejmuje <strong>rozłożenie izolacji termicznej (EPS)</strong>, folii systemowej oraz właściwy montaż rur. Unikaj ekip, które doliczają każdą warstwę styropianu osobno.</p>
            </div>
        </div>

        <div class="faq-item">
            <div class="faq-question">
                <h3>Ile kosztuje robocizna za montaż rozdzielacza do podłogówki?</h3>
                <div class="faq-toggle-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"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </div>
            <div class="faq-answer">
                <p>Montaż, usadowienie szafki i podłączenie jednego <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacza do podłogówki</a> to koszt rzędu <strong>od 400 do 700 zł</strong>, zależnie od liczby sekcji.</p>
            </div>
        </div>

        <div class="faq-item">
            <div class="faq-question">
                <h3>Czy w 2026 roku cena robocizny różni się w zależności od województwa?</h3>
                <div class="faq-toggle-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"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </div>
            <div class="faq-answer">
                <p>Tak, analizy rynku instalacyjnego pokazują, że różnice regionalne wynoszą do 20%. Najwyższe stawki wykonawcze dominują w województwach mazowieckim, wielkopolskim i dolnośląskim. Zauważalnie niższe wyceny można uzyskać od ekip działających w regionach wschodnich i południowych, np. w podkarpackim czy lubelskim, zachowując przy tym ten sam standard wykonania.</p>
            </div>
        </div>

        <div class="faq-item">
            <div class="faq-question">
                <h3>Jak przygotowanie podłoża wpływa na koszt ułożenia m² podłogówki?</h3>
                <div class="faq-toggle-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"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </div>
            <div class="faq-answer">
                <p>Nierówna wylewka chudziakowa wymusza dodatkowe prace. Konieczność wcześniejszego wylania warstwy samopoziomującej lub żmudnego docinania pierwszych warstw styropianu podnosi stawkę robocizny o średnio <strong>10 do 15 zł na metrze kwadratowym</strong>.</p>
            </div>
        </div>

        <div class="faq-item">
            <div class="faq-question">
                <h3>Czy robocizna obejmuje wykonanie próby ciśnieniowej instalacji?</h3>
                <div class="faq-toggle-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"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
                </div>
            </div>
            <div class="faq-answer">
                <p>Zdecydowanie tak. Zgodnie z normą PN-EN 1264, certyfikowana ekipa instalacyjna zawsze ma wliczoną próbę szczelności w standardową stawkę za m² lub w kosztorys montażu rozdzielacza. Otrzymujesz wtedy oficjalny protokół z tego procesu.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowedDomains.includes(domain)) {
        document.getElementById('faq-app-container').innerHTML = '<div style="padding: 30px; text-align: center; color: red;">🔒 Treść chroniona autorsko. Projekt-Ogrzewania.pl</div>';
        return;
    }
    const faqItems = document.querySelectorAll('.faq-item');
    faqItems.forEach(item => {
        item.querySelector('.faq-question').addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            item.classList.toggle('active');
            item.querySelector('.faq-toggle-icon svg line:nth-child(1)').style.display = isActive ? 'block' : 'none';
        });
    });
});
</script>



<style>
:root {
    --cs-primary: #0f172a;
    --cs-accent: #2563eb;
    --cs-step1: #16a34a; /* Kolor zielony dla kosztorysu */
    --cs-step2: #ea580c; /* Kolor pomarańczowy dla hydrauliki */
    --cs-bg: #f8fafc;
    --cs-border: #e2e8f0;
    --cs-text: #475569;
}

.case-study-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--cs-border);
    overflow: hidden;
}

/* ================= HEADER I METRYCZKA ================= */
.cs-header-wrapper {
    background: var(--cs-primary);
    color: #ffffff;
    padding: 40px 50px;
    position: relative;
    overflow: hidden;
}

.cs-header-wrapper::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(37, 99, 235, 0.3) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
}

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

.cs-header-wrapper h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 25px 0;
    line-height: 1.3;
    color: #ffffff;
    position: relative;
    z-index: 2;
}

.cs-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    position: relative;
    z-index: 2;
}

.cs-stat-box {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 12px;
    backdrop-filter: blur(4px);
}

.cs-stat-label {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.cs-stat-value {
    display: block;
    font-size: 16px;
    font-weight: 900;
    color: #ffffff;
}

/* ================= OPIS WYZWANIA ================= */
.cs-content-section {
    padding: 40px 50px 30px 50px;
    background: #ffffff;
}

.cs-lead-text {
    font-size: 16px;
    line-height: 1.8;
    color: var(--cs-text);
    margin: 0 0 20px 0;
}

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

.cs-lead-text a {
    color: var(--cs-accent);
    text-decoration: underline;
    font-weight: 600;
}

/* Bloki z wyliczeniami w tekscie */
.cs-calc-block {
    background: #f8fafc;
    border: 1px solid var(--cs-border);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 25px;
}

.cs-calc-block ul {
    margin: 0;
    padding-left: 20px;
    list-style-type: none;
}

.cs-calc-block li {
    margin-bottom: 10px;
    font-size: 15px;
    color: var(--cs-text);
    position: relative;
}

.cs-calc-block li::before {
    content: '→';
    position: absolute;
    left: -20px;
    color: var(--cs-accent);
    font-weight: bold;
}

.cs-calc-block li strong { color: var(--cs-primary); }

.cs-calc-highlight {
    background: #eff6ff;
    padding: 15px;
    border-radius: 8px;
    margin-top: 15px;
    border-left: 4px solid var(--cs-accent);
    font-size: 14px;
    color: #1e3a8a;
    font-weight: 600;
}

.cs-author-box {
    background: #f0f9ff;
    border-left: 4px solid var(--cs-accent);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 10px;
}

.cs-author-photo {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #ffffff;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.2);
    flex-shrink: 0;
}

.cs-author-box p {
    margin: 0;
    font-size: 14px;
    color: #1e3a8a;
    line-height: 1.6;
}

/* ================= INTERAKTYWNE WYZWANIE (SPLIT CARDS) ================= */
.cs-interactive-section {
    padding: 0 50px 40px 50px;
}

.cs-split-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.cs-split-card {
    border-radius: 16px;
    padding: 25px;
    border: 2px solid var(--cs-border);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    background: #ffffff;
    display: flex;
    flex-direction: column;
}

.cs-split-card:not(.active) {
    opacity: 0.7;
    transform: scale(0.98);
}

.cs-split-card.step1.active {
    border-color: var(--cs-step1);
    background: #f0fdf4;
    box-shadow: 0 10px 25px rgba(22, 163, 74, 0.1);
    opacity: 1;
    transform: scale(1);
}

.cs-split-card.step2.active {
    border-color: var(--cs-step2);
    background: #fff7ed;
    box-shadow: 0 10px 25px rgba(234, 88, 12, 0.1);
    opacity: 1;
    transform: scale(1);
}

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

.cs-card-icon {
    font-size: 28px;
}

.cs-card-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--cs-primary);
    margin: 0;
}

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

.cs-card-solution {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px dashed rgba(0,0,0,0.1);
    font-size: 14px;
    line-height: 1.6;
    display: none;
}

.cs-split-card.step1 .cs-card-solution { color: #14532d; }
.cs-split-card.step2 .cs-card-solution { color: #7c2d12; }

.cs-card-solution ul {
    margin: 0;
    padding-left: 20px;
    list-style-type: square;
}

.cs-card-solution li { margin-bottom: 8px; }
.cs-card-solution code { font-weight: 800; font-family: 'Inter', sans-serif; background: rgba(255,255,255,0.5); padding: 2px 6px; border-radius: 4px;}

.cs-split-card.active .cs-card-solution {
    display: block;
    animation: csFadeIn 0.4s ease forwards;
}

/* ================= CTA WRAZ Z PRZYCISKIEM BLOGA ================= */
.cs-cta-box {
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    padding: 45px 50px;
    text-align: center;
    border-top: 1px solid var(--cs-border);
}

.cs-cta-box h4 {
    font-size: 22px;
    font-weight: 900;
    color: var(--cs-primary);
    margin: 0 0 10px 0;
}

.cs-cta-box p {
    font-size: 15px;
    color: #475569;
    margin: 0 auto 25px auto;
    max-width: 650px;
    line-height: 1.6;
}

.cs-cta-buttons-wrapper {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.cs-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--cs-accent);
    color: #ffffff;
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.4);
    border: 2px solid var(--cs-accent);
}

.cs-cta-button:hover {
    background: #1e3a8a;
    border-color: #1e3a8a;
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(37, 99, 235, 0.5);
    color: #ffffff;
}

/* Nowy intensywny przycisk do bloga */
.cs-blog-btn-intense {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--cs-primary);
    color: #ffffff;
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(15, 23, 42, 0.4);
    border: 2px solid var(--cs-primary);
}

.cs-blog-btn-intense:hover {
    background: #ffffff;
    color: var(--cs-primary);
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(15, 23, 42, 0.2);
}

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

@media (max-width: 768px) {
    .cs-header-wrapper { padding: 35px 25px; }
    .cs-stats-grid { grid-template-columns: 1fr 1fr; }
    .cs-content-section { padding: 30px 25px 20px 25px; }
    .cs-interactive-section { padding: 0 25px 30px 25px; }
    .cs-cta-box { padding: 35px 25px; }
    .cs-split-container { grid-template-columns: 1fr; }
    .cs-cta-buttons-wrapper { flex-direction: column; }
    .cs-cta-button, .cs-blog-btn-intense { width: 100%; justify-content: center; }
}
</style>

<div class="case-study-module" id="app-calc-case-study">

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@graph": [
        {
          "@type": "Article",
          "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#article",
          "mainEntityOfPage": {
            "@type": "WebPage",
            "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/"
          },
          "headline": "Kalkulacja Robocizny i Przepływów: Studium Przypadku",
          "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.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": "2025-01-07",
          "dateModified": "2026-05-03",
          "about": [
            { "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#app-calc-case-study" },
            { "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#dataset-case-study" }
          ]
        },
        {
          "@type": "WebApplication",
          "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#app-calc-case-study",
          "name": "Kalkulacja Robocizny i Przepływów: Studium Przypadku",
          "description": "Szczegółowa analiza kosztów robocizny ogrzewania podłogowego oraz inżynieryjne wyliczenia nastaw rotametrów dla domu o powierzchni 140 m².",
          "applicationCategory": "EducationalApplication",
          "operatingSystem": "All",
          "url": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/",
          "license": "https://projekt-ogrzewania.pl/",
          "keywords": [
            "kalkulator kosztów robocizny podłogówki",
            "wzór na wycenę ogrzewania podłogowego",
            "obliczenia przepływów rotametry",
            "kalkulacja długości pętli",
            "wycena robocizny z projektu"
          ],
          "mainEntity": {
            "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#app-calc-case-study"
          },
          "creator": {
            "@type": "Person",
            "name": "Robert Kucharski",
            "sameAs": [
              "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
              "https://www.linkedin.com/in/robert-kucharski-38069b48/"
            ]
          },
          "featureList": [
            "Wycena robocizny w podziale na strefy grzewcze",
            "Obliczenia błędów wycen zryczałtowanych",
            "Inżynierskie obliczenia przepływu i nastawy rotametrów"
          ]
        },
        {
          "@type": "Dataset",
          "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#dataset-case-study",
          "isPartOf": { "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#article" },
          "name": "Realne dane z projektu instalacji (Luty 2026)",
          "description": "Zestawienie parametrów projektowych, finansowych i hydraulicznych użytych do analizy błędów wykonawczych.",
          "measurementTechnique": "Autorski algorytm inżynierski wyceny oparty na wzorze K_rob, obliczeniach OZC oraz normie PN-EN 1264",
          "license": "https://projekt-ogrzewania.pl/",
          "variableMeasured": [
            {
              "@type": "PropertyValue",
              "name": "Koszt całkowity (rzeczywisty)",
              "value": "10 524 PLN"
            },
            {
              "@type": "PropertyValue",
              "name": "Błąd wyceny ryczałtowej (65 zł/m²)",
              "value": "-13.5%"
            },
            {
              "@type": "PropertyValue",
              "name": "Moc instalacji (Q)",
              "value": "11.5 kW"
            },
            {
              "@type": "PropertyValue",
              "name": "Nastawa rotametru (na pętlę)",
              "value": "3.3 l/min"
            }
          ],
          "creator": {
            "@type": "Person",
            "name": "Robert Kucharski"
          }
        }
      ]
    }
    </script>

    <div class="cs-header-wrapper">
        <div class="cs-badge">Kalkulacja z Projektu</div>
        <h2>Jak policzyć całkowity koszt robocizny ogrzewania podłogowego</h2>
        <div class="cs-stats-grid">
            <div class="cs-stat-box">
                <span class="cs-stat-label">Dom pow. netto</span>
                <span class="cs-stat-value">140 m²</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Koszt całkowity</span>
                <span class="cs-stat-value">10 524 zł</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Błąd wyceny &#8222;na oko&#8221;</span>
                <span class="cs-stat-value" style="color: #fca5a5;">-13,5%</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Nastawa rotametru</span>
                <span class="cs-stat-value">3,3 l/min</span>
            </div>
        </div>
    </div>

    <div class="cs-content-section">
        <p class="cs-lead-text">Całkowity koszt robocizny liczysz <strong>z projektu, a nie z metrażu budynku</strong>. Wykonawcy, którzy dają jedną uśrednioną cenę, niemal zawsze dopisują później aneksy do umowy. Poniżej przedstawiam konkretny przykład z lutego 2026 roku (Dom Pana Marka), oparty na autorskim wzorze: <strong>K_rob = Σ (A_i × C_Ti) + K_rozdz + K_proba</strong>.</p>
        
        <div class="cs-calc-block">
            <ul>
                <li><strong>A1 (Strefy otwarte):</strong> 92 m², rozstaw 150 mm, stawka 65 zł/m² <strong>→ 5 980 zł</strong></li>
                <li><strong>A2 (Łazienki, okna):</strong> 28 m², rozstaw zagęszczony 100 mm, stawka 78 zł/m² <strong>→ 2 184 zł</strong></li>
                <li><strong>A3 (Sypialnie):</strong> 20 m², rozstaw 200 mm, stawka 58 zł/m² <strong>→ 1 160 zł</strong></li>
                <li><strong>K_rozdz (Rozdzielacze):</strong> 2 szt. × 450 zł <strong>→ 900 zł</strong></li>
                <li><strong>K_proba (Szczelność):</strong> Próba 6 bar + protokół <strong>→ 300 zł</strong></li>
            </ul>
            <div class="cs-calc-highlight">
                Razem: 10 524 zł, czyli średnio 75,2 zł/m². Gdyby instalator przyjął ryczałtem &#8222;atrakcyjne&#8221; 65 zł/m² dla całości, wyceniłby to na 9 100 zł. Różnica? Ponad 13% błędu, który odbiłby się na jakości materiałów lub aneksach.
            </div>
        </div>

        <div class="cs-author-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="cs-author-photo" loading="lazy">
            <p><strong>Robert Kucharski:</strong> &#8222;Rozkładamy koszty i hydraulikę na czynniki pierwsze. Kliknij w karty poniżej, aby zobaczyć jak krok po kroku tworzymy algorytm wyceny i – co najważniejsze – jak liczymy przepływy do precyzyjnego ustawienia pętli.&#8221;</p>
        </div>
    </div>

    <div class="cs-interactive-section">
        <div class="cs-split-container">
            
            <div class="cs-split-card step1 active" id="cs-btn-step1">
                <div class="cs-card-header">
                    <span class="cs-card-icon">📋</span>
                    <h3 class="cs-card-title">7 Kroków Kalkulacji</h3>
                </div>
                <p class="cs-card-desc">Nie zgaduj. Policz w 7 krokach, dokładnie tak, jak liczę to w biurze dla każdego zlecenia.</p>
                <div class="cs-card-solution">
                    <ul>
                        <li><strong>Krok 1:</strong> Policz zapotrzebowanie. <code>Q_obl = Q_OZC × 1,15</code>. Dla 140 m² po OZC Q = 9,8 kW → 11,27 kW.</li>
                        <li><strong>Krok 2:</strong> Podziel na strefy. Salon 35 m², strata 2450 W → wymóg 70 W/m².</li>
                        <li><strong>Krok 3:</strong> Dobierz rozstaw. Z tabeli dla q 70 W/m² i ΔϑH 12K → rozstaw 150 mm.</li>
                        <li><strong>Krok 4:</strong> Policz długość rury. <code>L = A / T × 1,1</code>. Dla salonu to 257 mb.</li>
                        <li><strong>Krok 5:</strong> Podziel na pętle. Maksimum to 110 m → 257 / 110 = 2,34 → czyli 3 pętle.</li>
                        <li><strong>Krok 6:</strong> Przypisz stawkę rynkową. Dla rozstawu 150 mm (65 zł/m²) salon kosztuje nas 2 275 zł.</li>
                        <li><strong>Krok 7:</strong> Dodaj stałe. Rozdzielacz (450 zł), dojazd (120 zł), próba (300 zł). Suma to zwykle widełki 9 500–12 500 zł.</li>
                    </ul>
                </div>
            </div>

            <div class="cs-split-card step2" id="cs-btn-step2">
                <div class="cs-card-header">
                    <span class="cs-card-icon">💧</span>
                    <h3 class="cs-card-title">Obliczenia Przepływów</h3>
                </div>
                <p class="cs-card-desc">Trzecie wyliczenie z projektu, które zawsze robię. To parametr, który monter ustawia w ramach robocizny, a bez projektu – po prostu zgaduje.</p>
                <div class="cs-card-solution">
                    <p style="margin-top:0;">Podstawą prawidłowo ułożonej podłogówki jest ustawienie <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów na rozdzielaczu</a>.</p>
                    <ul>
                        <li><strong>Krok 1: Wzór bazowy.</strong> Przepływ masowy liczymy ze wzoru: <code>m = Q / (1,163 × ΔT)</code></li>
                        <li><strong>Krok 2: Całkowity zład.</strong> Przy mocy instalacji Q = 11,5 kW i zakładanym spadku temperatury ΔT = 5 K, przepływ całkowity wynosi: 11,5 / (1,163 × 5) = <strong>1,98 m³/h</strong>.</li>
                        <li><strong>Krok 3: Przepływ na rotametrze.</strong> Otrzymany wynik dzielimy na 10 pętli w domu. Daje to 0,198 m³/h na pętlę.</li>
                        <li><strong>Wynik:</strong> Po przeliczeniu jednostek, monter musi ustawić rotametr na około <strong>3,3 l/min</strong>. Dzięki temu <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa</a> precyzyjnie zasili każdy układ.</li>
                    </ul>
                </div>
            </div>

        </div>
    </div>

    <div class="cs-cta-box">
        <h4>Nie ryzykuj błędów monterskich i zaniżonych wycen.</h4>
        <p>Projekt ogrzewania podłogowego chroni Cię przed instalatorami, którzy narzucają jedną cenę za m², a potem domagają się dopłat. Zyskujesz pewność co do ilości rury, nastaw przepływu i wielkości rozdzielaczy.</p>
        
        <div class="cs-cta-buttons-wrapper">
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cs-cta-button">
                <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>
                Zamów Profesjonalny Projekt
            </a>
            
            <a href="https://projekt-ogrzewania.pl/blog/" class="cs-blog-btn-intense">
                <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="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg>
                Więcej Wiedzy na Blogu
            </a>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (bez tagów Hx)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-calc-case-study');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 25px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;">
                    <span style="font-size: 40px; display: block; margin-bottom: 10px;">🔒</span>
                    <div style="margin: 0 0 10px 0; font-size: 20px; font-weight: bold;">Studium Przypadku Chronione</div>
                    <p style="font-size: 14px; margin-bottom: 15px;">Ten panel informacyjny to autorska własność Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 13px;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // Logika przełączania kart Case Study
    const cardStep1 = document.getElementById('cs-btn-step1');
    const cardStep2 = document.getElementById('cs-btn-step2');

    function toggleCards(activeCard, inactiveCard) {
        activeCard.classList.add('active');
        inactiveCard.classList.remove('active');
    }

    if (cardStep1 && cardStep2) {
        cardStep1.addEventListener('click', () => toggleCards(cardStep1, cardStep2));
        cardStep2.addEventListener('click', () => toggleCards(cardStep2, cardStep1));
    }
});
</script>



<style>
:root {
    --info-primary: #0f172a;
    --info-accent: #ea580c;
    --info-accent-hover: #c2410c;
    --info-bg: #ffffff;
    --info-light: #fff7ed;
    --info-border: #e2e8f0;
    --info-text: #475569;
}

.premium-infographic-module {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--info-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #fdba74;
    overflow: hidden;
}

.info-header-area {
    padding: 40px 45px 30px 45px;
    background: linear-gradient(to bottom, #ffffff, var(--info-light));
    border-bottom: 1px solid #fdba74;
    text-align: center;
}

.info-header-area h3 {
    font-size: 26px;
    font-weight: 900;
    color: var(--info-primary);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

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

.info-header-area strong {
    color: var(--info-primary);
}

.info-image-container {
    padding: 30px 45px;
    background: #f8fafc;
    position: relative;
    text-align: center;
}

.info-img-wrapper {
    position: relative;
    display: inline-block;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    cursor: zoom-in;
    transition: transform 0.3s ease;
}

.info-img-wrapper:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

.info-img-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
}

.info-zoom-hint {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(15, 23, 42, 0.85);
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    pointer-events: none;
    backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.3s;
}

.info-img-wrapper:hover .info-zoom-hint {
    opacity: 1;
}

.info-cta-area {
    padding: 0 45px 40px 45px;
    background: #f8fafc;
    text-align: center;
}

/* Lightbox Modal */
.info-lightbox {
    display: none;
    position: fixed;
    z-index: 9999;
    padding: 40px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(5px);
}

.info-lightbox-content {
    margin: auto;
    display: block;
    max-width: 90%;
    max-height: 90vh;
    border-radius: 12px;
    box-shadow: 0 0 50px rgba(0,0,0,0.5);
    object-fit: contain;
}

.info-lightbox-close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.info-lightbox-close:hover {
    color: var(--info-accent);
}

@media (max-width: 768px) {
    .info-header-area { padding: 35px 25px 25px 25px; }
    .info-image-container { padding: 25px; }
    .info-cta-area { padding: 0 25px 35px 25px; }
    .info-header-area h3 { font-size: 22px; }
    .info-zoom-hint { opacity: 1; bottom: 10px; padding: 6px 12px; font-size: 11px; }
    .info-lightbox { padding: 15px; }
    .info-lightbox-close { top: 10px; right: 20px; font-size: 30px; }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#article",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/"
      },
      "headline": "Ile naprawdę kosztuje ułożenie ogrzewania podłogowego w 2026 roku?",
      "author": { "@id": "https://projekt-ogrzewania.pl/#person" },
      "datePublished": "2026-05-03",
      "dateModified": "2026-05-03",
      "about": [
        { "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#infographic" }
      ]
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#infographic",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/podlogowka-cena-za-m2-robocizny/#article" },
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Podlogowka-cena-za-m²-robocizny.webp",
      "width": "1200",
      "height": "1600",
      "caption": "Kompleksowe zestawienie cen robocizny ogrzewania podłogowego w 2026 roku oraz parametry techniczne montażu.",
      "description": "Infografika przedstawiająca koszty robocizny podłogówki, etapy wykonania, najczęstsze błędy oraz zalety profesjonalnego projektu OZC.",
      "keywords": [
        "podłogówka cena za m2 robocizny",
        "koszty instalacji podłogowej",
        "cennik usług hydraulicznych 2026",
        "etapy montażu ogrzewania",
        "infografika budowlana"
      ],
      "author": {
        "@type": "Person",
        "@id": "https://projekt-ogrzewania.pl/#person",
        "name": "Robert Kucharski",
        "sameAs": [
          "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
          "https://www.linkedin.com/in/robert-kucharski-38069b48/"
        ]
      },
      "license": "https://projekt-ogrzewania.pl/"
    }
  ]
}
</script>

<div class="premium-infographic-module" id="infographic-app-container">
    
    <div class="info-header-area">
        <h3>Ile naprawdę kosztuje ułożenie ogrzewania podłogowego w 2026 roku? [INFOGRAFIKA]</h3>
        <p>Sprawdź aktualne zestawienie: <strong>podłogówka cena za m² robocizny</strong> i dowiedz się, jak profesjonalny projekt instalacji zabezpiecza przed kosztownymi błędami wykonawczymi.</p>
    </div>

    <div class="info-image-container">
        <div class="info-img-wrapper" id="info-trigger-lightbox">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Podlogowka-cena-za-m²-robocizny.webp" 
                 alt="Infografika: Podłogówka cena za m2 robocizny w 2026 roku – szczegółowe zestawienie kosztów montażu, parametrów technicznych i najczęstszych błędów wykonawczych." 
                 loading="lazy" />
            <div class="info-zoom-hint">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Kliknij, aby powiększyć
            </div>
        </div>
    </div>

    <div class="info-cta-area">
        <div style="margin: 0; text-align: center;">
            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Podlogowka-cena-za-m²-robocizny.pdf" download 
               style="display: inline-flex; align-items: center; gap: 12px; background: #ea580c; color: #ffffff; padding: 18px 35px; border-radius: 12px; font-family: 'Inter', -apple-system, sans-serif; font-size: 16px; font-weight: 800; text-decoration: none; text-transform: uppercase; letter-spacing: 1px; box-shadow: 0 10px 20px rgba(234, 88, 12, 0.3); transition: all 0.3s;"
               onmouseover="this.style.background='#c2410c'; this.style.transform='translateY(-3px)'; this.style.boxShadow='0 15px 25px rgba(234, 88, 12, 0.4)';"
               onmouseout="this.style.background='#ea580c'; this.style.transform='none'; this.style.boxShadow='0 10px 20px rgba(234, 88, 12, 0.3)';">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                    <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
                    <polyline points="7 10 12 15 17 10"></polyline>
                    <line x1="12" y1="15" x2="12" y2="3"></line>
                </svg>
                Pobierz PDF: Podłogówka cena za m² robocizny
            </a>
            <p style="margin-top: 15px; font-size: 13px; color: #64748b; font-family: 'Inter', -apple-system, sans-serif;">
                Format: PDF | Rozmiar: ok. 1.2 MB | Zawiera: Cennik 2026 i Wytyczne Techniczne
            </p>
        </div>
    </div>

</div>

<div id="info-myLightbox" class="info-lightbox">
    <span class="info-lightbox-close">&times;</span>
    <img decoding="async" class="info-lightbox-content" id="info-lightbox-img" src="">
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- Ochrona Domeny ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('infographic-app-container').innerHTML = `
            <div style="padding: 40px 25px; text-align: center; background: #fee2e2; border: 2px solid #dc2626; border-radius: 20px;">
                <div style="font-size: 32px; margin-bottom: 15px;">🔒</div>
                <div style="font-size: 18px; font-weight: bold; color: #dc2626; margin-bottom: 10px;">Moduł chroniony prawami autorskimi</div>
                <div style="font-size: 14px; color: #7f1d1d; margin-bottom: 15px;">Ta infografika jest własnością Projekt-Ogrzewania.pl.</div>
                <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 13px;">ZOBACZ ORYGINAŁ</a>
            </div>
        `;
        return;
    }

    // --- Logika Lightboxa ---
    const modal = document.getElementById("info-myLightbox");
    const imgWrapper = document.getElementById("info-trigger-lightbox");
    const modalImg = document.getElementById("info-lightbox-img");
    const sourceImg = imgWrapper.querySelector("img");
    const spanClose = document.getElementsByClassName("info-lightbox-close")[0];

    imgWrapper.addEventListener('click', function() {
        modal.style.display = "flex";
        modalImg.src = sourceImg.src;
        document.body.style.overflow = "hidden"; // Blokuje przewijanie strony w tle
    });

    spanClose.addEventListener('click', function() {
        modal.style.display = "none";
        document.body.style.overflow = "auto";
    });

    // Zamknięcie po kliknięciu w tło
    modal.addEventListener('click', function(e) {
        if (e.target === modal) {
            modal.style.display = "none";
            document.body.style.overflow = "auto";
        }
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/podlogowka-cena-za-m%c2%b2-robocizny/">Podłogówka cena za m² robocizny.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/podlogowka-cena-za-m%c2%b2-robocizny/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Ile rury na m² ogrzewania podłogowego?</title>
		<link>https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 16 Dec 2024 13:46:32 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Rozstaw pętli]]></category>
		<category><![CDATA[ile rury na m2]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[planowanie instalacji]]></category>
		<category><![CDATA[porady budowlane]]></category>
		<category><![CDATA[rozstaw pętli]]></category>
		<category><![CDATA[rury do podłogówki]]></category>
		<category><![CDATA[system ogrzewania]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1771</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe to doskonały wybór dla każdego domu, ale ile rury potrzeba na m² instalacji? Sprawdź przeliczniki dla rozstawów pętli i dowiedz się, jak zaplanować efektywną instalację. W artykule znajdziesz szczegółowe wskazówki, obliczenia i praktyczne porady. Dowiedz się, jak rozstaw pętli wpływa na efektywność systemu, jakie są najważniejsze zasady przy doborze rur i dlaczego warto skorzystać z darmowego projektu instalacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/">Ile rury na m² ogrzewania podłogowego?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-panel: #1e293b;
    --rk-intro-brand: #0284c7; /* Expert Blue */
    --rk-intro-brand-light: #e0f2fe;
    --rk-intro-accent: #0ea5e9;
    --rk-intro-success: #10b981;
    --rk-intro-bg: #f8fafc;
    --rk-intro-card: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-text-light: #64748b;
}

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

/* Nagłówek i Hook */
.rk-intro-header {
    background: var(--rk-intro-dark);
    padding: 45px 50px 40px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-intro-brand);
}

.rk-intro-header::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 40%;
    height: 100%;
    background: radial-gradient(ellipse at top right, rgba(2, 132, 199, 0.2) 0%, transparent 70%);
    pointer-events: none;
}

.rk-intro-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 20px 0;
    line-height: 1.25;
    position: relative;
    z-index: 2;
}

.rk-intro-header p {
    font-size: 17px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
    max-width: 800px;
    position: relative;
    z-index: 2;
}

.rk-intro-header strong {
    color: #ffffff;
    font-weight: 700;
}

/* Szybka Odpowiedź (Quick Answer Box) */
.rk-intro-quick-answer {
    margin: -20px 50px 30px;
    background: var(--rk-intro-card);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1);
    border: 1px solid var(--rk-intro-border);
    border-left: 6px solid var(--rk-intro-brand);
    position: relative;
    z-index: 3;
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

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

.rk-intro-qa-icon svg { width: 28px; height: 28px; stroke-width: 2.5; }

.rk-intro-qa-content h3 {
    margin: 0 0 10px 0;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--rk-intro-brand);
}

.rk-intro-qa-content p {
    margin: 0;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--rk-intro-dark);
}

.rk-intro-qa-content span {
    display: block;
    font-size: 15px;
    font-weight: 400;
    color: var(--rk-intro-text-light);
    margin-top: 8px;
}

/* Agenda / Narzędzia w artykule */
.rk-intro-tools-section {
    padding: 10px 50px 45px;
}

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

.rk-intro-tools-title svg {
    color: var(--rk-intro-success);
}

.rk-intro-tools-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.rk-intro-tool-card {
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    padding: 20px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.rk-intro-tool-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 15px -3px rgba(0,0,0,0.05);
    border-color: #bae6fd;
}

.rk-intro-tool-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #f1f5f9;
    color: var(--rk-intro-text);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-intro-tool-icon svg { width: 20px; height: 20px; }

.rk-intro-tool-text h4 {
    margin: 0 0 4px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-intro-dark);
}

.rk-intro-tool-text p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-intro-text-light);
    line-height: 1.4;
}

@media (max-width: 768px) {
    .rk-intro-header { padding: 35px 25px 50px; }
    .rk-intro-header h2 { font-size: 26px; }
    .rk-intro-quick-answer { margin: -30px 20px 30px; padding: 25px 20px; flex-direction: column; gap: 15px; }
    .rk-intro-tools-section { padding: 10px 20px 35px; }
    .rk-intro-tools-grid { grid-template-columns: 1fr; }
    .rk-intro-qa-content p { font-size: 17px; }
}
</style>

<div class="rk-intro-wrapper">
    <div class="rk-intro-header">
        <h2>Ile rury na m² ogrzewania podłogowego? Kompletny przewodnik inwestora</h2>
        <p>Wybór odpowiedniej ilości materiałów to być albo nie być Twojego systemu grzewczego. To, ile rury na m² ogrzewania podłogowego musisz kupić, zależy bezpośrednio od rozstawu pętli. Kupowanie rur &#8222;na oko&#8221; to najprostsza droga do niedogrzanego domu, tzw. zebry cieplnej i wyrzucania pieniędzy na ścinki. <strong>Z perspektywy specjalisty HVAC z ponad tysiącem projektów na koncie, powiem wprost: tu liczy się fizyka, nie intuicja instalatora.</strong></p>
    </div>

    <div class="rk-intro-quick-answer">
        <div class="rk-intro-qa-icon">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
        </div>
        <div class="rk-intro-qa-content">
            <h3>Szybka odpowiedź</h3>
            <p>Standardowo na 1 m² podłogówki przypada od 4 do 10 metrów bieżących (mb) rury PEX/PERT. Najpopularniejszy w salonach rozstaw co 15 cm wymaga użycia dokładnie 7 mb rury na każdy metr kwadratowy powierzchni.</p>
            <span>Aby uniknąć braku materiału, do całkowitego wyniku obliczeń dla budynku dolicza się zawsze 10% zapasu operacyjnego na dobiegi do rozdzielacza i łuki.</span>
        </div>
    </div>

    <div class="rk-intro-tools-section">
        <h3 class="rk-intro-tools-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Narzędzia interaktywne w tym artykule:
        </h3>
        
        <div class="rk-intro-tools-grid">
            <div class="rk-intro-tool-card">
                <div class="rk-intro-tool-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                <div class="rk-intro-tool-text">
                    <h4>Symulator Zapotrzebowania</h4>
                    <p>Oblicz zużycie materiału i dopasowanie do stref (np. łazienka vs salon) w zależności od rozstawu.</p>
                </div>
            </div>

            <div class="rk-intro-tool-card">
                <div class="rk-intro-tool-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
                </div>
                <div class="rk-intro-tool-text">
                    <h4>Kalkulator Zakupowy Domu</h4>
                    <p>Gotowe wyliczenia kompletnych zwojów i zapasów dla domów 100 m², 150 m² oraz 200 m².</p>
                </div>
            </div>

            <div class="rk-intro-tool-card">
                <div class="rk-intro-tool-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg>
                </div>
                <div class="rk-intro-tool-text">
                    <h4>Limity Hydrauliczne (Opory)</h4>
                    <p>Weryfikacja maksymalnej długości pętli (np. 100 mb dla 16mm) i wpływu średnic na przepływ.</p>
                </div>
            </div>

            <div class="rk-intro-tool-card">
                <div class="rk-intro-tool-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <div class="rk-intro-tool-text">
                    <h4>Skaner Błędów Wykonawczych</h4>
                    <p>Checklista najgroźniejszych uchybień instalacyjnych grożących kuciem wylewki.</p>
                </div>
            </div>
        </div>
    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-intro",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Ile rury na m² ogrzewania podłogowego? Kompletny przewodnik inwestora",
    "description": "Szybka odpowiedź: na 1 m2 podłogówki przy rozstawie co 15 cm przypada 7 metrów bieżących rury. Poznaj profesjonalne wyliczenia, kalkulatory OZC i limity hydrauliczne instalacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-intro",
    "name": "Baza danych zapotrzebowania materiałowego ogrzewania płaszczyznowego",
    "description": "Ogólne zestawienie najważniejszych wskaźników inżynierskich potrzebnych do wyliczenia zużycia rur instalacji podłogowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile rury na m2 ogrzewania podłogowego",
      "ile metrów rury na m2",
      "rozstaw pętli ogrzewania podłogowego",
      "zapotrzebowanie rury podłogówka",
      "kalkulator rur ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Przeliczenie standardowych wytycznych branżowych dla rur PEX/PERT na uśrednione zużycie mb/m2 ze stałym uwzględnieniem 10% naddatku montażowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Szybka Odpowiedź: Rozstaw 15 cm wymaga zużycia operacyjnego na poziomie 7 mb/m2.",
        "Limity: Całkowity rozrzut zużycia materiału waha się od 4 mb/m2 do 10 mb/m2 w zależności od docelowej temperatury pomieszczenia.",
        "Zapas materiałowy: 10% doliczane do całkowitej sumy na tranzyty (dobiegi) i opory gięcia na łukach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-intro",
    "name": "Przewodnik po kalkulatorach ogrzewania podłogowego",
    "description": "Panel nawigacyjny (Dashboard) stanowiący bezpośrednie odniesienie do interaktywnych narzędzi technicznych zamieszczonych w artykule, informujący algorytmy o obecności interaktywnych elementów DOM.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-pipe-dark: #0f172a;
    --rk-pipe-panel: #1e293b;
    --rk-pipe-brand: #0891b2; /* Cyan 600 */
    --rk-pipe-brand-light: #cffafe;
    --rk-pipe-accent: #22d3ee;
    --rk-pipe-alert: #eab308;
    --rk-pipe-alert-bg: #fefce8;
    --rk-pipe-bg: #f8fafc;
    --rk-pipe-card: #ffffff;
    --rk-pipe-border: #e2e8f0;
    --rk-pipe-text: #334155;
    --rk-pipe-text-light: #64748b;
}

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

/* Nagłówek */
.rk-pipe-header {
    background: var(--rk-pipe-dark);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-pipe-brand);
}

.rk-pipe-header::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 300px;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(8, 145, 178, 0.15));
    pointer-events: none;
}

.rk-pipe-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.rk-pipe-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

/* Obszar Roboczy */
.rk-pipe-body {
    padding: 40px 50px;
}

/* Panel Kontrolny (Przełączniki) */
.rk-pipe-controls {
    display: flex;
    gap: 15px;
    background: var(--rk-pipe-panel);
    padding: 12px;
    border-radius: 20px;
    margin-bottom: 30px;
}

.rk-pipe-btn {
    flex: 1;
    background: transparent;
    border: none;
    padding: 16px 20px;
    border-radius: 14px;
    color: #94a3b8;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-pipe-btn:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.05);
}

.rk-pipe-btn.active {
    background: var(--rk-pipe-brand);
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(8, 145, 178, 0.4);
}

.rk-pipe-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Wizualizacja Rury (SVG) */
.rk-pipe-visual-box {
    background: #ffffff;
    border: 1px solid var(--rk-pipe-border);
    border-radius: 20px;
    height: 120px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: inset 0 4px 6px rgba(0,0,0,0.02);
}

.rk-pipe-visual-box::before {
    content: 'PRZEKRÓJ / STRUMIEŃ';
    position: absolute;
    top: 15px;
    left: 20px;
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-pipe-text-light);
    letter-spacing: 1.5px;
}

.rk-pipe-svg-container {
    width: 100%;
    max-width: 500px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
}

/* Siatka 2x2 */
.rk-pipe-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 35px;
}

.rk-pipe-card {
    background: var(--rk-pipe-card);
    border: 1px solid var(--rk-pipe-border);
    padding: 25px 20px;
    border-radius: 16px;
    text-align: center;
    transition: transform 0.3s ease, border-color 0.3s;
}

.rk-pipe-card:hover {
    transform: translateY(-4px);
    border-color: var(--rk-pipe-accent);
    box-shadow: 0 10px 20px -5px rgba(8, 145, 178, 0.1);
}

.rk-pipe-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 15px auto;
    background: var(--rk-pipe-brand-light);
    color: var(--rk-pipe-brand);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-pipe-icon svg { width: 24px; height: 24px; stroke-width: 2; }

.rk-pipe-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-pipe-text-light);
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.rk-pipe-val {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-pipe-dark);
    margin-bottom: 6px;
}

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

/* Złota Zasada (Alert) */
.rk-pipe-alert {
    background: var(--rk-pipe-alert-bg);
    border: 1px solid #fde047;
    border-left: 5px solid var(--rk-pipe-alert);
    border-radius: 16px;
    padding: 25px 30px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-pipe-alert-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: var(--rk-pipe-alert);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-pipe-alert-content h4 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 800;
    color: #854d0e;
}

.rk-pipe-alert-content p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #a16207;
}

/* CTA */
.rk-pipe-cta {
    background: #ffffff;
    padding: 40px 50px;
    text-align: center;
    border-top: 1px solid var(--rk-pipe-border);
}

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

.rk-pipe-cta p {
    color: var(--rk-pipe-text-light);
    margin: 0 auto 25px auto;
    max-width: 600px;
    line-height: 1.6;
}

.rk-pipe-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-pipe-dark);
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    padding: 18px 35px;
    border-radius: 14px;
    text-decoration: none;
    transition: all 0.3s;
}

.rk-pipe-btn-massive:hover {
    background: var(--rk-pipe-panel);
    transform: translateY(-4px);
    box-shadow: 0 10px 20px -5px rgba(15, 23, 42, 0.3);
}

/* Animacje Wody */
@keyframes rk-flow {
    from { stroke-dashoffset: 40; }
    to { stroke-dashoffset: 0; }
}
.rk-anim-flow { stroke-dasharray: 10 10; animation: rk-flow 0.8s linear infinite; }
.rk-anim-flow-fast { stroke-dasharray: 15 15; animation: rk-flow 0.5s linear infinite; }

/* RWD */
@media (max-width: 768px) {
    .rk-pipe-header, .rk-pipe-body, .rk-pipe-cta { padding: 30px 20px; }
    .rk-pipe-controls { flex-direction: row; overflow-x: auto; padding: 10px; }
    .rk-pipe-btn { min-width: 130px; padding: 14px 10px; }
    .rk-pipe-grid { grid-template-columns: 1fr; } /* Na mobilkach spada jedno pod drugie */
    .rk-pipe-alert { flex-direction: column; padding: 20px; gap: 15px; }
    .rk-pipe-btn-massive { width: 100%; }
}
</style>

<div class="rk-pipe-container">
    <div class="rk-pipe-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
            Maksymalna długość pętli a średnica rury
        </h2>
        <p>Przekroczenie granicznych długości drastycznie zwiększa opory hydrauliczne. W efekcie pompa obiegowa nie przepcha wody, a pomieszczenie będzie niedogrzane. Wybierz średnicę rury, by sprawdzić parametry dla zrównoważonego układu.</p>
    </div>

    <div class="rk-pipe-body">
        
        <div class="rk-pipe-controls">
            <button class="rk-pipe-btn active" data-diam="16">
                <span class="rk-pipe-btn-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="6"></circle></svg></span>
                Ø 16 mm
            </button>
            <button class="rk-pipe-btn" data-diam="17">
                <span class="rk-pipe-btn-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="8"></circle></svg></span>
                Ø 17 mm
            </button>
            <button class="rk-pipe-btn" data-diam="20">
                <span class="rk-pipe-btn-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle></svg></span>
                Ø 20 mm
            </button>
        </div>

        <div class="rk-pipe-visual-box">
            <div class="rk-pipe-svg-container" id="rkPipeVisual">
                </div>
        </div>

        <div class="rk-pipe-grid">
            <div class="rk-pipe-card">
                <div class="rk-pipe-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg>
                </div>
                <div class="rk-pipe-label">Twardy Limit</div>
                <div class="rk-pipe-val" id="rkPipeMax">100 mb</div>
                <div class="rk-pipe-desc">Z podejściami do rozdzielacza</div>
            </div>

            <div class="rk-pipe-card">
                <div class="rk-pipe-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>
                </div>
                <div class="rk-pipe-label">Zakres Optymalny</div>
                <div class="rk-pipe-val" id="rkPipeOpt">70–90 mb</div>
                <div class="rk-pipe-desc">Bezpieczny bufor pracy pompy</div>
            </div>

            <div class="rk-pipe-card">
                <div class="rk-pipe-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <div class="rk-pipe-label">Opór Hydrauliczny</div>
                <div class="rk-pipe-val" id="rkPipeRes">Max 20 kPa</div>
                <div class="rk-pipe-desc" id="rkPipeResDesc">Przy 1,5–2,0 l/min</div>
            </div>

            <div class="rk-pipe-card">
                <div class="rk-pipe-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
                </div>
                <div class="rk-pipe-label">Zastosowanie</div>
                <div class="rk-pipe-val" style="font-size: 20px;" id="rkPipeApp">Domy jednorodzinne</div>
                <div class="rk-pipe-desc" id="rkPipeAppDesc">PEX 16&#215;2 to standard rynkowy</div>
            </div>
        </div>

        <div class="rk-pipe-alert">
            <div class="rk-pipe-alert-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
            </div>
            <div class="rk-pipe-alert-content">
                <h4>Złota zasada: Różnice pętli max. 10–15%</h4>
                <p>Niezależnie od wybranej średnicy rury, długości obwodów wpiętych w jeden <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacz</a> nie powinny różnić się o więcej niż 15%. Spięcie pętli 100 mb z obwodem 20 mb sprawia, że woda płynie linią najmniejszego oporu. Najkrótsza pętla zabiera przepływ, uniemożliwiając regulację na rotametrach.</p>
            </div>
        </div>

    </div>

    <div class="rk-pipe-cta">
        <h4>Nie pozwól, aby instalator zgadywał opory</h4>
        <p>Błędnie dobrana długość pętli zrujnuje rachunki za prąd w pompie ciepła. Przeczytaj więcej wytycznych technicznych i zaprojektuj instalację jak inżynier.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-pipe-btn-massive">
            SPRAWDŹ BAZĘ WIEDZY EKSKLUZYWNEJ
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const buttons = document.querySelectorAll('.rk-pipe-btn');
    const visual = document.getElementById('rkPipeVisual');
    
    const elMax = document.getElementById('rkPipeMax');
    const elOpt = document.getElementById('rkPipeOpt');
    const elRes = document.getElementById('rkPipeRes');
    const elResDesc = document.getElementById('rkPipeResDesc');
    const elApp = document.getElementById('rkPipeApp');
    const elAppDesc = document.getElementById('rkPipeAppDesc');

    const db = {
        "16": {
            max: "100 mb", opt: "70–90 mb", res: "Max 20 kPa", resDesc: "Przy 1,5–2,0 l/min", app: "Domy jednorodz.", appDesc: "PEX 16x2 to standard rynkowy",
            svg: `<svg viewBox="0 0 400 100" fill="none" stroke="currentColor">
                    <path d="M 20 50 L 380 50" stroke="#e2e8f0" stroke-width="20" stroke-linecap="round"/>
                    <path d="M 20 50 L 380 50" stroke="#0891b2" stroke-width="8" stroke-linecap="round" class="rk-anim-flow"/>
                  </svg>`
        },
        "17": {
            max: "120 mb", opt: "80–100 mb", res: "Spadek -25%", resDesc: "Względem oporów rury 16mm", app: "Systemowe", appDesc: "Do dedykowanych rozwiązań",
            svg: `<svg viewBox="0 0 400 100" fill="none" stroke="currentColor">
                    <path d="M 20 50 L 380 50" stroke="#e2e8f0" stroke-width="26" stroke-linecap="round"/>
                    <path d="M 20 50 L 380 50" stroke="#06b6d4" stroke-width="14" stroke-linecap="round" class="rk-anim-flow"/>
                  </svg>`
        },
        "20": {
            max: "150 mb", opt: "100–130 mb", res: "Niskie opory", resDesc: "Większy zład i strumień wody", app: "Hale / Przemysł", appDesc: "Wymaga zasilania 1-calowego",
            svg: `<svg viewBox="0 0 400 100" fill="none" stroke="currentColor">
                    <path d="M 20 50 L 380 50" stroke="#e2e8f0" stroke-width="36" stroke-linecap="round"/>
                    <path d="M 20 50 L 380 50" stroke="#22d3ee" stroke-width="24" stroke-linecap="round" class="rk-anim-flow-fast"/>
                  </svg>`
        }
    };

    function updateData(diam) {
        const data = db[diam];
        elMax.innerHTML = data.max;
        elOpt.innerHTML = data.opt;
        elRes.innerHTML = data.res;
        elResDesc.innerHTML = data.resDesc;
        elApp.innerHTML = data.app;
        elAppDesc.innerHTML = data.appDesc;
        visual.innerHTML = data.svg;
    }

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            visual.style.opacity = 0;
            setTimeout(() => {
                updateData(this.getAttribute('data-diam'));
                visual.style.opacity = 1;
            }, 200);
        });
    });

    updateData('16');
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-srednice-rur",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Maksymalna długość pętli a średnica rury – parametry hydrauliczne",
    "description": "Zestawienie parametrów hydraulicznych instalacji ogrzewania podłogowego. Sprawdź limity długości pętli (100 mb dla 16mm) oraz zasady zrównoważenia przepływów na rotametrach.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-srednice-rur",
    "name": "Kalkulator Oporów Hydraulicznych i Średnic Rur PEX/PERT",
    "description": "Inżynierskie zestawienie limitów określających maksymalne długości pętli grzewczych (100 mb, 120 mb, 150 mb) w zależności od dobranej średnicy rury.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego",
      "średnica rury do podłogówki 16 czy 17",
      "opory hydrauliczne ogrzewania podłogowego",
      "zrównoważenie pętli ogrzewania",
      "rura pex 20mm podłogówka"
    ],
    "measurementTechnique": "Analiza przepływów (l/min) i spadków ciśnień (kPa) w wężownicach polietylenowych na potrzeby doboru pomp obiegowych i rotametrów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura PEX 16 mm: Limit 100 mb, opór hydrauliczny do 20 kPa przy przepływie 1,5-2,0 l/min.",
        "Rura PEX 17 mm: Limit 120 mb, opory niższe o ok. 25% przy tym samym strumieniu wody.",
        "Rura PEX 20 mm: Limit 150 mb, dedykowana do przemysłu, wymaga większych rozdzielaczy.",
        "Zrównoważenie: Bezwzględny zakaz różnicowania długości pętli na jednym rozdzielaczu powyżej 15%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-srednice-rur",
    "name": "Symulator Średnic i Oporów Hydraulicznych PEX",
    "description": "Interaktywny panel w architekturze siatki 2x2, umożliwiający sprawdzenie wpływu średnicy rury na graniczne długości pętli, opór hydrauliczny i docelowe zastosowanie w budownictwie.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-est-dark: #064e3b; /* Głęboka zieleń/szmaragd */
    --rk-est-panel: #065f46;
    --rk-est-brand: #10b981; /* Szmaragdowy */
    --rk-est-brand-light: #d1fae5;
    --rk-est-accent: #34d399;
    --rk-est-text: #334155;
    --rk-est-text-light: #64748b;
    --rk-est-bg: #f8fafc;
    --rk-est-card: #ffffff;
    --rk-est-border: #e2e8f0;
    --rk-est-highlight: #f59e0b;
}

.rk-estimate-wrapper {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-est-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(6, 78, 59, 0.15);
    border: 1px solid var(--rk-est-border);
    overflow: hidden;
}

/* Nagłówek H2 */
.rk-est-header {
    background: var(--rk-est-dark);
    padding: 45px 50px 30px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-est-brand);
}

.rk-est-header::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 350px;
    background: linear-gradient(90deg, transparent, rgba(16, 185, 129, 0.15));
    pointer-events: none;
}

.rk-est-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.rk-est-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #a7f3d0;
    margin: 0;
    max-width: 800px;
    position: relative;
    z-index: 2;
}

.rk-est-header a {
    color: var(--rk-est-highlight);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-est-highlight);
    transition: all 0.2s;
}

.rk-est-header a:hover {
    color: #ffffff;
    border-bottom-style: solid;
}

/* Obszar Roboczy */
.rk-est-body {
    padding: 40px 50px;
}

/* Przełączniki Metrażu (Tabs) */
.rk-est-tabs {
    display: flex;
    gap: 15px;
    background: #ffffff;
    padding: 10px;
    border-radius: 20px;
    margin-bottom: 35px;
    border: 1px solid var(--rk-est-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-est-tab-btn {
    flex: 1;
    padding: 18px 10px;
    border: 2px solid transparent;
    background: var(--rk-est-bg);
    border-radius: 14px;
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-est-text-light);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-est-tab-btn:hover {
    background: #f1f5f9;
    color: var(--rk-est-text);
}

.rk-est-tab-btn.active {
    background: var(--rk-est-brand-light);
    color: var(--rk-est-dark);
    border-color: var(--rk-est-brand);
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.2);
}

.rk-est-tab-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

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

/* Główny Dashboard Wyników */
.rk-est-dashboard {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    margin-bottom: 30px;
}

/* Siatka Parametrów */
.rk-est-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-est-card {
    background: var(--rk-est-card);
    border: 1px solid var(--rk-est-border);
    padding: 25px 20px;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: transform 0.3s ease, border-color 0.3s;
    position: relative;
    overflow: hidden;
}

.rk-est-card:hover {
    transform: translateY(-3px);
    border-color: var(--rk-est-accent);
}

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

.rk-est-card-icon {
    width: 36px;
    height: 36px;
    background: var(--rk-est-bg);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-est-brand);
}

.rk-est-card-icon svg { width: 20px; height: 20px; }

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

.rk-est-card-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-est-dark);
    margin-bottom: 5px;
}

.rk-est-card-desc {
    font-size: 13px;
    color: var(--rk-est-text);
    line-height: 1.4;
}

/* Karta Głównego Wyniku (Suma) */
.rk-est-total-card {
    background: linear-gradient(145deg, var(--rk-est-dark) 0%, var(--rk-est-panel) 100%);
    border-radius: 20px;
    padding: 30px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 15px 30px -10px rgba(6, 78, 59, 0.4);
    position: relative;
    overflow: hidden;
}

.rk-est-total-card::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 150px;
    height: 150px;
    background: rgba(16, 185, 129, 0.2);
    border-radius: 50%;
    pointer-events: none;
}

.rk-est-total-label {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-est-accent);
    margin-bottom: 10px;
}

.rk-est-total-val {
    font-size: 42px;
    font-weight: 900;
    margin-bottom: 10px;
    line-height: 1;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.rk-est-total-desc {
    font-size: 14px;
    color: var(--rk-est-brand-light);
    margin-bottom: 25px;
    line-height: 1.5;
}

.rk-est-svg-box {
    height: 100px;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

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

/* Alert Box na dole */
.rk-est-alert {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-left: 5px solid var(--rk-est-highlight);
    border-radius: 16px;
    padding: 20px 25px;
    display: flex;
    gap: 15px;
    align-items: center;
}

.rk-est-alert-icon {
    color: #b45309;
    flex-shrink: 0;
}

.rk-est-alert p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #92400e;
}

.rk-est-alert a {
    color: #78350f;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: rgba(120, 53, 15, 0.3);
}

/* Animacje w JS */
.val-update {
    animation: popVal 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes popVal {
    0% { transform: scale(0.95); opacity: 0.5; }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); opacity: 1; }
}

@keyframes drawLoop {
    0% { stroke-dashoffset: 200; }
    100% { stroke-dashoffset: 0; }
}
.anim-loop {
    stroke-dasharray: 200;
    animation: drawLoop 1.5s ease-out forwards;
}

/* RWD */
@media (max-width: 768px) {
    .rk-est-header, .rk-est-body { padding: 30px 20px; }
    .rk-est-tabs { flex-direction: column; padding: 10px; }
    .rk-est-dashboard { grid-template-columns: 1fr; }
    .rk-est-grid { grid-template-columns: 1fr; }
    .rk-est-total-card { min-height: 250px; }
}
</style>

<div class="rk-estimate-wrapper">
    <div class="rk-est-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
            Jak obliczyć całkowitą ilość rury dla domu?
        </h2>
        <p>Precyzyjne wyliczenie zapotrzebowania wymaga uwzględnienia trzech czynników: powierzchni netto, długości podejść do rozdzielacza (tranzytów) oraz naddatku montażowego. Poniższy algorytm bazuje na standardowym rozstawie 15 cm. Zobacz <a href="https://projekt-ogrzewania.pl/ile-kosztuje-100-m%c2%b2-ogrzewania-podlogowego/">jak to wpływa na koszty podłogówki</a>.</p>
    </div>

    <div class="rk-est-body">
        
        <div class="rk-est-tabs">
            <button class="rk-est-tab-btn active" data-size="100">
                <span class="rk-est-tab-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect></svg></span>
                Dom 100 m²
            </button>
            <button class="rk-est-tab-btn" data-size="150">
                <span class="rk-est-tab-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><path d="M3 12h18"></path></svg></span>
                Dom 150 m²
            </button>
            <button class="rk-est-tab-btn" data-size="200">
                <span class="rk-est-tab-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><path d="M3 9h18M3 15h18"></path></svg></span>
                Dom 200 m²
            </button>
        </div>

        <div class="rk-est-dashboard">
            <div class="rk-est-grid">
                <div class="rk-est-card">
                    <div class="rk-est-card-header">
                        <div class="rk-est-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg></div>
                        <h4 class="rk-est-card-title">Powierzchnia Grzewcza Netto</h4>
                    </div>
                    <div class="rk-est-card-val" id="estNetArea">90 m²</div>
                    <div class="rk-est-card-desc">Odejmując ok. 10% na stałą zabudowę (wanny, kominki).</div>
                </div>

                <div class="rk-est-card">
                    <div class="rk-est-card-header">
                        <div class="rk-est-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg></div>
                        <h4 class="rk-est-card-title">Ilość Rury (Sama Podłoga)</h4>
                    </div>
                    <div class="rk-est-card-val" id="estBasePipe">630 mb</div>
                    <div class="rk-est-card-desc">Przy stałym wskaźniku zużycia wynoszącym 7 mb/m².</div>
                </div>

                <div class="rk-est-card">
                    <div class="rk-est-card-header">
                        <div class="rk-est-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg></div>
                        <h4 class="rk-est-card-title">Tranzyty i Podejścia</h4>
                    </div>
                    <div class="rk-est-card-val" id="estTransits">ok. 70 mb</div>
                    <div class="rk-est-card-desc" id="estTransitsDesc">Zakładając średnio 5m w obie strony dla 10 pętli.</div>
                </div>

                <div class="rk-est-card">
                    <div class="rk-est-card-header">
                        <div class="rk-est-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div>
                        <h4 class="rk-est-card-title">Liczba Obwodów (Pętli)</h4>
                    </div>
                    <div class="rk-est-card-val" id="estLoops">8 &#8211; 10 pętli</div>
                    <div class="rk-est-card-desc">Istotne przy doborze odpowiedniego rozdzielacza.</div>
                </div>
            </div>

            <div class="rk-est-total-card">
                <div>
                    <div class="rk-est-total-label">Całkowity Zakup (z 10% zapasem)</div>
                    <div class="rk-est-total-val" id="estTotalVal">770 mb</div>
                    <div class="rk-est-total-desc" id="estTotalCoils">Rekomendacja: 4 kręgi po 200 m</div>
                </div>
                
                <div class="rk-est-svg-box" id="estVisual">
                    </div>
            </div>
        </div>

        <div class="rk-est-alert">
            <div class="rk-est-alert-icon">
                <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
            </div>
            <div>
                <p><strong>Uwaga na ścinki!</strong> Zawsze należy dopasowywać wyliczone długości pętli do fabrycznych zwojów (najczęściej 200 mb lub 600 mb). Jeśli instalator zrobi pętlę 85 mb z kręgu 200 mb, zostaną dwa odcinki po 85 mb i bezużyteczny odpad 30 mb. <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Profesjonalne rozplanowanie układu</a> redukuje ten odpad do poziomu poniżej 2%.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const buttons = document.querySelectorAll('.rk-est-tab-btn');
    
    // Elementy DOM do aktualizacji
    const elNetArea = document.getElementById('estNetArea');
    const elBasePipe = document.getElementById('estBasePipe');
    const elTransits = document.getElementById('estTransits');
    const elTransitsDesc = document.getElementById('estTransitsDesc');
    const elLoops = document.getElementById('estLoops');
    const elTotalVal = document.getElementById('estTotalVal');
    const elTotalCoils = document.getElementById('estTotalCoils');
    const elVisual = document.getElementById('estVisual');

    // Baza danych dla 3 wariantów
    const dataMap = {
        "100": {
            netArea: "90 m²",
            basePipe: "630 mb",
            transits: "ok. 70 mb",
            transitsDesc: "Zakładając 10 pętli × 7 m dobiegów.",
            loops: "8 - 10 pętli",
            totalVal: "770 mb",
            totalCoils: "Rekomendacja: 4 kręgi po 200 m",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <path d="M 20 80 L 20 20 L 100 20 L 100 80 Z" stroke="#34d399" stroke-width="4" fill="rgba(52, 211, 153, 0.1)"/>
                    <path d="M 30 70 Q 60 30 90 70" stroke="#a7f3d0" stroke-width="6" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 40 70 Q 60 40 80 70" stroke="#a7f3d0" stroke-width="6" stroke-linecap="round" class="anim-loop"/>
                 </svg>`
        },
        "150": {
            netArea: "135 m²",
            basePipe: "945 mb",
            transits: "ok. 105 mb",
            transitsDesc: "Zakładając 15 pętli × 7 m dobiegów.",
            loops: "12 - 15 pętli",
            totalVal: "1155 mb",
            totalCoils: "Rekomendacja: 6 kręgów po 200 m",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <path d="M 20 80 L 20 20 L 150 20 L 150 80 Z" stroke="#34d399" stroke-width="4" fill="rgba(52, 211, 153, 0.1)"/>
                    <path d="M 30 70 Q 50 30 70 70" stroke="#a7f3d0" stroke-width="6" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 60 70 Q 85 30 110 70" stroke="#a7f3d0" stroke-width="6" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 100 70 Q 120 30 140 70" stroke="#a7f3d0" stroke-width="6" stroke-linecap="round" class="anim-loop"/>
                 </svg>`
        },
        "200": {
            netArea: "180 m²",
            basePipe: "1260 mb",
            transits: "ok. 140 mb",
            transitsDesc: "Zakładając 20 pętli × 7 m dobiegów.",
            loops: "16 - 20 pętli",
            totalVal: "1540 mb",
            totalCoils: "Rekomendacja: 8 kręgów po 200 m",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <path d="M 10 80 L 10 20 L 190 20 L 190 80 Z" stroke="#34d399" stroke-width="4" fill="rgba(52, 211, 153, 0.1)"/>
                    <path d="M 20 70 Q 40 30 60 70" stroke="#a7f3d0" stroke-width="5" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 50 70 Q 75 30 100 70" stroke="#a7f3d0" stroke-width="5" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 90 70 Q 115 30 140 70" stroke="#a7f3d0" stroke-width="5" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 130 70 Q 155 30 180 70" stroke="#a7f3d0" stroke-width="5" stroke-linecap="round" class="anim-loop"/>
                 </svg>`
        }
    };

    function triggerAnimation(element) {
        element.classList.remove('val-update');
        void element.offsetWidth; // force reflow
        element.classList.add('val-update');
    }

    function updateDashboard(size) {
        const data = dataMap[size];
        
        elNetArea.innerHTML = data.netArea;
        elBasePipe.innerHTML = data.basePipe;
        elTransits.innerHTML = data.transits;
        elTransitsDesc.innerHTML = data.transitsDesc;
        elLoops.innerHTML = data.loops;
        
        elTotalVal.innerHTML = data.totalVal;
        elTotalCoils.innerHTML = data.totalCoils;
        
        // Zmiana SVG i reset animacji klas wewnątrz SVG
        elVisual.innerHTML = data.svg;

        // Uruchomienie animacji tekstu
        triggerAnimation(elNetArea);
        triggerAnimation(elBasePipe);
        triggerAnimation(elTotalVal);
    }

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            updateDashboard(this.getAttribute('data-size'));
        });
    });

    // Inicjalizacja pierwszej zakładki
    updateDashboard('100');
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-domy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Jak obliczyć całkowitą ilość rury dla domu 100 m² i 150 m²?",
    "description": "Zestawienie parametrów technicznych i całkowitego zużycia rur PEX do podłogówki dla domów 100, 150 i 200 mkw. Sprawdź, jak dodać 10% zapasu na odpady.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-domy",
    "name": "Zestawienie zapotrzebowania na rury ogrzewania podłogowego (100-200 m2)",
    "description": "Tabele przeliczeniowe określające ilość rury bazowej, długości tranzytów do rozdzielaczy oraz bezpieczny bufor zakupowy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile rury do podłogówki 100m2",
      "zapotrzebowanie rur pex 150m2",
      "kalkulator rur ogrzewanie podłogowe dom 200m2",
      "tranzyty do rozdzielacza",
      "zapas rury na odpady"
    ],
    "measurementTechnique": "Algorytm uwzględniający powierzchnię netto (minus stała zabudowa), bazowe zużycie 7 mb/m2 przy rozstawie 15 cm oraz 10% naddatku montażowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dom 100 m²: Netto 90 m², Zapotrzebowanie: 770 mb (4 kręgi po 200 m).",
        "Dom 150 m²: Netto 135 m², Zapotrzebowanie: 1155 mb (6 kręgów po 200 m).",
        "Dom 200 m²: Netto 180 m², Zapotrzebowanie: 1540 mb (8 kręgów po 200 m)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-domy",
    "name": "Kalkulator Zakupowy Rur PEX",
    "description": "Interaktywny interfejs pozwalający na błyskawiczne sprawdzenie dokładnej ilości materiałów (rury, liczba obwodów) w zależności od metrażu budowanego domu jednorodzinnego.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-spc-dark: #0f172a; /* Głęboki granat */
    --rk-spc-panel: #1e293b;
    --rk-spc-brand: #f97316; /* Termo-pomarańcz (Orange 500) */
    --rk-spc-brand-light: #ffedd5;
    --rk-spc-accent: #fb923c;
    --rk-spc-blue: #0ea5e9;
    --rk-spc-text: #334155;
    --rk-spc-text-light: #64748b;
    --rk-spc-bg: #f8fafc;
    --rk-spc-card: #ffffff;
    --rk-spc-border: #e2e8f0;
}

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

/* Nagłówek H2 */
.rk-spc-header {
    background: var(--rk-spc-dark);
    padding: 45px 50px 30px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-spc-brand);
}

.rk-spc-header::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 300px;
    background: linear-gradient(90deg, transparent, rgba(249, 115, 22, 0.15));
    pointer-events: none;
}

.rk-spc-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.rk-spc-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

.rk-spc-header a {
    color: var(--rk-spc-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-spc-accent);
    transition: all 0.2s;
}

.rk-spc-header a:hover {
    color: #ffffff;
    border-bottom-style: solid;
}

/* Sekcja Główna */
.rk-spc-body {
    padding: 40px 50px;
}

/* Kontroler i SVG Wizualizacja */
.rk-spc-dashboard {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    margin-bottom: 30px;
}

.rk-spc-control-panel {
    background: var(--rk-spc-card);
    border: 1px solid var(--rk-spc-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-spc-control-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-spc-dark);
}

.rk-spc-val-display {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-spc-brand);
    background: var(--rk-spc-brand-light);
    padding: 8px 20px;
    border-radius: 12px;
}

/* Custom Slider */
.rk-spc-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
    margin: 15px 0;
}
.rk-spc-slider:focus { outline: none; }
.rk-spc-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 10px;
    background: #e2e8f0;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
}
.rk-spc-slider::-webkit-slider-thumb {
    height: 32px;
    width: 32px;
    border-radius: 50%;
    background: var(--rk-spc-brand);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -11px;
    box-shadow: 0 4px 10px rgba(249, 115, 22, 0.4);
    border: 4px solid #ffffff;
    transition: transform 0.1s;
}
.rk-spc-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}
.rk-spc-slider-marks {
    display: flex;
    justify-content: space-between;
    color: var(--rk-spc-text-light);
    font-size: 14px;
    font-weight: 700;
    padding: 0 10px;
}

/* SVG Wizualizator (1m2) */
.rk-spc-visualizer {
    background: var(--rk-spc-panel);
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.rk-spc-visualizer::before {
    content: 'POWIERZCHNIA 1 m²';
    position: absolute;
    top: 15px;
    left: 20px;
    font-size: 11px;
    font-weight: 800;
    color: #475569;
    letter-spacing: 1.5px;
}

.rk-spc-svg-box {
    width: 100%;
    height: 100%;
    max-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Siatka Wyników 2x2 */
.rk-spc-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.rk-spc-card {
    background: var(--rk-spc-card);
    border: 1px solid var(--rk-spc-border);
    padding: 25px 20px;
    border-radius: 16px;
    transition: transform 0.3s ease, border-color 0.3s;
    display: flex;
    flex-direction: column;
}

.rk-spc-card:hover {
    transform: translateY(-4px);
    border-color: var(--rk-spc-accent);
    box-shadow: 0 10px 20px -5px rgba(249, 115, 22, 0.1);
}

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

.rk-spc-icon {
    width: 40px;
    height: 40px;
    background: var(--rk-spc-brand-light);
    color: var(--rk-spc-brand);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-spc-icon svg { width: 22px; height: 22px; stroke-width: 2.5; }

.rk-spc-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-spc-text-light);
    letter-spacing: 0.5px;
    margin: 0;
}

.rk-spc-val {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-spc-dark);
    margin-bottom: 5px;
    line-height: 1.1;
}

.rk-spc-desc {
    font-size: 13px;
    color: var(--rk-spc-text);
    line-height: 1.5;
}

/* Alert Box */
.rk-spc-alert {
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-left: 5px solid var(--rk-spc-blue);
    border-radius: 16px;
    padding: 25px 30px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-spc-alert-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    background: var(--rk-spc-blue);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-spc-alert-content h4 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 800;
    color: #0369a1;
}

.rk-spc-alert-content p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #0c4a6e;
}

/* Animacje w JS & SVG */
.anim-update {
    animation: popVal 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes popVal {
    0% { transform: scale(0.95); opacity: 0.5; }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); opacity: 1; }
}

@keyframes heatFlow {
    0% { stroke-dashoffset: 100; }
    100% { stroke-dashoffset: 0; }
}
.anim-heat {
    stroke-dasharray: 15 10;
    animation: heatFlow 1.5s linear infinite;
    stroke: var(--rk-spc-brand);
}

/* RWD */
@media (max-width: 768px) {
    .rk-spc-header, .rk-spc-body { padding: 30px 20px; }
    .rk-spc-dashboard { grid-template-columns: 1fr; gap: 20px; }
    .rk-spc-visualizer { height: 200px; }
    .rk-spc-grid { grid-template-columns: 1fr; }
    .rk-spc-alert { flex-direction: column; padding: 20px; gap: 15px; }
}
</style>

<div class="rk-spacing-wrapper">
    <div class="rk-spc-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            Ile metrów rury potrzeba na m² podłogówki?
        </h2>
        <p>Bezpośrednia odpowiedź wynika ze wzoru matematycznego <strong>L = 1 / b</strong> (gdzie L to długość rury, a b to rozstaw). Parametry te ściśle reguluje norma <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">PN-EN 1264-4</a>. Zobacz na poniższym symulatorze, jak zagęszczenie wpływa na ilość materiału i opory hydrauliczne instalacji.</p>
    </div>

    <div class="rk-spc-body">
        
        <div class="rk-spc-dashboard">
            <div class="rk-spc-control-panel">
                <div class="rk-spc-control-header">
                    <h3>ROZSTAW OSIOWY</h3>
                    <div class="rk-spc-val-display" id="spcValDisplay">15 cm</div>
                </div>
                <input type="range" min="10" max="25" step="5" value="15" class="rk-spc-slider" id="spcInputSlider">
                <div class="rk-spc-slider-marks">
                    <span>10</span>
                    <span>15</span>
                    <span>20</span>
                    <span>25</span>
                </div>
            </div>

            <div class="rk-spc-visualizer">
                <div class="rk-spc-svg-box" id="spcVisualBox">
                    </div>
            </div>
        </div>

        <div class="rk-spc-grid">
            <div class="rk-spc-card">
                <div class="rk-spc-card-header">
                    <div class="rk-spc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg></div>
                    <h4 class="rk-spc-label">Zużycie Matematyczne</h4>
                </div>
                <div class="rk-spc-val" id="spcMath">6,67 mb/m²</div>
                <div class="rk-spc-desc">Czysty wynik ze wzoru L = 1/b.</div>
            </div>

            <div class="rk-spc-card">
                <div class="rk-spc-card-header">
                    <div class="rk-spc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor"><path d="M20 6L9 17l-5-5"></path></svg></div>
                    <h4 class="rk-spc-label">Zużycie Operacyjne</h4>
                </div>
                <div class="rk-spc-val" style="color: var(--rk-spc-brand);" id="spcOper">7,0 mb/m²</div>
                <div class="rk-spc-desc">Wartość uwzględniająca gięcia na łukach.</div>
            </div>

            <div class="rk-spc-card">
                <div class="rk-spc-card-header">
                    <div class="rk-spc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg></div>
                    <h4 class="rk-spc-label">Przeznaczenie Strefy</h4>
                </div>
                <div class="rk-spc-val" style="font-size: 20px;" id="spcZone">Salony i Sypialnie</div>
                <div class="rk-spc-desc" id="spcZoneDesc">Standard dla budynków o zapotrzebowaniu 40-50 W/m².</div>
            </div>

            <div class="rk-spc-card">
                <div class="rk-spc-card-header">
                    <div class="rk-spc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg></div>
                    <h4 class="rk-spc-label">Wymagania Cieplne</h4>
                </div>
                <div class="rk-spc-val" style="font-size: 20px;" id="spcTemp">Optymalne (20-22°C)</div>
                <div class="rk-spc-desc" id="spcTempDesc">Najlepszy kompromis pomiędzy kosztem a komfortem.</div>
            </div>
        </div>

        <div class="rk-spc-alert">
            <div class="rk-spc-alert-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            </div>
            <div class="rk-spc-alert-content">
                <h4>Prawo Hydrauliki: Więcej rury to większy opór</h4>
                <p>Każda zmiana rozstawu wpływa na opory hydrauliczne instalacji. Zacieśnienie <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">układu pętli</a> z 15 cm do 10 cm na tej samej powierzchni zwiększa długość rury o 50%. Przy zachowaniu stałego natężenia przepływu, generuje to niemal <strong>trzykrotny wzrost strat ciśnienia</strong> w danej pętli, co musi zostać uwzględnione w doborze pompy obiegowej.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('spcInputSlider');
    const valDisplay = document.getElementById('spcValDisplay');
    
    // UI Elements
    const elMath = document.getElementById('spcMath');
    const elOper = document.getElementById('spcOper');
    const elZone = document.getElementById('spcZone');
    const elZoneDesc = document.getElementById('spcZoneDesc');
    const elTemp = document.getElementById('spcTemp');
    const elTempDesc = document.getElementById('spcTempDesc');
    const visualBox = document.getElementById('spcVisualBox');

    // Data Map
    const spacingData = {
        "10": {
            math: "10,0 mb/m²", oper: "10,5 mb/m²", 
            zone: "Łazienki, Okna HS", zoneDesc: "Strefy brzegowe i pomieszczenia o wysokich stratach.",
            temp: "Wysokie (24°C)", tempDesc: "Zgodne z rozporządzeniem Ministra Infrastruktury.",
            lines: 10
        },
        "15": {
            math: "6,67 mb/m²", oper: "7,0 mb/m²", 
            zone: "Salony i Sypialnie", zoneDesc: "Standard dla budynków o zapotrzebowaniu 40-50 W/m².",
            temp: "Optymalne (20-22°C)", tempDesc: "Najlepszy kompromis pomiędzy kosztem a komfortem.",
            lines: 7
        },
        "20": {
            math: "5,0 mb/m²", oper: "5,5 mb/m²", 
            zone: "Korytarze, Garderoby", zoneDesc: "Strefy przechodnie oraz budownictwo ściśle pasywne.",
            temp: "Niskie (18-20°C)", tempDesc: "Wystarczające dla pomieszczeń z pasywnym zyskiem.",
            lines: 5
        },
        "25": {
            math: "4,0 mb/m²", oper: "4,5 mb/m²", 
            zone: "Garaże, Hale", zoneDesc: "Pomieszczenia techniczne i magazynowe.",
            temp: "Bardzo niskie (8-12°C)", tempDesc: "Utrzymanie strefy wolnej od przemarzania.",
            lines: 4
        }
    };

    function generateSVG(linesCount) {
        // Generowanie wężyka (meandra) dla m2
        let pathD = "M 10 10 ";
        let step = 80 / (linesCount - 1);
        let direction = 1; // 1 = prawo, -1 = lewo

        for (let i = 0; i < linesCount; i++) {
            let y = 10 + (i * step);
            let xEnd = direction === 1 ? 190 : 10;
            
            if (i > 0) {
                // Łuk w dół
                let xStart = direction === 1 ? 10 : 190;
                pathD += ` L ${xStart} ${y}`;
            }
            
            pathD += ` L ${xEnd} ${y}`;
            direction *= -1;
        }

        return `
            <svg viewBox="0 0 200 100" fill="none" style="width:100%; height:100%;">
                <rect x="0" y="0" width="200" height="100" fill="#1e293b" />
                <path d="${pathD}" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" class="anim-heat" />
            </svg>
        `;
    }

    function triggerAnim(el) {
        el.classList.remove('anim-update');
        void el.offsetWidth;
        el.classList.add('anim-update');
    }

    function updateUI() {
        const val = slider.value;
        const data = spacingData[val];

        valDisplay.textContent = val + " cm";
        
        elMath.textContent = data.math;
        elOper.textContent = data.oper;
        elZone.textContent = data.zone;
        elZoneDesc.textContent = data.zoneDesc;
        elTemp.textContent = data.temp;
        elTempDesc.textContent = data.tempDesc;

        visualBox.innerHTML = generateSVG(data.lines);

        [elMath, elOper, elZone, elTemp].forEach(triggerAnim);
    }

    slider.addEventListener('input', updateUI);
    updateUI(); // init
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-rozstaw-zuzycie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Ile metrów rury potrzeba na m² podłogówki przy różnych rozstawach?",
    "description": "Kalkulacja zużycia rur do ogrzewania podłogowego zgodnie z normą PN-EN 1264-4. Zobacz wzór matematyczny na ilość mb/m2 i przeznaczenie stref grzewczych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-rozstaw",
    "name": "Wskaźniki zużycia rury ogrzewania podłogowego wg rozstawu",
    "description": "Zestawienie operacyjnego i matematycznego zapotrzebowania na rurę PEX (mb/m2) w zależności od kroku pętli grzewczej i strefy cieplnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile rury na m2 ogrzewania podłogowego",
      "rozstaw rur 10 czy 15 cm",
      "opory hydrauliczne podłogówki",
      "norma PN-EN 1264-4 podłogówka",
      "krok pętli grzewczej"
    ],
    "measurementTechnique": "Przeliczenie matematyczne na bazie wzoru L = 1/b z uwzględnieniem strat na łukach, zgodne ze standardami projektowania budynków jednorodzinnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw 10 cm: Zużycie ok. 10 mb/m2. Dedykowane do łazienek (wymóg 24°C) i stref brzegowych.",
        "Rozstaw 15 cm: Zużycie ok. 7 mb/m2. Standard dla salonów i sypialni (40-50 W/m2).",
        "Rozstaw 20 cm: Zużycie ok. 5 mb/m2. Używane w korytarzach i domach pasywnych.",
        "Rozstaw 25 cm: Zużycie ok. 4 mb/m2. Stosowane wyłącznie w technicznych halach i garażach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-rozstaw",
    "name": "Symulator Rozstawu i Zużycia Rur PN-EN",
    "description": "Interaktywny suwak pozwalający inwestorowi na dynamiczne dobieranie rozstawu osiowego rur i weryfikację wpływu tej decyzji na przeznaczenie pomieszczenia oraz zapotrzebowanie materiałowe.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-err-dark: #18181b; /* Ciemny grafit */
    --rk-err-panel: #27272a;
    --rk-err-brand: #e11d48; /* Czerwień ostrzegawcza */
    --rk-err-brand-light: #ffe4e6;
    --rk-err-accent: #f43f5e;
    --rk-err-warn: #d97706;
    --rk-err-text: #3f3f46;
    --rk-err-text-light: #71717a;
    --rk-err-bg: #fafafa;
    --rk-err-card: #ffffff;
    --rk-err-border: #e4e4e7;
}

.rk-error-scanner {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(225, 29, 72, 0.1);
    border: 1px solid var(--rk-err-border);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-err-header {
    background: var(--rk-err-dark);
    padding: 45px 50px 30px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-err-brand);
}

.rk-err-header::before {
    content: '!';
    position: absolute;
    right: 50px;
    top: -30px;
    font-size: 180px;
    font-weight: 900;
    color: rgba(255,255,255,0.04);
    line-height: 1;
    pointer-events: none;
}

.rk-err-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.rk-err-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #a1a1aa;
    margin: 0;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

/* Obszar Interaktywny */
.rk-err-app-body {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 30px;
}

/* Menu Błędów (Sidebar) */
.rk-err-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-err-btn {
    text-align: left;
    background: var(--rk-err-card);
    border: 1px solid var(--rk-err-border);
    padding: 16px 20px;
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    overflow: hidden;
}

.rk-err-btn::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: transparent;
    transition: background 0.3s;
}

.rk-err-btn:hover {
    border-color: #fca5a5;
    background: #fff1f2;
}

.rk-err-btn.active {
    background: #fff1f2;
    border-color: var(--rk-err-brand);
    box-shadow: 0 10px 15px -3px rgba(225, 29, 72, 0.08);
}

.rk-err-btn.active::before {
    background: var(--rk-err-brand);
}

.rk-err-btn-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #f4f4f5;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-err-text-light);
    transition: all 0.3s;
    flex-shrink: 0;
}

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

.rk-err-btn-icon svg { width: 20px; height: 20px; }

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

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

/* Wyświetlacz Błędu (Main Display) */
.rk-err-display {
    background: var(--rk-err-card);
    border: 1px solid var(--rk-err-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
}

.rk-err-visual {
    height: 180px;
    background: var(--rk-err-dark);
    border-radius: 16px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}

.rk-err-visual svg {
    width: 100%;
    height: 100%;
    max-width: 250px;
}

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

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

.rk-err-content a {
    color: var(--rk-err-brand);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: all 0.2s;
}

.rk-err-content a:hover {
    text-decoration-color: var(--rk-err-brand);
}

.rk-err-alert-box {
    background: #fef2f2;
    border-left: 4px solid var(--rk-err-brand);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    font-weight: 700;
    color: #9f1239;
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.4;
}

.rk-err-alert-box svg { flex-shrink: 0; }

/* Animacje SVG zależne od błędu */
@keyframes fracturePulse {
    0% { opacity: 0; transform: scale(0.8); }
    50% { opacity: 1; transform: scale(1.2); }
    100% { opacity: 0; transform: scale(0.8); }
}
.anim-fracture { animation: fracturePulse 1.5s infinite; transform-origin: center; fill: var(--rk-err-brand); }

@keyframes waterDrip {
    0% { transform: translateY(-10px); opacity: 0; }
    30% { opacity: 1; }
    100% { transform: translateY(30px); opacity: 0; }
}
.anim-drip { animation: waterDrip 1.5s infinite linear; fill: var(--rk-err-brand); }
.anim-drip-delay { animation: waterDrip 1.5s infinite linear; animation-delay: 0.75s; fill: var(--rk-err-brand); }

@keyframes guillotineShift {
    0% { transform: translateY(0); }
    50% { transform: translateY(8px); }
    100% { transform: translateY(0); }
}
.anim-slab-move { animation: guillotineShift 2s infinite ease-in-out; }

@keyframes heatLossFlow {
    0% { stroke-dashoffset: 200; }
    100% { stroke-dashoffset: 0; }
}
.anim-flow-long { 
    stroke-dasharray: 20 10; 
    animation: heatLossFlow 3s linear infinite; 
}

@keyframes needleDrop {
    0% { transform: rotate(45deg); }
    20% { transform: rotate(45deg); }
    40% { transform: rotate(-45deg); }
    80% { transform: rotate(-45deg); }
    100% { transform: rotate(45deg); }
}
.anim-needle { animation: needleDrop 4s infinite cubic-bezier(0.4, 0, 0.2, 1); transform-origin: 100px 70px; }

/* RWD */
@media (max-width: 768px) {
    .rk-err-header, .rk-err-app-body { padding: 30px 20px; }
    .rk-err-app-body { grid-template-columns: 1fr; gap: 20px; }
    .rk-err-nav { flex-direction: row; overflow-x: auto; padding-bottom: 10px; scrollbar-width: none; }
    .rk-err-nav::-webkit-scrollbar { display: none; }
    .rk-err-btn { min-width: 220px; flex-shrink: 0; padding: 15px; }
    .rk-err-visual { height: 160px; }
    .rk-err-content h3 { font-size: 20px; }
}
</style>

<div class="rk-error-scanner">
    <div class="rk-err-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Najczęstsze błędy wykonawcze
        </h2>
        <p>Błędy popełnione na etapie rozkładania rur PEX/PERT są niemożliwe do skorygowania po wylaniu jastrychu. Uruchom skaner błędów, aby dowiedzieć się, co niszczy instalację i jak uniknąć kucia posadzek.</p>
    </div>

    <div class="rk-err-app-body">
        <div class="rk-err-nav" id="rkErrNav">
            <button class="rk-err-btn active" data-error="bend">
                <div class="rk-err-btn-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12A10 10 0 1 1 12 2"></path></svg>
                </div>
                <span class="rk-err-btn-text">Złamanie rury (Przewężenie)</span>
            </button>
            <button class="rk-err-btn" data-error="joint">
                <div class="rk-err-btn-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="12" x2="20" y2="12"></line><line x1="12" y1="4" x2="12" y2="20"></line></svg>
                </div>
                <span class="rk-err-btn-text">Złączka w wylewce</span>
            </button>
            <button class="rk-err-btn" data-error="dilation">
                <div class="rk-err-btn-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="3" x2="12" y2="21"></line></svg>
                </div>
                <span class="rk-err-btn-text">Brak dylatacji (Gilotyna)</span>
            </button>
            <button class="rk-err-btn" data-error="length">
                <div class="rk-err-btn-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                </div>
                <span class="rk-err-btn-text">Zbyt długa pętla (>100mb)</span>
            </button>
            <button class="rk-err-btn" data-error="pressure">
                <div class="rk-err-btn-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                <span class="rk-err-btn-text">Brak próby ciśnieniowej</span>
            </button>
        </div>

        <div class="rk-err-display">
            <div class="rk-err-visual" id="errVisual">
                </div>
            
            <div class="rk-err-content">
                <h3 id="errTitle">Złamanie rury (za mały promień gięcia)</h3>
                <p id="errDesc">Wykonawcy, próbując zagęścić rozstaw na siłę bez użycia sprężyn gnących, doprowadzają do załamania rury (tzw. przewężenia). W tym miejscu drastycznie rośnie opór hydrauliczny, a osłabiona struktura polimeru grozi pęknięciem. Więcej o trwałości materiałów w artykule o <a href="https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/">wytrzymałości rur PEX</a>.</p>
                
                <div class="rk-err-alert-box" id="errAlert">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    <span id="errAlertText">Norma EN ISO 15875: Min. promień gięcia to 5 x d (ok. 8 cm).</span>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const buttons = document.querySelectorAll('.rk-err-btn');
    const visual = document.getElementById('errVisual');
    const title = document.getElementById('errTitle');
    const desc = document.getElementById('errDesc');
    const alertText = document.getElementById('errAlertText');

    const errorData = {
        "bend": {
            title: "Złamanie rury (za mały promień gięcia)",
            desc: "Wykonawcy, próbując zagęścić rozstaw na siłę bez użycia sprężyn gnących, doprowadzają do załamania rury (tzw. przewężenia). W tym miejscu drastycznie rośnie opór hydrauliczny, a osłabiona struktura polimeru grozi pęknięciem. Więcej w <a href='https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/'>przewodniku o wytrzymałości rur</a>.",
            alert: "Norma EN ISO 15875: Min. promień gięcia to 5 x d (ok. 8 cm dla rury 16mm).",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <path d="M 20 80 Q 100 -50 180 80" stroke="#4b5563" stroke-width="12" stroke-linecap="round"/>
                    <path d="M 90 25 L 110 25" stroke="#e11d48" stroke-width="8" stroke-linecap="round"/>
                    <circle cx="100" cy="25" r="8" class="anim-fracture" />
                  </svg>`
        },
        "joint": {
            title: "Łączenie rur w wylewce",
            desc: "Absolutną, nienaruszalną zasadą jest prowadzenie każdego obwodu od rozdzielacza do rozdzielacza w jednym kawałku. Zastosowanie złączki wewnątrz warstwy betonu w celu 'dosztukowania' brakującego metra rury to kardynalny błąd i potencjalne ognisko korozji galwanicznej.",
            alert: "Zagrożenie: Niewykrywalny wyciek, spadek ciśnienia i konieczność kucia posadzki.",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <rect x="20" y="40" width="75" height="12" fill="#4b5563" rx="4"/>
                    <rect x="105" y="40" width="75" height="12" fill="#4b5563" rx="4"/>
                    <rect x="85" y="34" width="30" height="24" fill="#a1a1aa" rx="2" stroke="#3f3f46" stroke-width="2"/>
                    <circle cx="100" cy="65" r="4" class="anim-drip" />
                    <circle cx="100" cy="65" r="3" class="anim-drip-delay" />
                  </svg>`
        },
        "dilation": {
            title: "Brak dylatacji i peszli w drzwiach",
            desc: "Płyta grzewcza pracuje termicznie. Brak <a href='https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/'>szczelin dylatacyjnych</a> w progach drzwi oraz brak rur ochronnych (peszli) powoduje, że naprężony, kurczący się beton działa jak gilotyna, ścinając rurę grzewczą po kilku sezonach.",
            alert: "Skutek: Płyty betonowe z czasem obcinają instalację mechaniczną w poprzek.",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <rect x="30" y="20" width="65" height="60" fill="#3f3f46" rx="2" />
                    <rect x="105" y="20" width="65" height="60" fill="#3f3f46" rx="2" class="anim-slab-move" />
                    <path d="M 20 50 L 180 50" stroke="#e11d48" stroke-width="8" stroke-linecap="round"/>
                    <path d="M 100 20 L 100 80" stroke="#f43f5e" stroke-width="2" stroke-dasharray="4 4" />
                  </svg>`
        },
        "length": {
            title: "Zbyt długa pętla (Przekroczenie limitu oporów)",
            desc: "Każda rura stawia opór płynącej wodzie. Jeśli ułożysz <a href='https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/'>pętlę dłuższą niż 100 mb</a> (dla średnicy 16mm), opór hydrauliczny przekroczy możliwości standardowej pompy obiegowej. Woda po prostu nie dopłynie do końca układu.",
            alert: "Skutek: Ostatnie metry podłogi pozostają permanentnie zimne pomimo działania kotła.",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <path d="M 20 50 Q 60 20 100 50 T 180 50" stroke="#4b5563" stroke-width="16" stroke-linecap="round"/>
                    <path d="M 20 50 Q 60 20 100 50 T 180 50" stroke="url(#heatGradient)" stroke-width="8" stroke-linecap="round" class="anim-flow-long"/>
                    <defs>
                      <linearGradient id="heatGradient" x1="0%" y1="0%" x2="100%" y2="0%">
                        <stop offset="0%" stop-color="#ef4444" />
                        <stop offset="50%" stop-color="#f59e0b" />
                        <stop offset="100%" stop-color="#3b82f6" />
                      </linearGradient>
                    </defs>
                  </svg>`
        },
        "pressure": {
            title: "Brak próby ciśnieniowej przed wylewką",
            desc: "Zalewanie rur jastrychem bez wcześniejszego nabicia ich wodą lub powietrzem (na min. 6 bar) to hazard. <a href='https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/'>Próba szczelności</a> nie tylko wykrywa fabryczne wady rury, ale też usztywnia ją, zapobiegając zgnieceniu pod ciężarem wylewki.",
            alert: "Zagrożenie: Odrzucenie roszczeń gwarancyjnych przez producenta rur w razie awarii.",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <circle cx="100" cy="70" r="40" fill="#3f3f46" stroke="#52525b" stroke-width="4"/>
                    <path d="M 70 70 A 30 30 0 0 1 130 70" stroke="#e11d48" stroke-width="6" stroke-linecap="round"/>
                    <path d="M 80 70 A 20 20 0 0 1 120 70" stroke="#10b981" stroke-width="6" stroke-linecap="round"/>
                    <circle cx="100" cy="70" r="4" fill="#ffffff"/>
                    <line x1="100" y1="70" x2="120" y2="50" stroke="#ffffff" stroke-width="3" stroke-linecap="round" class="anim-needle"/>
                  </svg>`
        }
    };

    function loadErrorData(errorKey) {
        const data = errorData[errorKey];
        title.innerHTML = data.title;
        desc.innerHTML = data.desc;
        alertText.innerHTML = data.alert;
        visual.innerHTML = data.svg;
    }

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            const errKey = this.getAttribute('data-error');
            
            visual.style.opacity = 0;
            setTimeout(() => {
                loadErrorData(errKey);
                visual.style.opacity = 1;
            }, 200);
        });
    });

    loadErrorData('bend');
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Najczęstsze błędy wykonawcze przy układaniu rur",
    "description": "Zestawienie najgroźniejszych błędów instalacyjnych podłogówki: zbyt mały promień gięcia, łączenie rur w wylewce, brak dylatacji, przekroczenie długości 100mb pętli oraz brak próby ciśnieniowej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-bledy",
    "name": "Katalog błędów i limitów mechanicznych rur PEX/PERT",
    "description": "Techniczne podsumowanie najczęstszych przyczyn awarii systemów ogrzewania płaszczyznowego z powiązaniem do norm montażowych i fizyki budowli.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy przy montażu podłogówki",
      "złamanie rury pex promień gięcia",
      "łączenie rur pod wylewką",
      "brak dylatacji ogrzewanie podłogowe",
      "maksymalna długość pętli podłogówki 16mm",
      "próba ciśnieniowa ogrzewania podłogowego"
    ],
    "measurementTechnique": "Weryfikacja jakości ułożenia pętli grzewczych na podstawie norm (EN ISO 15875 dla zginania polimerów), limitów hydraulicznych oraz wymogów dla jastrychów pływających.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Przekroczenie minimalnego promienia gięcia 5 x d (8 cm dla rury 16mm), co niszczy strukturę polimeru.",
        "Błąd 2: Stosowanie jakichkolwiek złączek zaprasowywanych i skręcanych wewnątrz betonu.",
        "Błąd 3: Brak profili dylatacyjnych oraz peszli na rurach przechodzących przez strefy drzwiowe.",
        "Błąd 4: Ułożenie pętli grzewczej dłuższej niż 100 metrów bieżących, co blokuje przepływ wody.",
        "Błąd 5: Zalewanie rur jastrychem bez wcześniejszej weryfikacji szczelności (min. 6 bar)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-bledy",
    "name": "Skaner Ryzyka Błędów Wykonawczych",
    "description": "Aplikacja typu wizualizator, demonstrująca inwestorom mechanikę powstawania uszkodzeń instalacji (złamania, wycieki złączek, ścinanie przez beton, opory hydrauliczne i spadki ciśnienia) wraz z objaśnieniem norm zapobiegających usterkom.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-pro-dark: #1e1b4b; /* Głęboki granat/indygo dla sekcji premium */
    --rk-pro-panel: #312e81;
    --rk-pro-brand: #6366f1;
    --rk-pro-brand-light: #e0e7ff;
    --rk-pro-accent: #818cf8;
    --rk-pro-success: #10b981;
    --rk-pro-danger: #ef4444;
    --rk-pro-warning: #f59e0b;
    --rk-pro-text: #334155;
    --rk-pro-text-light: #64748b;
    --rk-pro-bg: #f8fafc;
    --rk-pro-card: #ffffff;
    --rk-pro-border: #e2e8f0;
}

.rk-project-wrapper {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pro-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(30, 27, 75, 0.15);
    border: 1px solid var(--rk-pro-border);
    overflow: hidden;
}

/* Nagłówek H2 */
.rk-pro-header {
    background: var(--rk-pro-dark);
    padding: 45px 50px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rk-pro-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 80% 20%, rgba(99, 102, 241, 0.3) 0%, transparent 60%);
    pointer-events: none;
}

.rk-pro-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-pro-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #c7d2fe;
    margin: 0;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

/* Sekcja Interaktywna - Przełącznik */
.rk-pro-interactive {
    padding: 40px 50px;
}

.rk-pro-toggle-container {
    background: #ffffff;
    border: 1px solid var(--rk-pro-border);
    border-radius: 20px;
    padding: 10px;
    display: flex;
    position: relative;
    margin-bottom: 40px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.rk-pro-toggle-btn {
    flex: 1;
    padding: 18px 20px;
    border: none;
    background: transparent;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-pro-text-light);
    cursor: pointer;
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-pro-toggle-btn svg {
    width: 20px;
    height: 20px;
    transition: transform 0.3s;
}

.rk-pro-toggle-btn.active[data-state="amateur"] {
    color: var(--rk-pro-danger);
}

.rk-pro-toggle-btn.active[data-state="pro"] {
    color: var(--rk-pro-success);
}

/* Animowane tło przełącznika */
.rk-pro-toggle-bg {
    position: absolute;
    top: 10px;
    bottom: 10px;
    width: calc(50% - 10px);
    border-radius: 14px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    z-index: 1;
}

.rk-pro-toggle-container[data-current="amateur"] .rk-pro-toggle-bg {
    transform: translateX(0);
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    box-shadow: 0 4px 6px -1px rgba(239, 68, 68, 0.1);
}

.rk-pro-toggle-container[data-current="pro"] .rk-pro-toggle-bg {
    transform: translateX(100%);
    background-color: #ecfdf5;
    border: 1px solid #a7f3d0;
    box-shadow: 0 4px 6px -1px rgba(16, 185, 129, 0.1);
}

/* Kafelki Wyników */
.rk-pro-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-pro-card {
    background: var(--rk-pro-card);
    border: 1px solid var(--rk-pro-border);
    border-radius: 18px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.02);
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.rk-pro-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: #e2e8f0;
    transition: background-color 0.4s;
}

.rk-pro-card.state-danger::before { background: var(--rk-pro-danger); }
.rk-pro-card.state-success::before { background: var(--rk-pro-success); }

.rk-pro-icon-box {
    width: 60px;
    height: 60px;
    margin: 0 auto 20px auto;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    transition: all 0.4s;
}

.rk-pro-card.state-danger .rk-pro-icon-box { background: #fef2f2; color: var(--rk-pro-danger); }
.rk-pro-card.state-success .rk-pro-icon-box { background: #ecfdf5; color: var(--rk-pro-success); }

.rk-pro-icon-box svg {
    width: 30px;
    height: 30px;
}

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

.rk-pro-value {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-pro-text);
    margin-bottom: 10px;
    min-height: 52px; /* Stabilizacja wysokości */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s;
}

.rk-pro-card.state-danger .rk-pro-value { color: var(--rk-pro-danger); }
.rk-pro-card.state-success .rk-pro-value { color: var(--rk-pro-success); }

.rk-pro-desc {
    font-size: 14px;
    line-height: 1.5;
    color: var(--rk-pro-text);
}

.rk-pro-desc a {
    color: var(--rk-pro-brand);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: all 0.2s;
}

.rk-pro-desc a:hover {
    text-decoration-color: var(--rk-pro-brand);
}

/* Animacje SVG */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-3px) rotate(-5deg); }
    75% { transform: translateX(3px) rotate(5deg); }
}
.state-danger .anim-icon { animation: shake 0.5s ease-in-out; }

@keyframes popIn {
    0% { transform: scale(0.8); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
.state-success .anim-icon { animation: popIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); }

/* CTA Area */
.rk-pro-cta {
    background: #ffffff;
    padding: 40px 50px;
    text-align: center;
    border-top: 1px solid var(--rk-pro-border);
}

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

.rk-pro-cta p {
    color: var(--rk-pro-text-light);
    margin: 0 auto 25px auto;
    max-width: 600px;
    line-height: 1.6;
}

.rk-pro-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-pro-brand);
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    padding: 18px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(99, 102, 241, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-pro-btn:hover {
    transform: translateY(-4px);
    background: #4f46e5;
    box-shadow: 0 15px 30px -5px rgba(99, 102, 241, 0.5);
}

@media (max-width: 768px) {
    .rk-pro-header, .rk-pro-interactive, .rk-pro-cta { padding: 30px 20px; }
    .rk-pro-toggle-container { flex-direction: column; }
    .rk-pro-toggle-bg { width: calc(100% - 20px); height: calc(50% - 10px); }
    .rk-pro-toggle-container[data-current="pro"] .rk-pro-toggle-bg { transform: translateY(100%); left: 10px; }
    .rk-pro-grid { grid-template-columns: 1fr; }
    .rk-pro-btn { width: 100%; padding: 16px; }
}
</style>

<div class="rk-project-wrapper">
    <div class="rk-pro-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
            Przejście do realizacji: Dlaczego gotowy projekt to oszczędność?
        </h2>
        <p>Inwestorzy często rezygnują z profesjonalnego projektu instalacji, uznając go za zbędny wydatek rzędu kilkuset złotych, po czym wydają tysiące na przewymiarowane materiały lub borykają się z poprawkami. Zobacz na symulacji poniżej, jak decyzja o projekcie wpływa na koszty materiałowe i eksploatację.</p>
    </div>

    <div class="rk-pro-interactive">
        <div class="rk-pro-toggle-container" id="rkProToggle" data-current="amateur">
            <div class="rk-pro-toggle-bg"></div>
            <button class="rk-pro-toggle-btn active" data-state="amateur">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                Robota &#8222;na oko&#8221; (Brak projektu)
            </button>
            <button class="rk-pro-toggle-btn" data-state="pro">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Projekt OZC i Podłogówki
            </button>
        </div>

        <div class="rk-pro-grid">
            <div class="rk-pro-card state-danger" id="proCard1">
                <div class="rk-pro-icon-box">
                    <svg class="anim-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" id="proIcon1"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg>
                </div>
                <div class="rk-pro-metric">Zużycie i Odpady</div>
                <div class="rk-pro-value" id="proVal1">Odpady > 15%<br>Braki na budowie</div>
                <div class="rk-pro-desc" id="proDesc1">
                    Kupując rury w ciemno, pętle nie pasują do zwojów (np. 200 mb). Zostają bezużyteczne odcinki po 30 mb, a na ostatnią pętlę brakuje materiału.
                </div>
            </div>

            <div class="rk-pro-card state-danger" id="proCard2">
                <div class="rk-pro-icon-box">
                    <svg class="anim-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" id="proIcon2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                <div class="rk-pro-metric">Równoważenie układu</div>
                <div class="rk-pro-value" id="proVal2">2 sezony grzewcze<br>prób i błędów</div>
                <div class="rk-pro-desc" id="proDesc2">
                    Brak wytycznych nastaw dla <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów</a>. Kręcisz zaworami na oślep, co powoduje, że jedna pętla grzeje za mocno, a inna wcale.
                </div>
            </div>

            <div class="rk-pro-card state-danger" id="proCard3">
                <div class="rk-pro-icon-box">
                    <svg class="anim-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" id="proIcon3"><path d="M18 20V10"></path><path d="M12 20V4"></path><path d="M6 20v-6"></path></svg>
                </div>
                <div class="rk-pro-metric">Koszty Eksploatacji</div>
                <div class="rk-pro-value" id="proVal3">Przepalanie<br>energii</div>
                <div class="rk-pro-desc" id="proDesc3">
                    Przewymiarowana pompa ciepła lub kocioł taktuje (często się włącza). Brak synergii ze źródłem ciepła to wyższe rachunki za prąd/gaz.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-pro-cta">
        <h4>Projekt to dokumentacja gwarantująca jakość</h4>
        <p>Kompletny projekt to nie tylko rysunek – to <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">precyzyjne zestawienie materiałowe</a>, obliczenia OZC oraz pewność optymalnej pracy systemu przez dekady.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-pro-btn">
            ZAMÓW PROJEKT OGRZEWANIA PODŁOGOWEGO
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggleContainer = document.getElementById('rkProToggle');
    const buttons = document.querySelectorAll('.rk-pro-toggle-btn');
    
    const cards = [
        document.getElementById('proCard1'),
        document.getElementById('proCard2'),
        document.getElementById('proCard3')
    ];
    
    const contentData = {
        amateur: [
            {
                val: "Odpady > 15%<br>Braki na budowie",
                desc: "Kupując rury w ciemno, pętle nie pasują do zwojów (np. 200 mb). Zostają bezużyteczne odcinki po 30 mb, a na ostatnią pętlę brakuje materiału."
            },
            {
                val: "2 sezony grzewcze<br>prób i błędów",
                desc: "Brak wytycznych nastaw dla <a href='https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/'>rotametrów</a>. Kręcisz zaworami na oślep, co powoduje, że jedna pętla grzeje za mocno, a inna wcale."
            },
            {
                val: "Przepalanie<br>energii",
                desc: "Źle dobrana pompa ciepła lub kocioł taktuje (często się włącza). Brak hydraulicznej synergii ze źródłem ciepła to wyższe rachunki za prąd/gaz."
            }
        ],
        pro: [
            {
                val: "Odpady < 2%<br>Zestawienie co do metra",
                desc: "Właściwe rozplanowanie pętli w projekcie redukuje odpad. Otrzymujesz precyzyjną listę zakupową – kupujesz dokładnie to, co jest potrzebne."
            },
            {
                val: "Kalibracja<br>w 10 minut",
                desc: "Otrzymujesz dokładne wytyczne nastaw wstępnych na rotametrach dla każdej z pętli. Równoważenie hydrauliczne wykonujesz natychmiast po montażu."
            },
            {
                val: "Maksymalna<br>Sprawność (COP)",
                desc: "Pewność, że źródło ciepła będzie pracować stabilnie i z najwyższą możliwą sprawnością energetyczną, co bezpośrednio przekłada się na oszczędności."
            }
        ]
    };

    function updateCards(state) {
        const data = contentData[state];
        const isPro = state === 'pro';

        cards.forEach((card, index) => {
            // Remove animation class to re-trigger it
            const icon = card.querySelector('.anim-icon');
            icon.classList.remove('anim-icon');
            
            // Force reflow
            void card.offsetWidth;

            // Update content
            card.querySelector('.rk-pro-value').innerHTML = data[index].val;
            card.querySelector('.rk-pro-desc').innerHTML = data[index].desc;

            // Update state classes
            if (isPro) {
                card.classList.remove('state-danger');
                card.classList.add('state-success');
            } else {
                card.classList.remove('state-success');
                card.classList.add('state-danger');
            }

            // Re-add animation class
            icon.classList.add('anim-icon');
        });
    }

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            const state = this.getAttribute('data-state');
            
            // Update buttons
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            // Update container bg
            toggleContainer.setAttribute('data-current', state);
            
            // Update UI cards
            updateCards(state);
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Przejście do realizacji: Dlaczego gotowy projekt ogrzewania podłogowego to realna oszczędność?",
    "description": "Szczegółowa analiza opłacalności wykonania profesjonalnego projektu OZC i podłogówki. Zobacz, jak redukuje to odpady rur PEX do 2% i ułatwia równoważenie rotametrów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-projekt",
    "name": "Porównanie kosztów i strat materiałowych: Montaż bez projektu vs. Projekt OZC",
    "description": "Zestawienie analityczne pokazujące różnice w zużyciu rur, czasie kalibracji układu oraz efektywności źródła ciepła dla instalacji realizowanych na podstawie projektu vs. intuicji wykonawcy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt instalacji ogrzewania podłogowego",
      "odpady rury pex",
      "równoważenie hydrauliczne podłogówki",
      "nastawy rotametrów",
      "projekt ozc"
    ],
    "measurementTechnique": "Kwantyfikacja wskaźników montażowych: % odpadu z rolki 200m rury, czas potrzebny na kalibrację przepływów (rotametry) w jednostkach czasu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zużycie rur: Projekt zmniejsza odpad na budowie z ponad 15% do poziomu poniżej 2%.",
        "Równoważenie hydrauliczne: Gotowe wytyczne pozwalają zredukować czas kalibracji z wielu miesięcy do 10 minut.",
        "Koszty eksploatacji: Uniknięcie przewymiarowania i taktowania pompy ciepła zapewnia maksymalny możliwy wskaźnik COP."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-projekt",
    "name": "Symulator opłacalności projektu HVAC",
    "description": "Interaktywny przełącznik wizualizujący konsekwencje techniczne i finansowe montażu na oko w porównaniu do realizacji na bazie inżynierskiego projektu OZC.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-cs-dark: #111827;
    --rk-cs-panel: #1f2937;
    --rk-cs-brand: #2563eb; /* Royal Blue */
    --rk-cs-brand-light: #dbeafe;
    --rk-cs-success: #059669; /* Emerald */
    --rk-cs-success-light: #d1fae5;
    --rk-cs-danger: #dc2626; /* Red */
    --rk-cs-danger-light: #fee2e2;
    --rk-cs-bg: #f8fafc;
    --rk-cs-card: #ffffff;
    --rk-cs-border: #e2e8f0;
    --rk-cs-text: #334155;
    --rk-cs-text-light: #64748b;
}

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

/* Nagłówek Case Study */
.rk-cs-header {
    background: var(--rk-cs-dark);
    padding: 40px 50px 30px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-cs-brand);
}

.rk-cs-header::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 300px;
    height: 100%;
    background: radial-gradient(ellipse at right, rgba(37, 99, 235, 0.2) 0%, transparent 70%);
    pointer-events: none;
}

.rk-cs-title {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.rk-cs-badge {
    background: var(--rk-cs-brand);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

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

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

/* Profil Eksperta w Case Study */
.rk-cs-author-bar {
    display: flex;
    align-items: center;
    gap: 15px;
    background: var(--rk-cs-card);
    padding: 20px 50px;
    border-bottom: 1px solid var(--rk-cs-border);
}

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

.rk-cs-author-info h4 {
    margin: 0 0 2px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-cs-dark);
}

.rk-cs-author-info p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-cs-text-light);
    font-weight: 600;
}

/* Sekcja Interaktywna */
.rk-cs-body {
    padding: 40px 50px;
}

/* Przełącznik Przed/Po */
.rk-cs-toggle {
    display: flex;
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    border-radius: 16px;
    padding: 8px;
    margin-bottom: 35px;
    position: relative;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-cs-btn {
    flex: 1;
    padding: 16px 20px;
    background: transparent;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-cs-text-light);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: relative;
    z-index: 2;
}

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

.rk-cs-toggle-bg {
    position: absolute;
    top: 8px;
    bottom: 8px;
    width: calc(50% - 8px);
    border-radius: 12px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    z-index: 1;
}

.rk-cs-toggle[data-state="before"] .rk-cs-toggle-bg {
    transform: translateX(0);
    background: var(--rk-cs-danger-light);
    border: 1px solid #fca5a5;
}

.rk-cs-toggle[data-state="after"] .rk-cs-toggle-bg {
    transform: translateX(100%);
    background: var(--rk-cs-success-light);
    border: 1px solid #6ee7b7;
}

.rk-cs-toggle[data-state="before"] .rk-cs-btn[data-view="before"] { color: var(--rk-cs-danger); }
.rk-cs-toggle[data-state="after"] .rk-cs-btn[data-view="after"] { color: var(--rk-cs-success); }

/* Główny układ wyników */
.rk-cs-dashboard {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 30px;
}

/* Lewa strona - Parametry */
.rk-cs-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-cs-card {
    background: var(--rk-cs-card);
    border: 1px solid var(--rk-cs-border);
    padding: 25px;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: all 0.3s;
}

.rk-cs-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: background 0.3s, color 0.3s;
}

.rk-cs-icon svg { width: 22px; height: 22px; }

.rk-cs-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-cs-text-light);
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.rk-cs-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-cs-dark);
    margin-bottom: 6px;
    transition: color 0.3s;
}

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

/* Prawa strona - Finanse i Pompa */
.rk-cs-summary {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-cs-finance-card {
    background: var(--rk-cs-dark);
    color: #ffffff;
    padding: 30px;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    transition: background 0.4s;
}

.rk-cs-finance-card::before {
    content: 'KOSZTORYS';
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 10px;
    font-weight: 800;
    color: rgba(255,255,255,0.2);
    letter-spacing: 2px;
}

.rk-cs-fin-label {
    font-size: 13px;
    color: #94a3b8;
    font-weight: 600;
    margin-bottom: 5px;
}

.rk-cs-fin-val {
    font-size: 38px;
    font-weight: 900;
    margin-bottom: 15px;
    line-height: 1;
    transition: color 0.3s;
}

.rk-cs-fin-sub {
    font-size: 14px;
    color: #cbd5e1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.rk-cs-fin-sub strong { color: #ffffff; font-size: 16px; }

/* Dynamiczne stany (Danger/Success) */
.state-danger .rk-cs-icon { background: var(--rk-cs-danger-light); color: var(--rk-cs-danger); }
.state-danger .rk-cs-val { color: var(--rk-cs-danger); }
.state-danger-bg { background: #7f1d1d; }
.state-danger-text { color: #fca5a5; }

.state-success .rk-cs-icon { background: var(--rk-cs-success-light); color: var(--rk-cs-success); }
.state-success .rk-cs-val { color: var(--rk-cs-success); }
.state-success-bg { background: #064e3b; }
.state-success-text { color: #6ee7b7; }

/* Animacje UI */
.cs-anim-update {
    animation: csPop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes csPop {
    0% { transform: scale(0.95); opacity: 0.5; }
    50% { transform: scale(1.02); }
    100% { transform: scale(1); opacity: 1; }
}

@keyframes pumpPulse {
    0% { filter: drop-shadow(0 0 2px rgba(220, 38, 38, 0.5)); }
    50% { filter: drop-shadow(0 0 10px rgba(220, 38, 38, 0.8)); transform: scale(1.05); }
    100% { filter: drop-shadow(0 0 2px rgba(220, 38, 38, 0.5)); }
}
.anim-pump-bad { animation: pumpPulse 1s infinite; stroke: #ef4444; }

@keyframes pumpSmooth {
    0% { stroke-dashoffset: 20; }
    100% { stroke-dashoffset: 0; }
}
.anim-pump-good { stroke-dasharray: 5 5; animation: pumpSmooth 2s linear infinite; stroke: #10b981; }

@media (max-width: 850px) {
    .rk-cs-header, .rk-cs-author-bar, .rk-cs-body { padding: 30px 20px; }
    .rk-cs-dashboard { grid-template-columns: 1fr; }
    .rk-cs-metrics { grid-template-columns: 1fr; }
    .rk-cs-title { flex-direction: column; align-items: flex-start; gap: 10px; }
    .rk-cs-header h2 { font-size: 24px; }
}
</style>

<div class="rk-case-wrapper">
    <div class="rk-cs-header">
        <div class="rk-cs-title">
            <span class="rk-cs-badge">Case Study</span>
            <h2>Dom 200 m²: Gotowy projekt z sieci vs Optymalizacja OZC</h2>
        </div>
        <p>Pan Stanisław z Częstochowy buduje dom o powierzchni 200 m². Wraz z adaptacją otrzymał &#8222;darmowy&#8221; projekt podłogówki, w którym wszędzie zaplanowano rozstaw rur co 10 cm. Zobacz, ile kosztowałby go materiał i co stałoby się z pompą ciepła, gdybyśmy nie zainterweniowali i nie przeliczyli układu na nowo.</p>
    </div>

    <div class="rk-cs-author-bar">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-cs-author-photo">
        <div class="rk-cs-author-info">
            <h4>Analiza i Obliczenia: Robert Kucharski</h4>
            <p>Specjalista HVAC | Projekt-Ogrzewania.pl</p>
        </div>
    </div>

    <div class="rk-cs-body">
        
        <div class="rk-cs-toggle" id="csToggle" data-state="before">
            <div class="rk-cs-toggle-bg"></div>
            <button class="rk-cs-btn" data-view="before">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                Projekt &#8222;Darmowy&#8221; (Co 10 cm)
            </button>
            <button class="rk-cs-btn" data-view="after">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Optymalizacja (Projekt OZC)
            </button>
        </div>

        <div class="rk-cs-dashboard">
            <div class="rk-cs-metrics">
                <div class="rk-cs-card" id="csCardPipe">
                    <div class="rk-cs-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg></div>
                    <div class="rk-cs-label">Zapotrzebowanie na Rurę</div>
                    <div class="rk-cs-val" id="csValPipe">2400 mb</div>
                    <div class="rk-cs-desc" id="csDescPipe">Ogromne przewymiarowanie. Z każdego zwoju 200m zostawałyby olbrzymie, bezużyteczne odpady (ścinki).</div>
                </div>

                <div class="rk-cs-card" id="csCardPump">
                    <div class="rk-cs-icon" id="csIconPump">
                        <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="anim-pump-bad"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    </div>
                    <div class="rk-cs-label">Wpływ na Pompę Ciepła</div>
                    <div class="rk-cs-val" id="csValPump">Taktowanie</div>
                    <div class="rk-cs-desc" id="csDescPump">Zbyt gęsty układ dławi przepływ. Sprężarka włącza się i wyłącza co chwilę, drastycznie skracając żywotność pompy.</div>
                </div>
            </div>

            <div class="rk-cs-summary">
                <div class="rk-cs-finance-card state-danger-bg" id="csCardFin">
                    <div class="rk-cs-fin-label">Koszt samych rur (przy 4 zł/mb)</div>
                    <div class="rk-cs-fin-val state-danger-text" id="csValFin">9 600 PLN</div>
                    
                    <div class="rk-cs-fin-sub">
                        <span>Koszt projektu instalacji:</span>
                        <strong id="csValProj">0 PLN (Gotowiec)</strong>
                    </div>
                </div>
                
                <div class="rk-cs-card" style="background: #fffbeb; border-color: #fde68a;">
                    <div class="rk-cs-label" style="color: #b45309;">Wniosek Eksperta</div>
                    <div class="rk-cs-desc" style="color: #92400e; font-weight: 600;" id="csConclusion">
                        Brak uwzględnienia strefy klimatycznej i wyliczeń oporów to ukryty podatek. Instalator i tak doliczyłby sobie za robociznę przy układaniu nadmiarowych metrów rury.
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggle = document.getElementById('csToggle');
    const buttons = document.querySelectorAll('.rk-cs-btn');
    
    const cardPipe = document.getElementById('csCardPipe');
    const cardPump = document.getElementById('csCardPump');
    const cardFin = document.getElementById('csCardFin');
    const iconPump = document.getElementById('csIconPump');
    
    const valPipe = document.getElementById('csValPipe');
    const descPipe = document.getElementById('csDescPipe');
    const valPump = document.getElementById('csValPump');
    const descPump = document.getElementById('csDescPump');
    const valFin = document.getElementById('csValFin');
    const valProj = document.getElementById('csValProj');
    const conclusion = document.getElementById('csConclusion');

    const data = {
        before: {
            pipeVal: "2400 mb",
            pipeDesc: "Ogromne przewymiarowanie (rozstaw 10 cm). Brak optymalizacji zwojów generuje potężne odpady.",
            pumpVal: "Taktowanie",
            pumpDesc: "Zbyt gęsty układ dławi przepływy wodne. Sprężarka szarpie pracą, co niszczy żywotność pompy ciepła.",
            finVal: "9 600 PLN",
            projVal: "0 PLN (Gotowiec)",
            concl: "Brak uwzględnienia strefy klimatycznej i wyliczeń oporów to ukryty podatek. Wyższe koszty materiału i szybsza awaria pompy ciepła.",
            stateClass: "state-danger",
            bgClass: "state-danger-bg",
            textClass: "state-danger-text",
            svg: `<svg viewBox="0 0 24 24" fill="none" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="anim-pump-bad"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>`
        },
        after: {
            pipeVal: "1600 mb",
            pipeDesc: "Zoptymalizowany rozstaw (15 cm, łazienki 10 cm). Rury idealnie rozplanowane pod pełne kręgi, odpady zredukowane do 2%.",
            pumpVal: "Płynna praca",
            pumpDesc: "Zbilansowane opory hydrauliczne. Pompa ciepła pracuje na zadanym przepływie (Delta T), wydłużając żywotność sprężarki o lata.",
            finVal: "6 400 PLN",
            projVal: "700 PLN (Projekt)",
            concl: "Optymalizacja OZC obniżyła koszty materiału o 3 200 PLN. Odejmując 700 PLN za projekt, inwestor jest 2 500 PLN na plusie przed startem prac.",
            stateClass: "state-success",
            bgClass: "state-success-bg",
            textClass: "state-success-text",
            svg: `<svg viewBox="0 0 24 24" fill="none" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="anim-pump-good"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>`
        }
    };

    function triggerAnim(el) {
        el.classList.remove('cs-anim-update');
        void el.offsetWidth;
        el.classList.add('cs-anim-update');
    }

    function updateView(state) {
        const d = data[state];
        
        // Remove old states
        cardPipe.className = 'rk-cs-card';
        cardPump.className = 'rk-cs-card';
        cardFin.className = 'rk-cs-finance-card';
        valFin.className = 'rk-cs-fin-val';

        // Add new states
        cardPipe.classList.add(d.stateClass);
        cardPump.classList.add(d.stateClass);
        cardFin.classList.add(d.bgClass);
        valFin.classList.add(d.textClass);

        // Update Text
        valPipe.innerHTML = d.pipeVal;
        descPipe.innerHTML = d.pipeDesc;
        valPump.innerHTML = d.pumpVal;
        descPump.innerHTML = d.pumpDesc;
        valFin.innerHTML = d.finVal;
        valProj.innerHTML = d.projVal;
        conclusion.innerHTML = d.concl;
        iconPump.innerHTML = d.svg;

        // Animate
        [valPipe, valPump, valFin].forEach(triggerAnim);
    }

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            const state = this.getAttribute('data-view');
            toggle.setAttribute('data-state', state);
            updateView(state);
        });
    });

    // Init
    cardPipe.classList.add('state-danger');
    cardPump.classList.add('state-danger');
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Case Study: Ile rur PEX potrzeba do domu 200 m² i jak oszczędzić 3200 zł?",
    "description": "Analiza rzeczywistego projektu z Częstochowy. Sprawdź, dlaczego rozstaw rur co 10 cm niszczy pompę ciepła i jak profesjonalne obliczenia OZC zmniejszyły rachunek za materiał.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-casestudy",
    "name": "Analiza finansowa i hydrauliczna: Gotowy projekt vs Projekt OZC",
    "description": "Zestawienie kosztów zakupu rur PEX oraz parametrów pracy pompy ciepła na podstawie optymalizacji instalacji dla budynku 200 mkw.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile rury do ogrzewania podłogowego 200m2",
      "projekt ozc cena",
      "taktowanie pompy ciepła podłogówka",
      "rozstaw rur 10 czy 15 cm",
      "koszt materiału podłogówka"
    ],
    "measurementTechnique": "Kwantyfikacja strat finansowych (PLN) na bazie ceny 4 zł/mb rury PEX przy uwzględnieniu przewymiarowania rozstawu (10 cm) oraz weryfikacja oporów układu wpływających na zjawisko taktowania sprężarki.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan pierwotny (Błąd): Rozstaw 10 cm generował zapotrzebowanie 2400 mb. Koszt rury: 9600 PLN. Układ dławił pompę ciepła powodując taktowanie.",
        "Optymalizacja OZC: Zastosowanie rozstawu 15 cm i dopasowanie stref klimatycznych zmniejszyło zapotrzebowanie do 1600 mb.",
        "Wynik finansowy: Koszt rury spadł do 6400 PLN. Koszt projektu 700 PLN. Czysta oszczędność inwestora to 2500 PLN przed rozpoczęciem prac instalacyjnych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-casestudy",
    "name": "Symulator Oszczędności OZC - Case Study",
    "description": "Interaktywny panel przełączania (toggle) weryfikujący koszty zakupowe i ryzyko awarii pompy ciepła w zależności od wybranego wariantu projektowania (na oko vs inżyniersko).",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-panel: #1e293b;
    --rk-faq-brand: #0284c7;
    --rk-faq-brand-light: #e0f2fe;
    --rk-faq-accent: #38bdf8;
    --rk-faq-text: #334155;
    --rk-faq-text-light: #64748b;
    --rk-faq-bg: #ffffff;
    --rk-faq-bg-alt: #f8fafc;
    --rk-faq-border: #e2e8f0;
    --rk-faq-danger: #ef4444;
}

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

/* Nagłówek Sekcji */
.rk-faq-header {
    background: var(--rk-faq-dark);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-faq-brand);
}

.rk-faq-header::before {
    content: '?';
    position: absolute;
    right: 40px;
    top: -20px;
    font-size: 150px;
    font-weight: 900;
    color: rgba(255,255,255,0.03);
    line-height: 1;
    pointer-events: none;
}

.rk-faq-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.rk-faq-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

/* Lista Akordeonowa */
.rk-faq-list {
    padding: 20px 50px 40px;
    background: var(--rk-faq-bg-alt);
}

.rk-faq-item {
    background: var(--rk-faq-bg);
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
    overflow: hidden;
}

.rk-faq-item:hover {
    border-color: #bae6fd;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-brand);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.15);
}

/* Przycisk Pytania (H3 wewnątrz dla SEO) */
.rk-faq-trigger {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 24px 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    transition: background 0.3s;
}

.rk-faq-trigger:hover {
    background: #fcfdfd;
}

.rk-faq-question-content {
    display: flex;
    align-items: center;
    gap: 18px;
}

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

.rk-faq-item.active .rk-faq-icon {
    background: var(--rk-faq-brand);
    color: #ffffff;
}

.rk-faq-icon svg {
    width: 22px;
    height: 22px;
    stroke-width: 2;
}

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

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

.rk-faq-toggle-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid var(--rk-faq-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-faq-text-light);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

/* Treść Odpowiedzi */
.rk-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
    opacity: 0;
}

.rk-faq-item.active .rk-faq-answer {
    opacity: 1;
}

.rk-faq-answer-inner {
    padding: 0 30px 30px 88px; /* Wcięcie dopasowane do ikony */
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-text);
}

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

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

.rk-faq-highlight {
    background: #fef2f2;
    color: var(--rk-faq-danger);
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
}

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

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

.rk-faq-cta p {
    color: var(--rk-faq-text-light);
    margin: 0 auto 25px auto;
    max-width: 600px;
    line-height: 1.6;
}

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

.rk-faq-btn-massive:hover {
    transform: translateY(-5px);
    background: #1e293b;
    box-shadow: 0 15px 30px -5px rgba(15, 23, 42, 0.5);
    border-color: #475569;
}

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

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

@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-cta { padding: 35px 25px; }
    .rk-faq-list { padding: 20px 20px 30px; }
    .rk-faq-trigger { padding: 20px; gap: 15px; }
    .rk-faq-question-content { gap: 15px; }
    .rk-faq-trigger h3 { font-size: 15px; }
    .rk-faq-answer-inner { padding: 0 20px 25px 20px; } /* Usunięte duże wcięcie na mobile */
    .rk-faq-btn-massive { width: 100%; padding: 16px; }
}
</style>

<div class="rk-faq-wrapper">
    <div class="rk-faq-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Najczęściej zadawane pytania (FAQ)
        </h2>
        <p>Masz wątpliwości przed zakupem rur lub rozpoczęciem montażu? Poniżej zebrałem szybkie, inżynierskie odpowiedzi na pytania, które najczęściej słyszę od inwestorów decydujących się na wodne ogrzewanie podłogowe.</p>
    </div>

    <div class="rk-faq-list" id="rkFaqAccordion">
        
        <div class="rk-faq-item">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-question-content">
                    <div class="rk-faq-icon">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg>
                    </div>
                    <h3>Ile metrów ma najdłuższa pętla ogrzewania podłogowego 16 mm?</h3>
                </div>
                <div class="rk-faq-toggle-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">Maksymalna długość pętli dla rury o średnicy 16 mm</a> wynosi <strong>100 metrów bieżących</strong> wraz z odcinkami przyłączeniowymi do rozdzielacza. Przekroczenie tej wartości generuje zbyt duże opory hydrauliczne, których standardowa pompa obiegowa zintegrowana ze źródłem ciepła nie jest w stanie pokonać.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-question-content">
                    <div class="rk-faq-icon">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
                    </div>
                    <h3>Jaki rozstaw rur podłogówki jest najlepszy do salonu?</h3>
                </div>
                <div class="rk-faq-toggle-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Optymalnym i standardowym rozstawem rur w salonie jest <strong>15 cm</strong>, co zapewnia odpowiednią moc grzewczą przy niskich temperaturach zasilania. W miejscach z dużymi przeszkleniami (np. okna tarasowe typu HS) bezwzględnie stosuje się zagęszczenie, czyli <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">strefę brzegową z rozstawem 10 cm</a>, aby zniwelować chłód bijący od szyb.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-question-content">
                    <div class="rk-faq-icon">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                    </div>
                    <h3>Czy można łączyć rurę PEX w podłodze pod wylewką?</h3>
                </div>
                <div class="rk-faq-toggle-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    <span class="rk-faq-highlight">Absolutnie niedopuszczalne</span> jest jakiekolwiek łączenie rur wewnątrz warstwy jastrychu – pętla musi być wykonana z jednego ciągłego odcinka materiału od belki do belki rozdzielacza. Każde złącze mechaniczne pod wylewką to tykająca bomba, która drastycznie zwiększa ryzyko awarii i kosztownego kucia posadzek z powodu wycieku. Zobacz listę <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">innych błędów montażowych</a>.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-question-content">
                    <div class="rk-faq-icon">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12h20M2 12c0 3.31 2.69 6 6 6h8c3.31 0 6-2.69 6-6M4 12V8c0-1.1.9-2 2-2h12c1.1 0 2 .9 2 2v4M12 6V3M8 3h8"></path></svg>
                    </div>
                    <h3>Ile rury PEX potrzeba na łazienkę o powierzchni 6 m²?</h3>
                </div>
                <div class="rk-faq-toggle-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    W łazienkach, ze względu na wyższą wymaganą temperaturę (24°C), zawsze stosuje się gęsty rozstaw rur co 10 cm. Oznacza to zużycie materiału na poziomie <strong>10 mb/m²</strong>. Dla powierzchni netto 6 m² potrzeba zatem minimum 60 mb rury, plus należy doliczyć dodatkowe metry na doprowadzenie tej pętli (tzw. tranzyt) do szafki rozdzielaczowej.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-question-content">
                    <div class="rk-faq-icon">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path></svg>
                    </div>
                    <h3>Jak obliczyć zapas rury przy zakupie na cały dom?</h3>
                </div>
                <div class="rk-faq-toggle-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-answer">
                <div class="rk-faq-answer-inner">
                    Do czystych obliczeń z powierzchni metrażowej (powierzchnia × współczynnik rozstawu) zawsze <a href="https://projekt-ogrzewania.pl/ile-kosztuje-100-m%c2%b2-ogrzewania-podlogowego/">należy dodać ok. 10% naddatku</a> na odpady, ugięcia na łukach oraz podejścia instalacyjne. Wyliczoną sumę metrów zaokrągla się w górę do pełnych kręgów handlowych – najczęściej rury PEX pakowane są w kręgi po 200 mb, 400 mb lub 600 mb.
                </div>
            </div>
        </div>

    </div>

    <div class="rk-faq-cta">
        <h4>Nie ryzykuj błędów przy montażu podłogówki</h4>
        <p>Wiedza z zakresu hydrauliki to podstawa, by nie przepłacić za materiały i uniknąć usterek. Przeczytaj moje szczegółowe analizy, studia przypadków i porady projektowe.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-faq-btn-massive">
            PRZEJDŹ DO BAZY WIEDZY
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

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

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

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

            // Zamknij wszystkie otwarte
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-faq-trigger').setAttribute('aria-expanded', 'false');
                otherItem.querySelector('.rk-faq-answer').style.maxHeight = null;
            });

            // Otwórz kliknięty, jeśli był zamknięty
            if (!isActive) {
                item.classList.add('active');
                trigger.setAttribute('aria-expanded', 'true');
                // Ustawienie max-height na scrollHeight pozwala na płynną animację CSS
                answer.style.maxHeight = answer.scrollHeight + "px";
            }
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Najczęściej zadawane pytania (FAQ) o rury do podłogówki",
    "description": "Zbiór odpowiedzi eksperckich na pytania o maksymalną długość pętli, optymalny rozstaw rur w salonie i łazience oraz zakaz łączenia przewodów w wylewce.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-faq",
    "name": "Baza wiedzy Q&A: Zapotrzebowanie i układanie rur PEX",
    "description": "Techniczne zestawienie odpowiedzi na najtrudniejsze pytania inwestorów dotyczące instalacji płaszczyznowych i hydrauliki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego 16 mm",
      "rozstaw rur podłogówki w salonie",
      "łączenie rury PEX pod wylewką",
      "ile rury na łazienkę 6m2",
      "zapas rury ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Ekstrakcja danych hydraulicznych i montażowych dla inwestorów na podstawie wytycznych branżowych i wieloletniej praktyki HVAC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Q: Długość pętli 16mm? A: Maksymalnie 100 mb z tranzytem.",
        "Q: Rozstaw w salonie? A: Optymalnie 15 cm, przy oknach 10 cm.",
        "Q: Łączenie w wylewce? A: Absolutnie zakazane, pętla musi być w jednym kawałku.",
        "Q: Łazienka 6m2? A: Rozstaw 10 cm daje ok. 60 mb + tranzyty.",
        "Q: Zapas rury? A: Dodaj 10% do wyliczeń i zaokrąglij do pełnego kręgu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywny Akordeon Wiedzy HVAC",
    "description": "Narzędzie interfejsu użytkownika (UI) pozwalające na dynamiczne przełączanie i odkrywanie odpowiedzi inżynierskich bez przeładowywania strony, zwiększające przejrzystość długich tekstów technicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-panel: #1e293b;
    --rk-auth-bg: #ffffff;
    --rk-auth-surface: #f8fafc;
    --rk-auth-border: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-muted: #64748b;
    
    --rk-auth-blue: #0284c7;
    --rk-auth-gold: #eab308;
    --rk-auth-fb: #1877F2;
    --rk-auth-li: #0A66C2;
}

.rk-auth-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-auth-bg);
    border-radius: 24px;
    box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-auth-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Header Area */
.rk-auth-header {
    background: var(--rk-auth-dark);
    padding: 35px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-auth-gold);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

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

.rk-auth-header-text p {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    font-weight: 500;
}

.rk-auth-trust-badge {
    background: rgba(234, 179, 8, 0.15);
    border: 1px solid rgba(234, 179, 8, 0.3);
    color: var(--rk-auth-gold);
    padding: 10px 20px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    flex-shrink: 0;
}

/* Main Layout Grid */
.rk-auth-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: var(--rk-auth-bg);
}

/* Left Sidebar: Profile */
.rk-auth-profile {
    background: var(--rk-auth-surface);
    padding: 40px 30px;
    border-right: 1px solid var(--rk-auth-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-auth-photo-wrap {
    width: 160px;
    height: 160px;
    margin-bottom: 25px;
}

.rk-auth-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

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

.rk-auth-title {
    font-size: 14px;
    color: var(--rk-auth-blue);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.rk-auth-socials {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.rk-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 12px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.rk-social-btn.fb { background: var(--rk-auth-fb); }
.rk-social-btn.fb:hover { background: #166fe5; }
.rk-social-btn.li { background: var(--rk-auth-li); }
.rk-social-btn.li:hover { background: #0959aa; }

/* Right Content Area */
.rk-auth-content {
    display: flex;
    flex-direction: column;
}

/* Cytat (Hook) */
.rk-auth-quote-box {
    padding: 35px 40px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-auth-border);
}

.rk-auth-quote-mark {
    font-size: 60px;
    color: var(--rk-auth-blue);
    line-height: 0;
    opacity: 0.2;
    margin-bottom: -15px;
    display: block;
    font-family: serif;
}

.rk-auth-quote-text {
    font-size: 19px;
    font-weight: 700;
    color: var(--rk-auth-dark);
    line-height: 1.5;
    margin: 0;
    font-style: italic;
}

/* Navigation Tabs */
.rk-auth-tabs {
    display: flex;
    border-bottom: 1px solid var(--rk-auth-border);
    background: var(--rk-auth-surface);
}

.rk-auth-tab {
    flex: 1;
    padding: 18px 10px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-auth-muted);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rk-auth-tab:hover {
    color: var(--rk-auth-dark);
    background: #f1f5f9;
}

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

/* Tab Panels */
.rk-auth-panel {
    padding: 40px;
    display: none;
}

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

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

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

.rk-auth-panel p:last-child { margin-bottom: 0; }

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

.rk-auth-panel a:hover {
    border-color: var(--rk-auth-blue);
}

/* Stats Grid in Panel 2 */
.rk-auth-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 25px;
}

.rk-stat-box {
    background: var(--rk-auth-surface);
    border: 1px solid var(--rk-auth-border);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-stat-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #ffffff;
    color: var(--rk-auth-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rk-auth-border);
    flex-shrink: 0;
}

.rk-stat-info { display: flex; flex-direction: column; }

.rk-stat-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    line-height: 1.2;
}

.rk-stat-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-auth-muted);
    text-transform: uppercase;
}

/* Mobile */
@media (max-width: 850px) {
    .rk-auth-grid { grid-template-columns: 1fr; }
    .rk-auth-header { flex-direction: column; text-align: center; padding: 30px 25px; }
    .rk-auth-trust-badge { width: 100%; justify-content: center; }
    .rk-auth-profile { border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 30px 25px; }
    .rk-auth-socials { flex-direction: row; }
    .rk-auth-tabs { flex-direction: column; background: #ffffff; }
    .rk-auth-tab { border-bottom: none; border-left: 4px solid transparent; justify-content: flex-start; padding: 15px 25px; }
    .rk-auth-tab.active { border-left-color: var(--rk-auth-blue); border-bottom-color: transparent; background: var(--rk-auth-surface); }
    .rk-auth-quote-box { padding: 25px; }
    .rk-auth-panel { padding: 30px 25px; }
    .rk-auth-stats { grid-template-columns: 1fr; }
}
</style>

<div class="rk-auth-container">
    
    <div class="rk-auth-header">
        <div class="rk-auth-header-text">
            <h2>Ekspert HVAC Robert Kucharski: Dlaczego nie liczymy rur &#8222;na oko&#8221;?</h2>
            <p>Nie powielam internetowych mitów. Zobacz, kto odpowiada za wiedzę techniczną w tym artykule.</p>
        </div>
        <div class="rk-auth-trust-badge">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Zweryfikowany Ekspert HVAC
        </div>
    </div>

    <div class="rk-auth-grid">
        
        <div class="rk-auth-profile">
            <div class="rk-auth-photo-wrap">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Inżynier HVAC" class="rk-auth-photo">
            </div>
            
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <div class="rk-auth-title">Główny Specjalista HVAC</div>
            
            <div class="rk-auth-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-btn fb">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                    Projekt Ogrzewania
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-btn li">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                    LinkedIn
                </a>
            </div>
        </div>

        <div class="rk-auth-content">
            
            <div class="rk-auth-quote-box">
                <span class="rk-auth-quote-mark">&#8222;</span>
                <p class="rk-auth-quote-text">
                    Nigdy nie kupuj rur &#8222;na oko&#8221;. Zbyt gęsty rozstaw zadławi hydraulicznie Twoją pompę obiegową, a zbyt rzadki wymusi podniesienie temperatury zasilania, niszcząc oszczędności z pompy ciepła. Matematyka układu wybacza znacznie mniej niż wylewka betonowa.
                </p>
            </div>

            <div class="rk-auth-tabs">
                <button class="rk-auth-tab active" data-panel="omnie">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>
                    O Mnie
                </button>
                <button class="rk-auth-tab" data-panel="liczby">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    Fakty i Liczby
                </button>
                <button class="rk-auth-tab" data-panel="filozofia">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
                    Filozofia OZC
                </button>
            </div>

            <div class="rk-auth-panel active" id="panel-omnie">
                <h3>Praktyka wygrywa z teorią</h3>
                <p>
                    Projektowanie systemów ogrzewania to czysta matematyka i fizyka budowli. Od lat doradzam inwestorom i audytuję błędy wykonawcze na placach budowy. Prowadzę również portal remont.biz.pl oraz sobir.pl, dzieląc się praktyczną wiedzą.
                </p>
                <p>
                    Wiem dokładnie, ile kosztuje instalatora pośpiech, a inwestora – ufność w &#8222;standardowe rozwiązania bez obliczeń&#8221;. W projekt-ogrzewania.pl łączę twardą wiedzę inżynierską z pragmatyzmem, udowadniając, że odpowiedni rozstaw rur to klucz do żywotności całego układu.
                </p>
            </div>

            <div class="rk-auth-panel" id="panel-liczby">
                <h3>Instalacje oparte na twardych danych</h3>
                <p>Każdy opór hydrauliczny, każdy metr rury PEX i każdy rotametr mają znaczenie. Moje podejście opiera się na wyliczeniach, nie na przypuszczeniach.</p>
                
                <div class="rk-auth-stats">
                    <div class="rk-stat-box">
                        <div class="rk-stat-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                        </div>
                        <div class="rk-stat-info">
                            <div class="rk-stat-val">1000+</div>
                            <div class="rk-stat-label">Wykonanych Projektów OZC</div>
                        </div>
                    </div>
                    
                    <div class="rk-stat-box">
                        <div class="rk-stat-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        </div>
                        <div class="rk-stat-info">
                            <div class="rk-stat-val">~20%</div>
                            <div class="rk-stat-label">Oszczędności eksploatacyjnych</div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-auth-panel" id="panel-filozofia">
                <h3>Bezbłędny system zaczyna się na papierze</h3>
                <p>
                    Nie uznaję układania rur &#8222;co 15 cm wszędzie, bo tak się robi&#8221;. Każde pomieszczenie ma inne straty cieplne. Stosuję gęstszy rozstaw w łazienkach i przy strefach brzegowych (duże przeszklenia), rzadszy w sypialniach.
                </p>
                <p>
                    Wszystkie algorytmy i artykuły na tej stronie bazują na obowiązującej normie projektowej <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">PN-EN 1264</a>, co gwarantuje pełną zgodność prawno-techniczną i bezpieczeństwo dla jastrychów.
                </p>
            </div>

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

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

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Remove active classes
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Add active class to clicked tab
            this.classList.add('active');

            // Show corresponding panel
            const target = this.getAttribute('data-panel');
            document.getElementById('panel-' + target).classList.add('active');
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-autor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Ekspert HVAC Robert Kucharski: Dlaczego nie liczymy rur \"na oko\"?",
    "description": "Profil ekspercki Roberta Kucharskiego, inżyniera HVAC weryfikującego błędy w układaniu rur PEX oraz optymalizującego rozstaw pętli grzewczych na bazie projektów OZC.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Inżynier HVAC",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-autor",
    "name": "Baza wiedzy i doświadczenia HVAC - Robert Kucharski",
    "description": "Zestawienie autorskich statystyk i kompetencji technicznych w zakresie normatywnego projektowania systemów ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowanie ogrzewania podłogowego OZC",
      "obliczanie ilości rur podłogówki",
      "norma PN-EN 1264 podłogówka",
      "inżynier hvac robert kucharski",
      "audyt hydrauliczny instalacji"
    ],
    "measurementTechnique": "Agregacja danych z ponad 1000 zrealizowanych projektów OZC, wykazująca redukcję oporów hydraulicznych i średni spadek kosztów ogrzewania u inwestorów o ok. 20%.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zrealizowane projekty instalacji płaszczyznowych na bazie OZC: 1000+",
        "Główny profil działalności: Redukcja kosztów inwestycyjnych poprzez unikanie przewymiarowania rur.",
        "Podstawa techniczna audytów: Norma PN-EN 1264-4."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-autor",
    "name": "Interaktywny Profil Autorski E-E-A-T",
    "description": "Statyczny interfejs weryfikujący autorytet inżynierski autora, integrujący jego wypowiedzi (hook), portfolio projektowe oraz filozofię zgodną z normami prawa budowlanego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-aud-dark: #111827;
    --rk-aud-panel: #1f2937;
    --rk-aud-brand: #3b82f6;
    --rk-aud-brand-light: #eff6ff;
    --rk-aud-accent: #60a5fa;
    --rk-aud-text: #4b5563;
    --rk-aud-text-light: #9ca3af;
    --rk-aud-bg: #ffffff;
    --rk-aud-border: #e5e7eb;
    --rk-aud-success: #10b981;
    --rk-aud-alert: #ef4444;
}

.rk-audit-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-aud-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(59, 130, 246, 0.15);
    border: 1px solid var(--rk-aud-border);
    overflow: hidden;
}

/* Nagłówek H2 */
.rk-aud-header {
    background: var(--rk-aud-dark);
    padding: 45px 50px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rk-aud-header::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(59, 130, 246, 0.2) 0%, transparent 70%);
    border-radius: 50%;
}

.rk-aud-header h2 {
    font-size: 30px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
    position: relative;
    z-index: 2;
}

.rk-aud-header p {
    font-size: 16px;
    color: var(--rk-aud-text-light);
    line-height: 1.6;
    max-width: 700px;
    margin: 0;
    position: relative;
    z-index: 2;
}

/* Interaktywne Zakładki */
.rk-aud-interactive-zone {
    padding: 40px 50px;
}

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

.rk-aud-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    background: #f3f4f6;
    padding: 8px;
    border-radius: 16px;
    overflow-x: auto;
    scrollbar-width: none;
}

.rk-aud-tabs::-webkit-scrollbar { display: none; }

.rk-aud-tab-btn {
    flex: 1;
    min-width: 150px;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-aud-text);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}

.rk-aud-tab-btn:hover {
    color: var(--rk-aud-dark);
}

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

.rk-aud-tab-btn svg {
    width: 18px;
    height: 18px;
    transition: stroke 0.3s;
}

/* Panele z treścią (Karty) */
.rk-aud-panel {
    display: none;
    animation: fadeIn 0.4s ease forwards;
}

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

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

.rk-aud-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
}

.rk-aud-card {
    background: var(--rk-aud-bg);
    border: 1px solid var(--rk-aud-border);
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    position: relative;
    transition: transform 0.3s;
}

.rk-aud-card:hover {
    transform: translateY(-4px);
    border-color: var(--rk-aud-accent);
}

.rk-aud-icon-box {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.bg-blue { background: var(--rk-aud-brand-light); color: var(--rk-aud-brand); }
.bg-green { background: #ecfdf5; color: var(--rk-aud-success); }
.bg-red { background: #fef2f2; color: var(--rk-aud-alert); }

.rk-aud-icon-box svg {
    width: 26px;
    height: 26px;
}

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

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

.rk-aud-card a {
    color: var(--rk-aud-brand);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.rk-aud-card a:hover {
    border-color: var(--rk-aud-brand);
}

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

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

.rk-aud-cta p {
    font-size: 16px;
    color: var(--rk-aud-text-light);
    margin: 0 auto 30px auto;
    max-width: 600px;
    line-height: 1.6;
}

.rk-aud-btn-massive {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--rk-aud-brand);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.5);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.rk-aud-btn-massive:hover {
    transform: translateY(-5px);
    background: #2563eb;
    box-shadow: 0 20px 35px -5px rgba(59, 130, 246, 0.6);
    border-color: #93c5fd;
}

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

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

/* Animacje ścieżek SVG */
@keyframes drawPath {
    to { stroke-dashoffset: 0; }
}
.anim-draw {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    animation: drawPath 1.5s ease forwards;
}

@media (max-width: 768px) {
    .rk-aud-header, .rk-aud-interactive-zone, .rk-aud-cta { padding: 35px 25px; }
    .rk-aud-tabs { flex-direction: column; background: transparent; padding: 0; }
    .rk-aud-tab-btn { background: #f3f4f6; justify-content: flex-start; padding: 16px 20px; }
    .rk-aud-grid { grid-template-columns: 1fr; }
    .rk-aud-btn-massive { width: 100%; justify-content: center; padding: 18px 20px; font-size: 16px; }
}
</style>

<div class="rk-audit-container">
    <div class="rk-aud-header">
        <h2>Podsumowanie: Ile rury na m² podłogówki – Checklista Inwestora</h2>
        <p>Prawidłowe określenie zapotrzebowania materiałowego na ogrzewanie płaszczyznowe to zaledwie początek. System grzewczy zadziała bezbłędnie tylko wtedy, gdy rozstaw pętli spotka się z fizyką przepływów i poprawnym montażem. Zobacz, o czym nie możesz zapomnieć.</p>
    </div>

    <div class="rk-aud-interactive-zone">
        <h3>
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-aud-brand)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Interaktywna Weryfikacja Systemu
        </h3>
        
        <div class="rk-aud-tabs">
            <button class="rk-aud-tab-btn active" data-target="panel-parametry">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                1. Limity Hydrauliczne
            </button>
            <button class="rk-aud-tab-btn" data-target="panel-bledy">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                2. Błędy Wykonawcze
            </button>
            <button class="rk-aud-tab-btn" data-target="panel-projekt">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                3. Złote Zasady
            </button>
        </div>

        <div class="rk-aud-panel active" id="panel-parametry">
            <div class="rk-aud-grid">
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-blue">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path class="anim-draw" d="M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v4a4 4 0 0 1-4 4h-8a4 4 0 0 1-4-4v-4z"></path></svg>
                    </div>
                    <h4>Maksymalna długość pętli</h4>
                    <p>Fizyki nie oszukasz. Dla rury PEX o średnicy wewnętrznej 16 mm (16&#215;2) absolutny limit to <strong>100 metrów bieżących</strong> na jedną pętlę. Przekroczenie tego oporu zablokuje przepływ wody przez pompę obiegową.</p>
                </div>
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-blue">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line class="anim-draw" x1="12" y1="2" x2="12" y2="22"></line><line class="anim-draw" x1="2" y1="12" x2="22" y2="12"></line></svg>
                    </div>
                    <h4>Gęstość a rachunki</h4>
                    <p>Zmniejszenie rozstawu rur z 15 cm na 10 cm obniża wymaganą temperaturę zasilania na kotle. Zyskujesz na <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">mniejszym zużyciu prądu przez pompę ciepła (wyższy COP)</a>.</p>
                </div>
            </div>
        </div>

        <div class="rk-aud-panel" id="panel-bledy">
            <div class="rk-aud-grid">
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-red">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle class="anim-draw" cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                    </div>
                    <h4>Gilotyna w drzwiach</h4>
                    <p>Brak peszli ochronnych i poprawnie wykonanej <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">szczeliny dylatacyjnej</a> w otworach drzwiowych sprawia, że pracująca termicznie <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewka betonowa</a> &#8222;ścina&#8221; rury po kilku sezonach.</p>
                </div>
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-red">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path class="anim-draw" d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    </div>
                    <h4>Oszczędność na jakości</h4>
                    <p>Zastosowanie najtańszych rur bez warstwy EVOH powoduje napowietrzanie instalacji i przyspiesza korozję rozdzielaczy mosiężnych. Zapoznaj się z listą <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstszych błędów montażowych</a>.</p>
                </div>
            </div>
        </div>

        <div class="rk-aud-panel" id="panel-projekt">
            <div class="rk-aud-grid">
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-green">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path class="anim-draw" d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    </div>
                    <h4>Obliczenia OZC to fundament</h4>
                    <p>Nigdy nie dobieraj rozstawu rur &#8222;na oko&#8221;. Precyzyjne określenie strat energii poprzez wykonanie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego (OZC)</a> pozwala dopasować zagęszczenie dokładnie do potrzeb salonu czy łazienki.</p>
                </div>
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-green">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path class="anim-draw" d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                    </div>
                    <h4>Protokół Próby Ciśnieniowej</h4>
                    <p>Nigdy nie zalewaj instalacji jastrychem przed wykonaniem testu szczelności ciśnieniem min. 6 barów przez 24 godziny. Ten dokument to Twoja przepustka do uznania gwarancji przez producenta rur.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-aud-cta">
        <h3>Przestań zgadywać na własnej budowie</h3>
        <p>Instalacja hydrauliczna zaleje się w wylewce betonowej na kolejne 50 lat. Jeden błąd to konieczność kucia posadzek. Zdobądź profesjonalną wiedzę inżynierską, o której milczą instalatorzy.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-aud-btn-massive">
            Więcej artykułów na moim blogu.

            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

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

    tabs.forEach(tab => {
        tab.addEventListener('click', () => {
            // Remove active classes
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => {
                p.classList.remove('active');
                // Reset animation
                p.style.animation = 'none';
                p.offsetHeight; // trigger reflow
                p.style.animation = null;
            });

            // Add active class to clicked tab
            tab.classList.add('active');
            
            // Show corresponding panel
            const target = tab.getAttribute('data-target');
            document.getElementById(target).classList.add('active');
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-final-summary",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie: Ile rury na m² podłogówki – Checklista Inwestora",
    "description": "Zestawienie inżynierskich zasad montażu instalacji grzewczej podłogowej, maksymalnych długości pętli rur PEX oraz błędów wykonawczych przed wylaniem wylewki betonowej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-final-summary",
    "name": "Standard inżynierski montażu ogrzewania płaszczyznowego 2026",
    "description": "Kompendium limitów hydraulicznych, zaleceń projektowych OZC oraz norm instalacyjnych dla rur polietylenowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego 16mm",
      "zapotrzebowanie materiałowe na podłogówkę",
      "błędy przy montażu podłogówki",
      "wylewka betonowa na ogrzewanie podłogowe",
      "projekt OZC a rozstaw rur"
    ],
    "measurementTechnique": "Weryfikacja jakości montażu instalacji hydraulicznej w relacji do normatywnego oporu rurociągów PEX (max 100 mb).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Reguła 100 metrów - limit zapobiegający blokadzie hydraulicznej i niedogrzaniu podłogi.",
        "Wymóg stosowania peszli i szczelin dylatacyjnych chroniących przed ścięciem rur przez jastrych.",
        "Obligatoryjne obliczenia OZC dla precyzyjnego doboru zagęszczenia rur zamiast dobierania na oko."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-final-summary",
    "name": "Interaktywny Audyt Ogrzewania Podłogowego",
    "description": "Narzędzie edukacyjne weryfikujące poprawność wykonania instalacji grzewczej, segregujące wiedzę na limity techniczne, błędy montażowe i zasady poprawnego wylewania betonu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-dl-dark: #1e293b;
    --rk-dl-panel: #334155;
    --rk-dl-brand: #f97316; /* Pomarańczowy nawiązujący do infografiki */
    --rk-dl-brand-light: #ffedd5;
    --rk-dl-accent: #fb923c;
    --rk-dl-bg: #f8fafc;
    --rk-dl-card: #ffffff;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #475569;
    --rk-dl-text-light: #94a3b8;
}

.rk-download-wrapper {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(249, 115, 22, 0.15);
    border: 1px solid var(--rk-dl-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-dl-header {
    background: var(--rk-dl-dark);
    padding: 40px 50px 30px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-brand);
    position: relative;
}

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

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

/* Obszar Główny */
.rk-dl-body {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 40px;
    align-items: start;
}

/* Podgląd Infografiki */
.rk-dl-preview {
    background: var(--rk-dl-card);
    padding: 15px;
    border-radius: 16px;
    border: 1px solid var(--rk-dl-border);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s;
}

.rk-dl-preview:hover {
    transform: translateY(-5px);
}

.rk-dl-preview img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

.rk-dl-zoom-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(30, 41, 59, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s;
}

.rk-dl-preview:hover .rk-dl-zoom-overlay {
    opacity: 1;
}

.rk-dl-zoom-overlay svg {
    color: #ffffff;
    width: 48px; height: 48px;
}

/* Sekcja Pobierania */
.rk-dl-actions {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-dl-card {
    background: var(--rk-dl-card);
    border: 1px solid var(--rk-dl-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: all 0.3s;
}

.rk-dl-card:hover {
    border-color: var(--rk-dl-accent);
    box-shadow: 0 10px 20px -5px rgba(249, 115, 22, 0.1);
}

.rk-dl-icon-box {
    width: 60px;
    height: 60px;
    background: var(--rk-dl-brand-light);
    color: var(--rk-dl-brand);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-dl-card-content {
    flex: 1;
}

.rk-dl-card-content h3 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-dl-dark);
}

.rk-dl-card-content p {
    margin: 0 0 15px 0;
    font-size: 14px;
    color: var(--rk-dl-text);
}

.rk-dl-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.3s;
}

.rk-dl-btn:hover {
    background: var(--rk-dl-brand);
}

.rk-dl-btn svg {
    width: 18px; height: 18px;
}

/* Stopka Prawa Autorskie */
.rk-dl-footer {
    background: var(--rk-dl-panel);
    padding: 20px 50px;
    color: #cbd5e1;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-dl-footer svg {
    flex-shrink: 0;
    color: var(--rk-dl-brand);
}

/* Modal do podglądu pełnego zdjęcia */
.rk-dl-modal {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.95);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}

.rk-dl-modal.active {
    opacity: 1;
    pointer-events: auto;
}

.rk-dl-modal-content {
    position: relative;
    max-width: 90%;
    max-height: 90vh;
}

.rk-dl-modal-img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: 12px;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
}

.rk-dl-modal-close {
    position: absolute;
    top: -40px; right: 0;
    background: transparent;
    border: none;
    color: #ffffff;
    cursor: pointer;
}

/* RWD */
@media (max-width: 768px) {
    .rk-dl-header, .rk-dl-body, .rk-dl-footer { padding: 30px 20px; }
    .rk-dl-body { grid-template-columns: 1fr; gap: 30px; }
    .rk-dl-preview { max-width: 400px; margin: 0 auto; }
}
</style>

<div class="rk-download-wrapper">
    <div class="rk-dl-header">
        <h2>
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
            Materiały dla Inwestora (Ściągawka)
        </h2>
        <p>Zabrać wiedzę na budowę? Przygotowałem dla Ciebie czytelną infografikę z najważniejszymi przelicznikami i najczęstszymi błędami. Pobierz PDF, wydrukuj i miej pod ręką podczas ustaleń z instalatorem.</p>
    </div>

    <div class="rk-dl-body">
        
        <div class="rk-dl-preview" id="rkDlPreviewTrigger">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-rury-na-m²-ogrzewania-podlogowego.webp" alt="Infografika - Ile rury na m² ogrzewania podłogowego" loading="lazy">
            <div class="rk-dl-zoom-overlay">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
            </div>
        </div>

        <div class="rk-dl-actions">
            
            <div class="rk-dl-card">
                <div class="rk-dl-icon-box">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                </div>
                <div class="rk-dl-card-content">
                    <h3>Pobierz wersję PDF</h3>
                    <p>Format A4, idealny do druku. Zawiera przeliczniki rozstawów i limity pętli.</p>
                    <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-rury-na-m²-ogrzewania-podlogowego.pdf" class="rk-dl-btn" download="">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                        Pobierz PDF
                    </a>
                </div>
            </div>

            <div class="rk-dl-card">
                <div class="rk-dl-icon-box" style="background: #e0f2fe; color: #0284c7;">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                </div>
                <div class="rk-dl-card-content">
                    <h3>Pobierz wersję Graficzną (WebP)</h3>
                    <p>Lekki plik graficzny, idealny do zapisania w telefonie na placu budowy.</p>
                    <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-rury-na-m²-ogrzewania-podlogowego.webp" class="rk-dl-btn" style="background: #0284c7;" download="">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                        Zapisz Obraz
                    </a>
                </div>
            </div>

        </div>

    </div>

    <div class="rk-dl-footer">
        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
        <span>© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski. Udostępnianie materiału dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.</span>
    </div>
</div>

<div class="rk-dl-modal" id="rkDlModal">
    <div class="rk-dl-modal-content">
        <button class="rk-dl-modal-close" id="rkDlModalClose">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
        </button>
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-rury-na-m²-ogrzewania-podlogowego.webp" alt="Infografika - Powiększenie" class="rk-dl-modal-img">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const trigger = document.getElementById('rkDlPreviewTrigger');
    const modal = document.getElementById('rkDlModal');
    const closeBtn = document.getElementById('rkDlModalClose');

    trigger.addEventListener('click', () => {
        modal.classList.add('active');
        document.body.style.overflow = 'hidden'; // Blokada scrollowania tła
    });

    function closeModal() {
        modal.classList.remove('active');
        document.body.style.overflow = '';
    }

    closeBtn.addEventListener('click', closeModal);
    
    modal.addEventListener('click', (e) => {
        if (e.target === modal) {
            closeModal();
        }
    });

    document.addEventListener('keydown', (e) => {
        if (e.key === 'Escape' && modal.classList.contains('active')) {
            closeModal();
        }
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Materiały dla Inwestora: Infografika z przelicznikami rur podłogowych",
    "description": "Pobierz darmową infografikę (PDF/WebP) zawierającą praktyczne przeliczniki rozstawu rur grzewczych oraz listę najczęstszych błędów montażowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-rury-na-m²-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-infografika",
    "name": "Zestawienie wizualne: Przeliczniki i błędy instalacji podłogowych",
    "description": "Graficzne podsumowanie zapotrzebowania na mb rury na m2 w zależności od rozstawu (10-25 cm) wraz z listą kluczowych limitów hydraulicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "tabela zużycia rur podłogówka pdf",
      "rozstaw rur ściągawka",
      "błędy przy podłogówce grafika",
      "darmowy projekt ogrzewania pdf"
    ],
    "measurementTechnique": "Agregacja kluczowych wskaźników montażowych (mb/m2, długości pętli) w formę graficznej mapy myśli ułatwiającej inwestorom weryfikację prac na budowie.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przelicznik bazowy: Rozstaw 10cm = 10 mb/m2, 15cm = 7 mb/m2, 20cm = 5 mb/m2, 25cm = 4 mb/m2.",
        "Limity: Zbyt długa pętla pogarsza pracę instalacji.",
        "Zalecenia: Konieczność uwzględnienia dojść do rozdzielacza i zagęszczenia stref przy dużych oknach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-infografika",
    "name": "Interaktywna Galeria i Pobieralnia Plików",
    "description": "Moduł UI (Lightbox) umożliwiający powiększenie infografiki technicznej oraz bezpośrednie pobranie plików w formatach PDF i WebP na urządzenia użytkownika.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/">Ile rury na m² ogrzewania podłogowego?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Darmowy projekt ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 15 Dec 2024 19:47:00 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Projekty techniczne]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[darmowy projekt]]></category>
		<category><![CDATA[energooszczędne systemy]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[instalacje techniczne]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[planowanie instalacji]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1764</guid>

					<description><![CDATA[<p>Zastanawiasz się nad instalacją ogrzewania podłogowego? Oferujemy darmowy projekt, który pomoże Ci zaoszczędzić czas i pieniądze. Dowiedz się, jak skorzystać z naszej oferty i zyskać profesjonalnie zaprojektowaną instalację, dostosowaną do Twoich potrzeb. Przygotowujemy szczegółowe rysunki techniczne, obliczenia cieplne i zestawienia materiałowe. Przekonaj się, dlaczego warto wybrać nas!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/">Darmowy projekt ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
    /* style dla sekcji Hero i poprawa responsywności na mobile */
    .wooplp-wrapper { font-family: system-ui, -apple-system, sans-serif; box-sizing: border-box; overflow-x: hidden; }
    .wooplp-wrapper * { box-sizing: border-box; }
    .wooplp-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
    .wooplp-hero { padding: 60px 0 40px 0; }
    .wooplp-badge { display: inline-block; background: #eff6ff; color: #2563eb; padding: 8px 20px; border-radius: 50px; font-weight: bold; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px; }
    .wooplp-hero-text h1 { font-size: 46px; color: #0f172a; margin-top: 0; margin-bottom: 20px; line-height: 1.2; }
    .wooplp-hero-subtitle { font-size: 18px; color: #475569; line-height: 1.6; margin-bottom: 30px; max-width: 800px; }
    .wooplp-hero-features { padding: 0; margin: 0; }
    .wooplp-hero-features li { list-style: none; margin-bottom: 15px; position: relative; padding-left: 35px; font-size: 16px; color: #0f172a; font-weight: 500; }
    .wooplp-hero-features li::before { content: '✓'; position: absolute; left: 0; top: -2px; color: #2563eb; font-weight: bold; font-size: 20px; background: #eff6ff; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
    
    /* Nowe style naprawiające zgniecioną listę kroków */
    .wooplp-process-list { list-style: none; padding: 0; margin: 0; }
    .wooplp-process-list li { margin-bottom: 20px; position: relative; padding-left: 35px; text-align: left; }
    .wooplp-process-list li::before { content: '✓'; position: absolute; left: 0; top: 2px; color: #fff; background: #2563eb; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: bold; }
    .wooplp-process-list li strong { display: block; color: #0f172a; font-size: 16px; margin-bottom: 4px; }
    .wooplp-process-list li span { color: #475569; font-size: 15px; line-height: 1.6; display: block; }

    /* Media queries dla urządzeń mobilnych i tabletów */
    @media (max-width: 850px) {
        .wooplp-split-grid { grid-template-columns: 1fr !important; } /* Wymusza układ jedno pod drugim dużo wcześniej */
    }
    
    @media (max-width: 768px) {
        .wooplp-hero-text h1 { font-size: 32px; }
        .wooplp-section[style*="padding: 70px 30px;"] { padding: 40px 20px !important; margin: 20px 0 !important; border-radius: 20px !important; }
        .wooplp-split-grid .wooplp-good-box { padding: 25px !important; }
        .wooplp-kaucja-box { padding: 20px !important; }
        h2[style*="font-size: 34px;"] { font-size: 26px !important; }
    }
</style>

<div class="wooplp-wrapper">
    <div class="wooplp-hero">
        <div class="wooplp-container">
            <div class="wooplp-hero-text">
                <span class="wooplp-badge">Darmowa Usługa</span>              
                <p class="wooplp-hero-subtitle">Kluczowy krok w realizacji Twojej inwestycji. Oferujemy kompleksowe i precyzyjne zaplanowanie systemu grzewczego, zapewniające optymalne warunki cieplne w każdym pomieszczeniu Twojego domu.</p>

                <ul class="wooplp-hero-features">
                    <li>100% zwrotu kosztów po zakupie materiałów instalacyjnych</li>
                    <li>Ochrona przed błędami instalacyjnymi i przewymiarowaniem układu</li>
                    <li>Szczegółowe obliczenia OZC i pełne zestawienie materiałowe</li>
                </ul>
            </div>
        </div>
    </div>

    <div class="wooplp-section" style="background: #ffffff; padding-bottom: 20px; padding-top: 0;">
        <div class="wooplp-container">
            <div class="wooplp-kaucja-box" style="margin: 0 auto; max-width: 900px; border-color: #22c55e; background: #f0fdf4; padding: 25px; border-radius: 15px; border-width: 2px; border-style: solid;">
                <h4 style="color: #16a34a; margin-top: 0; font-size: 20px;">🎁 Projekt instalacji ogrzewania podłogowego GRATIS!</h4>
                <p style="color: #15803d; margin-bottom: 0; line-height: 1.6;">Oferujemy Państwu projekt ogrzewania podłogowego za darmo. Wystarczy, że kupią Państwo u nas materiały do instalacji. Zdecyduj się na nasz projekt, a my <strong>zapewniamy zwrot kaucji po zakupie komponentów</strong>. 
                <a style="color: #16a34a; text-decoration: underline; font-weight: bold;" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" target="_blank" rel="noopener">Zamów projekt i sprawdź szczegóły</a>.</p>
            </div>
        </div>
    </div>

    <div class="wooplp-section">
        <div class="wooplp-container">
            <div class="wooplp-section" style="background: #0f172a; padding: 70px 30px; border-radius: 30px; margin: 40px 0; box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.25);">
                <div class="wooplp-container">
                    <div style="text-align: center; margin-bottom: 40px;">
                        <span style="display: inline-block; background: rgba(251,191,36,0.15); color: #fbbf24; padding: 8px 20px; border-radius: 50px; font-size: 14px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 20px; border: 1px solid rgba(251,191,36,0.3);">Wybór inwestorów</span>
                        <h2 style="color: #ffffff; font-size: 34px; margin-top: 0; margin-bottom: 15px;">Dlaczego warto wybrać ogrzewanie podłogowe?</h2>
                        <p style="color: #94a3b8; font-size: 17px; max-width: 800px; margin: 0 auto; line-height: 1.6;">To nowoczesny system, który drastycznie podnosi standard życia. Zapewnia nie tylko oszczędności na rachunkach za ogrzewanie, ale przede wszystkim maksymalny komfort i swobodę w projektowaniu wymarzonego wnętrza.</p>
                    </div>
                    
                    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; text-align: center;">
                        <div style="background: rgba(255,255,255,0.03); padding: 40px 30px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); transition: transform 0.3s ease;">
                            <div style="font-size: 45px; margin-bottom: 20px; filter: drop-shadow(0 0 10px rgba(255,255,255,0.2));">🌡️</div>
                            <h3 style="color: #ffffff; font-size: 20px; margin-bottom: 15px;">Równomierne ciepło</h3>
                            <p style="color: #94a3b8; font-size: 15px; margin: 0; line-height: 1.6;">Idealne rozprowadzenie temperatury w każdym pomieszczeniu. Podłogówka zapewnia najwyższy komfort cieplny dla domowników, szczególnie w chłodne, zimowe dni.</p>
                        </div>
                        <div style="background: rgba(255,255,255,0.03); padding: 40px 30px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); transition: transform 0.3s ease;">
                            <div style="font-size: 45px; margin-bottom: 20px; filter: drop-shadow(0 0 10px rgba(255,255,255,0.2));">⚡</div>
                            <h3 style="color: #ffffff; font-size: 20px; margin-bottom: 15px;">Efektywność energetyczna</h3>
                            <p style="color: #94a3b8; font-size: 15px; margin: 0; line-height: 1.6;">System niskotemperaturowy zużywa znacznie mniej energii. To idealne rozwiązanie do współpracy z nowoczesnymi pompami ciepła i kotłami kondensacyjnymi.</p>
                        </div>
                        <div style="background: rgba(255,255,255,0.03); padding: 40px 30px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); transition: transform 0.3s ease;">
                            <div style="font-size: 45px; margin-bottom: 20px; filter: drop-shadow(0 0 10px rgba(255,255,255,0.2));">✨</div>
                            <h3 style="color: #ffffff; font-size: 20px; margin-bottom: 15px;">Estetyka wnętrza</h3>
                            <p style="color: #94a3b8; font-size: 15px; margin: 0; line-height: 1.6;">Całkowity brak widocznych grzejników i rur na ścianach. Zyskujesz 100% przestrzeni i pełną swobodę w aranżacji oraz ustawianiu mebli w swoim domu.</p>
                        </div>
                        <div style="background: rgba(255,255,255,0.03); padding: 40px 30px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); transition: transform 0.3s ease;">
                            <div style="font-size: 45px; margin-bottom: 20px; filter: drop-shadow(0 0 10px rgba(255,255,255,0.2));">🍃</div>
                            <h3 style="color: #ffffff; font-size: 20px; margin-bottom: 15px;">Zdrowsze powietrze</h3>
                            <p style="color: #94a3b8; font-size: 15px; margin: 0; line-height: 1.6;">Ogranicza cyrkulację kurzu i alergenów w powietrzu. To idealny wybór dla alergików i osób dbających o czystość w domu.</p>
                        </div>
                    </div>
                </div>
            </div>

            <h2 class="wooplp-section-title" style="text-align: center; color: #0f172a;">Jakie korzyści daje nasz darmowy projekt?</h2>
            <p class="wooplp-section-desc" style="text-align: center; max-width: 800px; margin: 0 auto 40px auto; color: #475569;">Darmowy projekt to nie tylko oszczędność finansowa. Nasze profesjonalne podejście pozwala Państwu uniknąć kosztownych błędów podczas realizacji inwestycji.</p>

            <div class="wooplp-cards-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px;">
                <div class="wooplp-card" style="background: #fff; padding: 30px; border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.05); border-top: 4px solid #2563eb;">
                    <h3 style="font-size: 18px; margin-top: 0; color: #0f172a;">Pełna personalizacja</h3>
                    <p style="color: #475569; font-size: 15px; line-height: 1.6;">Projekt jest ściśle dostosowany do powierzchni Waszego domu, rodzaju zastosowanej izolacji oraz specyfiki każdego z pomieszczeń.</p>
                </div>
                <div class="wooplp-card" style="background: #fff; padding: 30px; border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.05); border-top: 4px solid #2563eb;">
                    <h3 style="font-size: 18px; margin-top: 0; color: #0f172a;">Dokładność techniczna</h3>
                    <p style="color: #475569; font-size: 15px; line-height: 1.6;">Otrzymujesz szczegółowe rysunki techniczne z rozrysowanymi pętlami oraz profesjonalne obliczenia zapotrzebowania cieplnego budynku.</p>
                </div>
                <div class="wooplp-card" style="background: #fff; padding: 30px; border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.05); border-top: 4px solid #2563eb;">
                    <h3 style="font-size: 18px; margin-top: 0; color: #0f172a;">Optymalizacja kosztów</h3>
                    <p style="color: #475569; font-size: 15px; line-height: 1.6;">Precyzyjny dobór materiałów pozwala na znaczne zmniejszenie zużycia energii w przyszłości oraz uniknięcie przewymiarowania źródła ciepła.</p>
                </div>
                <div class="wooplp-card" style="background: #fff; padding: 30px; border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.05); border-top: 4px solid #2563eb;">
                    <h3 style="font-size: 18px; margin-top: 0; color: #0f172a;">Kompleksowość</h3>
                    <p style="color: #475569; font-size: 15px; line-height: 1.6;">Dostarczamy pełną listę niezbędnych elementów instalacji co do metra. Pozwala to uniknąć braków materiałowych w trakcie realizacji prac budowlanych.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="wooplp-section" style="background: #f8fafc; padding: 60px 0; margin-top: 40px;">
        <div class="wooplp-container">
            <div class="wooplp-split-grid" style="display: grid; grid-template-columns: 1fr; gap: 30px; max-width: 800px; margin: 0 auto;">
                
                <div class="wooplp-good-box" style="background: #ffffff; border: 1px solid #e2e8f0; padding: 40px; border-radius: 15px;">
                    <h3 style="font-size: 22px; margin-top: 0; margin-bottom: 25px; color: #0f172a;">Jak realizujemy darmowy projekt?</h3>
                    <p style="color: #475569; margin-bottom: 25px;">Każdy projekt rozpoczynamy od rzetelnej analizy Państwa potrzeb. Nasz proces projektowy krok po kroku:</p>
                    
                    <ul class="wooplp-process-list">
                        <li><strong>Zbieranie informacji:</strong> <span>Analizujemy powierzchnię, rzuty architektoniczne oraz rodzaj budynku.</span></li>
                        <li><strong>Wykonanie obliczeń:</strong> <span>Uwzględniamy rzeczywiste zapotrzebowanie cieplne dla każdego pomieszczenia z osobna.</span></li>
                        <li><strong>Tworzenie planów:</strong> <span>Wyznaczamy dokładny przebieg rur, lokalizacje rozdzielaczy i punkty podłączeniowe.</span></li>
                        <li><strong>Dostosowanie projektu:</strong> <span>Konsultujemy gotowe rozwiązanie i dopasowujemy je do Państwa preferencji.</span></li>
                    </ul>
                </div>
                
                <div class="wooplp-good-box" style="background: #eff6ff; border: 1px solid #bfdbfe; border-top: 5px solid #2563eb; padding: 40px; border-radius: 15px; box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.1);">
                    <h3 style="font-size: 22px; margin-top: 0; margin-bottom: 25px; color: #0f172a;">Jak skorzystać z naszej oferty?</h3>
                    <p style="color: #475569; line-height: 1.8;">Aby uzyskać darmowy projekt, wystarczy skontaktować się z nami lub zamówić usługę na stronie. Nasi specjaliści przeprowadzą wstępną analizę.</p>
                    <div style="background: rgba(37, 99, 235, 0.05); padding: 20px; border-radius: 10px; margin-top: 20px; border-left: 4px solid #2563eb;">
                        <p style="color: #0f172a; line-height: 1.6; margin: 0; font-weight: bold;">
                            W momencie zakupu materiałów u nas, kaucja za projekt zostaje w pełni zwrócona, co sprawia, że docelowo nie ponoszą Państwo absolutnie żadnych dodatkowych kosztów za dokumentację inżynieryjną!
                        </p>
                    </div>
                    <div style="margin-top: 35px;">
                         <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" style="display: inline-block; background: #2563eb; color: #ffffff; padding: 16px 32px; border-radius: 50px; text-decoration: none; font-weight: bold; transition: 0.3s; box-shadow: 0 4px 14px 0 rgba(37, 99, 235, 0.39);">Zamów projekt teraz</a>
                    </div>
                </div>

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

    <div class="wooplp-section" style="background: #ffffff; padding: 60px 0;">
        <div class="wooplp-container">
            <h2 class="wooplp-section-title" style="text-align: center; margin-bottom: 40px; color: #0f172a;">Często zadawane pytania (FAQ)</h2>
            <div class="wooplp-faq-wrapper" style="max-width: 800px; margin: 0 auto;">
                <details class="wooplp-details" style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 15px; padding: 15px 20px;">
                    <summary class="wooplp-summary" style="font-weight: 600; font-size: 18px; color: #0f172a; cursor: pointer; outline: none;">Czy darmowy projekt oznacza kompromisy w jakości?</summary>
                    <div class="wooplp-faq-content" style="color: #475569; margin-top: 15px; line-height: 1.6;">Nie, nasz darmowy projekt ogrzewania podłogowego spełnia najwyższe inżynieryjne standardy techniczne. Gwarantujemy pełen profesjonalizm i jakość identyczną jak przy projektach komercyjnych.</div>
                </details>
                <details class="wooplp-details" style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 15px; padding: 15px 20px;">
                    <summary class="wooplp-summary" style="font-weight: 600; font-size: 18px; color: #0f172a; cursor: pointer; outline: none;">Jak mogę uzyskać zwrot kaucji?</summary>
                    <div class="wooplp-faq-content" style="color: #475569; margin-top: 15px; line-height: 1.6;">Zwrot kaucji następuje w momencie zakupu kompletnych materiałów do ogrzewania podłogowego bezpośrednio u nas. System automatycznie pomniejszy kwotę za materiały o wartość wykonanego wcześniej projektu.</div>
                </details>
                <details class="wooplp-details" style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 15px; padding: 15px 20px;">
                    <summary class="wooplp-summary" style="font-weight: 600; font-size: 18px; color: #0f172a; cursor: pointer; outline: none;">Co dokładnie zawiera projekt ogrzewania podłogowego?</summary>
                    <div class="wooplp-faq-content" style="color: #475569; margin-top: 15px; line-height: 1.6;">Projekt obejmuje dokładne rysunki techniczne z przebiegiem pętli, rzetelne obliczenia zapotrzebowania cieplnego (OZC) budynku oraz bardzo szczegółowe zestawienie materiałowe potrzebne do wykonania pracy.</div>
                </details>
                <details class="wooplp-details" style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 15px; padding: 15px 20px;">
                    <summary class="wooplp-summary" style="font-weight: 600; font-size: 18px; color: #0f172a; cursor: pointer; outline: none;">Czy mogę samodzielnie wykonać instalację na podstawie projektu?</summary>
                    <div class="wooplp-faq-content" style="color: #475569; margin-top: 15px; line-height: 1.6;">Tak, nasz projekt dostarcza wszystkich niezbędnych informacji (rozstawy rur, długości obiegów, przepływy), które umożliwiają poprawne ułożenie układu. Niemniej, główne podłączenia i próby zawsze rekomendujemy skonsultować z fachowcem.</div>
                </details>
            </div>
        </div>
    </div>

    <div class="wooplp-section" style="background: #f8fafc; border-top: 1px solid #f1f5f9; padding: 50px 0;">
        <div class="wooplp-container" style="display: flex; flex-wrap: wrap; align-items: center; gap: 40px; justify-content: center;">
            <div style="flex: 1.2; min-width: 280px; text-align: center;">
                <h3 style="font-size: 28px; margin-top: 0; margin-bottom: 15px; color: #0f172a;">Masz pytania dotyczące projektu?</h3>
                <p style="font-size: 16px; margin-bottom: 30px; color: #475569;">Zapewniamy profesjonalne wsparcie. Darmowy projekt to świetna opcja dla osób, które chcą oszczędzić bez kompromisów w jakości. Zapraszamy do kontaktu!</p>

                <div style="display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
                    <div style="background: #ffffff; padding: 20px 40px; border-radius: 15px; border-left: 4px solid #2563eb; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); text-align: left;">
                        <span style="display: block; font-size: 14px; font-weight: bold; text-transform: uppercase; color: #64748b; margin-bottom: 5px;">Zadzwoń do nas</span>
                        <a style="display: block; font-size: 19px; font-weight: 800; color: #2563eb; text-decoration: none; margin-bottom: 5px;" href="tel:+48794358367">+48 794 358 367</a>
                        <span style="display: block; font-size: 13px; color: #94a3b8;">Pon–Pt 9:00–17:00</span>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Czy darmowy projekt oznacza kompromisy w jakości?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Nie, nasz darmowy projekt ogrzewania podłogowego spełnia najwyższe inżynieryjne standardy techniczne. Gwarantujemy pełen profesjonalizm i jakość identyczną jak przy projektach komercyjnych."
    }
  }, {
    "@type": "Question",
    "name": "Jak mogę uzyskać zwrot kaucji?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Zwrot kaucji następuje w momencie zakupu kompletnych materiałów do ogrzewania podłogowego bezpośrednio u nas. System automatycznie pomniejszy kwotę za materiały o wartość wykonanego wcześniej projektu."
    }
  }, {
    "@type": "Question",
    "name": "Co dokładnie zawiera projekt ogrzewania podłogowego?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Projekt obejmuje dokładne rysunki techniczne z przebiegiem pętli, rzetelne obliczenia zapotrzebowania cieplnego (OZC) budynku oraz bardzo szczegółowe zestawienie materiałowe potrzebne do wykonania pracy."
    }
  }, {
    "@type": "Question",
    "name": "Czy mogę samodzielnie wykonać instalację na podstawie projektu?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Tak, nasz projekt dostarcza wszystkich niezbędnych informacji (rozstawy rur, długości obiegów, przepływy), które umożliwiają poprawne ułożenie układu. Niemniej, główne podłączenia i próby zawsze rekomendujemy skonsultować z fachowcem."
    }
  }]
}
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/">Darmowy projekt ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym?</title>
		<link>https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 04 Dec 2024 17:37:44 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Modernizacja budynków]]></category>
		<category><![CDATA[Montaż ogrzewania]]></category>
		<category><![CDATA[Nowoczesne systemy grzewcze]]></category>
		<category><![CDATA[Nowoczesne technologie grzewcze]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Systemy ogrzewania]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacja hydrauliczna]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[nowoczesne technologie]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[planowanie instalacji]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[strefy brzegowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1610</guid>

					<description><![CDATA[<p>Planowanie pętli grzewczych w ogrzewaniu podłogowym to kluczowy etap, który wpływa na komfort cieplny i efektywność energetyczną budynku. W artykule omawiamy, jak krok po kroku rozplanować pętle grzewcze, aby zapewnić równomierne rozprowadzenie ciepła, uniknąć błędów montażowych oraz zoptymalizować koszty eksploatacji. Dowiedz się, jak długość pętli, rozstaw rur oraz strefy brzegowe wpływają na działanie systemu, a także jak skorzystać z darmowego projektu ogrzewania dostępnego online.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong><a href="https://projekt-ogrzewania.pl/">Ogrzewanie podłogowe</a></strong> to coraz popularniejsze rozwiązanie zarówno w nowoczesnych, jak i remontowanych budynkach. Zapewnia równomierne rozprowadzenie ciepła, co przekłada się na komfort cieplny oraz oszczędności w rachunkach za energię. Kluczowym elementem instalacji ogrzewania podłogowego jest odpowiednie zaplanowanie pętli grzewczych, które mają decydujący wpływ na efektywność i funkcjonalność całego systemu. W artykule omówimy, jak zaplanować rozmieszczenie pętli grzewczych, aby zapewnić optymalne warunki cieplne w domu.</p>



<h2 class="wp-block-heading">Dlaczego rozmieszczenie pętli grzewczych jest tak ważne?</h2>



<p class="wp-block-paragraph"><strong>Prawidłowe rozmieszczenie pętli grzewczych</strong> ma kluczowe znaczenie dla efektywności ogrzewania podłogowego. Pętle grzewcze powinny zapewniać równomierne rozprowadzanie ciepła po całej powierzchni podłogi, aby unikać tzw. zimnych i ciepłych stref. Nieodpowiednie rozmieszczenie może prowadzić do dyskomfortu cieplnego, a także do nierównomiernego zużycia energii, co zwiększa koszty eksploatacyjne.</p>



<p class="wp-block-paragraph">Odpowiednie rozmieszczenie pętli grzewczych pozwala na uzyskanie optymalnej temperatury przy mniejszym zużyciu energii, co z kolei przekłada się na mniejsze rachunki. Właściwie zaplanowana instalacja pozwala także uniknąć przegrzewania się niektórych obszarów oraz zapewnia długą i bezproblemową eksploatację systemu.</p>



<h2 class="wp-block-heading">Krok po kroku – planowanie pętli grzewczych.</h2>



<h3 class="wp-block-heading"><strong>Analiza rozkładu pomieszczeń</strong>.</h3>



<p class="wp-block-paragraph">Przed przystąpieniem do planowania pętli grzewczych należy dokładnie przeanalizować <strong>rozkład pomieszczeń</strong>. Należy wziąć pod uwagę wielkość każdego z pomieszczeń, ich przeznaczenie oraz rozmieszczenie okien i drzwi. Pomieszczenia o dużych przeszkleniach lub takie, które znajdują się na zewnętrznych ścianach budynku, mogą wymagać większej liczby pętli grzewczych, aby zapewnić odpowiedni poziom ciepła.</p>



<h3 class="wp-block-heading"><strong>Obliczenia dotyczące długości pętli</strong>.</h3>



<p class="wp-block-paragraph">Kolejnym krokiem jest obliczenie <strong>długości pętli grzewczych</strong>. Długość pętli powinna być dostosowana do powierzchni danego pomieszczenia oraz przewidzianej temperatury. Optymalna długość pojedynczej pętli to zazwyczaj od 80 do 120 metrów – dłuższe pętle mogą powodować spadki ciśnienia, co z kolei obniża efektywność systemu. W przypadku większych pomieszczeń lepiej jest zastosować kilka krótszych pętli niż jedną bardzo długą.</p>



<h3 class="wp-block-heading"><strong>Odległości między rurami</strong>.</h3>



<p class="wp-block-paragraph"><strong>Odległości między <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rurami</a></strong> (tzw. rozstaw rur) to kolejny istotny element planowania pętli grzewczych. Standardowo rozstaw rur wynosi od 10 do 30 cm, w zależności od wymaganego poziomu ciepła. W pomieszczeniach, które wymagają większej ilości ciepła (np. łazienki), odległości te mogą być mniejsze, aby zapewnić wyższą temperaturę. Z kolei w pomieszczeniach mniej intensywnie użytkowanych, takich jak korytarze, można zastosować większy rozstaw rur.</p>



<h3 class="wp-block-heading"><strong>Uwzględnienie stref brzegowych</strong>.</h3>



<p class="wp-block-paragraph">Podczas planowania rozmieszczenia pętli grzewczych, należy <strong>uwzględnić strefy brzegowe</strong>. Strefy te znajdują się w pobliżu ścian zewnętrznych oraz dużych powierzchni okiennych, gdzie występują największe straty ciepła. W takich miejscach zaleca się zagęszczenie rur, aby zminimalizować straty energii i utrzymać odpowiedni komfort cieplny.</p>



<h3 class="wp-block-heading"><strong>Podział na obwody grzewcze</strong>.</h3>



<p class="wp-block-paragraph">W przypadku większych budynków, zaleca się podział instalacji na <strong>obwody grzewcze</strong>, co ułatwia sterowanie temperaturą w poszczególnych pomieszczeniach. Każdy obwód powinien być wyposażony w osobny regulator, co pozwala na dostosowanie temperatury do indywidualnych potrzeb domowników oraz charakterystyki danego pomieszczenia.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-1024x1024.jpg" alt="Przykładowy projekt ogrzewania podłogowego" class="wp-image-1312" srcset="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-1024x1024.jpg 1024w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-300x300.jpg 300w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-150x150.jpg 150w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-768x768.jpg 768w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-600x600.jpg 600w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-100x100.jpg 100w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2.jpg 1134w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Przykładowy projekt ogrzewania podłogowego</figcaption></figure>



<h2 class="wp-block-heading">Praktyczne wskazówki dotyczące planowania pętli grzewczych.</h2>



<ul class="wp-block-list">
<li><strong>Unikaj krzyżowania rur</strong> – krzyżowanie pętli grzewczych może prowadzić do strat ciepła oraz trudności w regulacji temperatury.</li>



<li><strong>Zachowaj odpowiedni rozstaw</strong> – pamiętaj, że zbyt mały rozstaw rur może prowadzić do przegrzewania podłogi, podczas gdy zbyt duży rozstaw spowoduje nierównomierne rozprowadzenie ciepła.</li>



<li><strong>Konsultuj się z profesjonalistami</strong> – planowanie pętli grzewczych to zadanie wymagające precyzji i doświadczenia. Warto skorzystać z pomocy specjalistów, aby uniknąć błędów, które mogłyby wpłynąć na efektywność systemu.</li>
</ul>



<h2 class="wp-block-heading">Zalety dobrze zaplanowanego rozmieszczenia pętli grzewczych.</h2>



<p class="wp-block-paragraph">Dobrze zaplanowane <strong>rozmieszczenie pętli grzewczych</strong> zapewnia równomierne rozprowadzenie ciepła, co przekłada się na komfort cieplny w całym domu. Odpowiednio dobrane długości pętli oraz rozstaw rur pozwalają na efektywne wykorzystanie energii, co z kolei przekłada się na niższe rachunki za ogrzewanie. Dodatkowo, dobrze zaprojektowany system jest bardziej niezawodny i mniej podatny na awarie, co oznacza mniejsze koszty utrzymania. W naszym sklepie można zamówić <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">darmowy projekt ogrzewania podłogowego</a>, co pomoże w optymalnym zaplanowaniu całego systemu.</p>



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



<p class="wp-block-paragraph">Planowanie rozmieszczenia pętli grzewczych w <strong>ogrzewaniu podłogowym</strong> to kluczowy etap, który ma bezpośredni wpływ na efektywność i komfort cieplny w budynku. Dokładna analiza rozkładu pomieszczeń, odpowiednie obliczenia długości pętli, dostosowanie rozstawu rur do potrzeb poszczególnych pomieszczeń oraz uwzględnienie stref brzegowych to podstawowe kroki, które należy podjąć, aby instalacja była skuteczna i ekonomiczna. Warto również pamiętać o podziale na obwody grzewcze, co pozwala na lepsze sterowanie temperaturą i dostosowanie jej do indywidualnych potrzeb.</p>



<p class="wp-block-paragraph">Dzięki odpowiednio zaplanowanemu rozmieszczeniu pętli grzewczych, <strong>ogrzewanie podłogowe</strong> może stać się nie tylko efektywnym, ale także wygodnym i ekonomicznym sposobem na zapewnienie ciepła w domu.</p>



<ol class="wp-block-list"></ol>



<h2 class="wp-block-heading">FAQ – Najczęściej zadawane pytania o planowanie pętli grzewczych w ogrzewaniu podłogowym.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1734867021150"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe można montować pod meblami w zabudowie stałej?</strong></strong> <p class="schema-faq-answer">Nie zaleca się montażu ogrzewania podłogowego pod meblami w zabudowie stałej, takimi jak szafy garderobiane czy szafki kuchenne. Tego typu zabudowa ogranicza swobodny przepływ ciepła, co może prowadzić do przegrzewania systemu i jego mniejszej efektywności.</p> </div> <div class="schema-faq-section" id="faq-question-1734867114036"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe można instalować w łazience pod wanną lub prysznicem?</strong></strong> <p class="schema-faq-answer">Tak, ogrzewanie podłogowe można układać pod wanną lub prysznicem. W takich miejscach dobrze zaprojektowany system zapewnia komfort cieplny i szybkie nagrzewanie.</p> </div> <div class="schema-faq-section" id="faq-question-1734867131991"><strong class="schema-faq-question"><strong>Jaką długość powinna mieć pojedyncza pętla grzewcza?</strong></strong> <p class="schema-faq-answer">Optymalna długość pojedynczej pętli wynosi od 80 do 120 metrów. Dłuższe pętle mogą powodować spadki ciśnienia w systemie, co obniża efektywność ogrzewania. W większych pomieszczeniach lepiej zastosować kilka krótszych pętli.</p> </div> <div class="schema-faq-section" id="faq-question-1734867149968"><strong class="schema-faq-question"><strong>Jak dobrać rozstaw rur w systemie ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Standardowy rozstaw rur wynosi od 10 do 30 cm. W pomieszczeniach wymagających większej ilości ciepła, takich jak łazienki, należy zastosować mniejszy rozstaw, aby zapewnić wyższą temperaturę. W mniej intensywnie użytkowanych pomieszczeniach, jak korytarze, rozstaw rur może być większy.</p> </div> <div class="schema-faq-section" id="faq-question-1734867166368"><strong class="schema-faq-question"><strong>Dlaczego strefy brzegowe są tak istotne w planowaniu pętli grzewczych?</strong></strong> <p class="schema-faq-answer">Strefy brzegowe, znajdujące się w pobliżu zewnętrznych ścian i okien, są narażone na największe straty ciepła. W tych miejscach zaleca się zagęszczenie rur, co pozwala zminimalizować straty energii i utrzymać równomierny komfort cieplny w pomieszczeniu.</p> </div> </div>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="vZqEF2cuBF"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=fYQpsYAhUN#?secret=vZqEF2cuBF" data-secret="vZqEF2cuBF" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Podgrzewane podjazdy, chodniki, parkingi i tarasy – komfort zimą, którego potrzebujesz.</title>
		<link>https://projekt-ogrzewania.pl/podgrzewane-podjazdy-chodniki-parkingi-i-tarasy-komfort-zima-ktorego-potrzebujesz/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 30 Oct 2024 17:02:53 +0000</pubDate>
				<category><![CDATA[Bezpieczeństwo zimą]]></category>
		<category><![CDATA[Chodnik]]></category>
		<category><![CDATA[Energooszczędne ogrzewanie]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort zimowy]]></category>
		<category><![CDATA[Nowoczesne technologie grzewcze]]></category>
		<category><![CDATA[Ogrzewanie powierzchni otwartych]]></category>
		<category><![CDATA[Parking]]></category>
		<category><![CDATA[Podgrzewane podjazdy]]></category>
		<category><![CDATA[Podjazd]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Systemy niskotemperaturowe]]></category>
		<category><![CDATA[Taras]]></category>
		<category><![CDATA[Tarasy i chodniki]]></category>
		<category><![CDATA[Technologia grzewcza]]></category>
		<category><![CDATA[bezpieczne chodniki]]></category>
		<category><![CDATA[chodnik]]></category>
		<category><![CDATA[eliminacja śniegu]]></category>
		<category><![CDATA[energooszczędność]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[komfort zimowy]]></category>
		<category><![CDATA[nowoczesne technologie]]></category>
		<category><![CDATA[ogrzewanie powierzchni otwartych]]></category>
		<category><![CDATA[parking]]></category>
		<category><![CDATA[podgrzewane podjazdy]]></category>
		<category><![CDATA[podjazd]]></category>
		<category><![CDATA[system grzewczy]]></category>
		<category><![CDATA[taras]]></category>
		<category><![CDATA[tarasy bez lodu]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1408</guid>

					<description><![CDATA[<p>Podgrzewane podjazdy, chodniki, parkingi i tarasy to doskonałe rozwiązanie na zimowe problemy z oblodzeniem i śniegiem. Dzięki nowoczesnym technologiom można zapomnieć o ręcznym odśnieżaniu i cieszyć się bezpieczeństwem oraz wygodą przez całą zimę. Nasze systemy grzewcze zapewniają bezpieczne i suche powierzchnie, co jest szczególnie ważne w trudnych warunkach pogodowych. Dowiedz się, dlaczego warto zainwestować w podgrzewane nawierzchnie i jak poprawić komfort zimowy swojego otoczenia.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/podgrzewane-podjazdy-chodniki-parkingi-i-tarasy-komfort-zima-ktorego-potrzebujesz/">Podgrzewane podjazdy, chodniki, parkingi i tarasy – komfort zimą, którego potrzebujesz.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Zima, choć piękna i klimatyczna, może stwarzać wiele problemów, szczególnie jeśli chodzi o bezpieczeństwo na zewnętrznych nawierzchniach. Oblodzone podjazdy, parkingi i tarasy mogą stanowić poważne zagrożenie, zarówno dla domowników, jak i gości. Podgrzewane powierzchnie zewnętrzne to idealne rozwiązanie, które zapewnia nie tylko komfort, ale także oszczędność czasu i bezpieczeństwo. Poznaj wszystkie zalety i możliwości, jakie oferują podgrzewane podjazdy, chodniki oraz tarasy, i przekonaj się, że warto zainwestować w nowoczesne systemy ogrzewania powierzchni otwartych.</p>



<h2 class="wp-block-heading">Dlaczego warto zainstalować podgrzewane podjazdy i tarasy?</h2>



<p class="wp-block-paragraph">Podgrzewane powierzchnie otwarte to odpowiedź na wiele zimowych problemów, z którymi mierzymy się każdego roku. W obliczu niekorzystnych warunków pogodowych – śniegu, mrozu i lodu – wiele osób spędza godziny na odśnieżaniu swoich podjazdów, chodników czy parkingów. Taka praca nie tylko pochłania czas, ale też wymaga dużego wysiłku fizycznego, co może być szczególnie problematyczne dla osób starszych. Dzięki podgrzewanym podjazdom możemy jednak cieszyć się gładkimi, bezpiecznymi i czystymi powierzchniami przez cały sezon zimowy.</p>



<p class="wp-block-paragraph">Korzyści płynących z instalacji podgrzewanych powierzchni jest wiele. Jedną z kluczowych zalet jest <strong>bezpieczeństwo</strong>. Dzięki takiemu rozwiązaniu eliminujemy ryzyko upadku, poślizgnięcia się i innych niebezpiecznych sytuacji wynikających z oblodzonych powierzchni. Podgrzewane tarasy i podjazdy są doskonałym wyborem dla rodzin z dziećmi oraz dla osób starszych, które mogłyby szczególnie ucierpieć na skutek nieszczęśliwego upadku.</p>



<h2 class="wp-block-heading">Komfort i wygoda, która się opłaca.</h2>



<p class="wp-block-paragraph">Nie można zapominać o wygodzie, jaką daje system podgrzewanych powierzchni otwartych. Tradycyjne odśnieżanie i usuwanie lodu wymaga codziennego angażowania się w procesy, które są żmudne i męczące. System podgrzewanych podjazdów automatycznie dba o to, aby nawierzchnie były wolne od lodu i śniegu, zapewniając nam cenny czas i energię na inne, bardziej przyjemne czynności. Zamiast zmagać się z nieprzyjemnymi obowiązkami, możemy po prostu cieszyć się zimą, nie martwiąc się o niebezpieczne i śliskie nawierzchnie.</p>



<h2 class="wp-block-heading">Nowoczesne technologie na wyciągnięcie ręki.</h2>



<p class="wp-block-paragraph">Podgrzewane podjazdy i chodniki to efektywne wykorzystanie nowoczesnych technologii. Do ogrzewania powierzchni otwartych stosuje się niskotemperaturowe systemy grzewcze, w których kluczową rolę odgrywają wielowarstwowe rury, przez które przepływa roztwór wodny glikolu. Taki płyn grzewczy zapobiega zamarzaniu systemu podczas przerw w ogrzewaniu oraz przy ekstremalnych mrozach. Temperatura zasilania systemu wynosi od 30 do 55°C, co pozwala na utrzymanie nawierzchni w odpowiednim stanie przez całą zimę.</p>



<p class="wp-block-paragraph">System podgrzewania powierzchni otwartych może być łatwo dostosowany do różnych powierzchni. Można go stosować pod kostką brukową, betonem, a nawet pod powierzchniami trawiastymi, takimi jak boiska sportowe. Ważne jest jednak, aby odpowiednio dobrać materiały i zapewnić prawidłowe rozmieszczenie rur grzewczych, co pozwoli na efektywne działanie systemu oraz zapewni komfort cieplny.</p>



<h2 class="wp-block-heading">Jak działają podgrzewane powierzchnie otwarte?</h2>



<p class="wp-block-paragraph">Podgrzewane powierzchnie otwarte działają na zasadzie <strong>wymiany ciepła</strong> między czynnikiem grzewczym a nawierzchnią. System rur umieszczonych pod powierzchnią rozprowadza ciepło, które przenika przez warstwy nad rurami, podgrzewając nawierzchnię do temperatury, która pozwala na topnienie śniegu i lodu. Głównym celem jest utrzymanie temperatury powierzchni na poziomie od +1 do +5°C, co gwarantuje skuteczne zapobieganie powstawaniu oblodzenia i zalegania śniegu.</p>



<p class="wp-block-paragraph">W praktyce oznacza to, że system działa w sposób ciągły, zapewniając nam wolną od lodu powierzchnię bez konieczności angażowania się w ręczne usuwanie zanieczyszczeń. Oczywiście, taki system wymaga odpowiedniego zasilania, ale dzięki nowoczesnym rozwiązaniom technicznym oraz właściwej optymalizacji, możliwe jest <strong>zredukowanie kosztów energii</strong> do minimum.</p>



<h2 class="wp-block-heading">Zalety podgrzewanych podjazdów, chodników i tarasów</h2>



<ul class="wp-block-list">
<li><strong>Bezpieczeństwo</strong>: Eliminacja ryzyka poślizgu na oblodzonych nawierzchniach.</li>



<li><strong>Wygoda</strong>: Brak konieczności odśnieżania i ręcznego usuwania lodu.</li>



<li><strong>Efektywność</strong>: Skuteczne i energooszczędne utrzymanie nawierzchni w odpowiednim stanie.</li>



<li><strong>Estetyka</strong>: Zawsze czyste i suche powierzchnie, bez zalegającego śniegu.</li>



<li><strong>Trwałość</strong>: Nowoczesne materiały i technologie zapewniają długą żywotność instalacji.</li>
</ul>



<h2 class="wp-block-heading">Konstrukcja ogrzewania powierzchni otwartych.</h2>



<p class="wp-block-paragraph">Podstawowym elementem konstrukcji podgrzewanych powierzchni otwartych są wielowarstwowe rury, które prowadzone są pod powierzchnią, w warstwie betonu lub piasku. Aby zapewnić maksymalną efektywność systemu, rury są rozmieszczane z określoną gęstością, co pozwala na <strong>równomierne rozprowadzenie ciepła</strong>. Pod instalacją nie stosuje się izolacji cieplnej, co zwiększa straty ciepła do gruntu, ale jednocześnie zwiększa bezwładność cieplną, co jest korzystne w przypadku ciągłego działania systemu.</p>



<p class="wp-block-paragraph">Przy planowaniu instalacji istotne jest również odpowiednie rozmieszczenie <strong>listw montażowych</strong>, które służą do stabilizacji rur i zapewnienia ich odpowiedniego ułożenia. Dzięki temu system działa sprawnie i skutecznie przez wiele lat, zapewniając optymalną efektywność grzewczą.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="373" src="https://projekt-ogrzewania.pl/wp-content/uploads/2024/10/Ogrzewanie-powierzchni-z-kostka-1024x373.jpg" alt="" class="wp-image-1410" srcset="https://projekt-ogrzewania.pl/wp-content/uploads/2024/10/Ogrzewanie-powierzchni-z-kostka-1024x373.jpg 1024w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/10/Ogrzewanie-powierzchni-z-kostka-300x109.jpg 300w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/10/Ogrzewanie-powierzchni-z-kostka-768x280.jpg 768w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/10/Ogrzewanie-powierzchni-z-kostka-600x218.jpg 600w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/10/Ogrzewanie-powierzchni-z-kostka.jpg 1247w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Rys. Ogrzewanie powierzchni z kostką.</figcaption></figure>



<h2 class="wp-block-heading">Gdzie warto zastosować podgrzewane powierzchnie otwarte?</h2>



<p class="wp-block-paragraph">Podgrzewane powierzchnie otwarte sprawdzają się w wielu miejscach, zarówno prywatnych, jak i publicznych. <strong>Podjazdy i chodniki</strong> to najczęstsze lokalizacje, gdzie stosowane są systemy ogrzewania, ponieważ eliminują konieczność ręcznego odśnieżania i poprawiają bezpieczeństwo. <strong>Tarasy</strong> również mogą korzystać z takich rozwiązań, dzięki czemu są wolne od lodu i można z nich bezpiecznie korzystać nawet w zimowych miesiącach.</p>



<p class="wp-block-paragraph">Systemy podgrzewania powierzchni otwartych znajdują zastosowanie także w miejscach takich jak <strong>parkingi</strong>, <strong>otwarte myjnie samochodowe</strong>, czy nawet <strong>boiska sportowe</strong>. Dzięki nim możliwe jest zapewnienie komfortu i bezpieczeństwa zarówno użytkownikom indywidualnym, jak i publicznym.</p>



<h2 class="wp-block-heading">Podsumowanie – dlaczego warto zainwestować w podgrzewane podjazdy?</h2>



<p class="wp-block-paragraph">Podgrzewane podjazdy, chodniki, parkingi i tarasy to innowacyjne rozwiązanie, które sprawdza się wszędzie tam, gdzie liczy się bezpieczeństwo, komfort oraz oszczędność czasu. Dzięki zastosowaniu nowoczesnych technologii oraz wysokiej jakości materiałów możemy cieszyć się wolnymi od śniegu i lodu powierzchniami przez cały sezon zimowy. Zainstalowanie takiego systemu to inwestycja, która szybko się zwraca, eliminując konieczność ręcznego odśnieżania oraz zapewniając długotrwałą wygodę.</p>



<p class="wp-block-paragraph">Jeśli chcesz dowiedzieć się więcej o możliwościach instalacji ogrzewania powierzchni otwartych i skorzystać z naszej oferty, odwiedź naszą stronę: <a href="https://projekt-ogrzewania.pl/produkt/projekt-podgrzewanego-podjazdu-chodnika-parkingu-tarasu/">Projekt podgrzewanego podjazdu, chodnika, parkingu oraz tarasu</a>.</p>



<p class="wp-block-paragraph">Dzięki naszym nowoczesnym rozwiązaniom zyskasz pewność, że Twój podjazd, chodnik czy taras będą bezpieczne i wygodne, niezależnie od warunków pogodowych. Zachęcamy do kontaktu i skorzystania z naszej oferty, aby zimą cieszyć się komfortem na najwyższym poziomie!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/podgrzewane-podjazdy-chodniki-parkingi-i-tarasy-komfort-zima-ktorego-potrzebujesz/">Podgrzewane podjazdy, chodniki, parkingi i tarasy – komfort zimą, którego potrzebujesz.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
