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

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa Rury do ogrzewania - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/rury-do-ogrzewania/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Rura z barierą antydyfuzyjną (EVOH).</title>
		<link>https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 26 Jan 2026 09:43:12 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Materiały do podłogówki]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[Rury grzewcze]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[Wybór materiałów do podłogówki]]></category>
		<category><![CDATA[bariera antydyfuzyjna]]></category>
		<category><![CDATA[dyfuzja tlenu]]></category>
		<category><![CDATA[hydraulika budowlana]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pe-rt evoh]]></category>
		<category><![CDATA[pex evoh]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rura evoh]]></category>
		<category><![CDATA[rury grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3316</guid>

					<description><![CDATA[<p>W instalacjach grzewczych nie ma miejsca na przypadek. To, co dziś jest niewidoczne w posadzce, przez kolejne dekady decyduje o sprawności całego systemu. Rura z barierą antydyfuzyjną (EVOH) to rozwiązanie, które od lat stanowi technologiczny standard w wodnym ogrzewaniu podłogowym – nie z mody, lecz z fizyki i doświadczenia. W artykule pokazujemy, dlaczego dyfuzja tlenu jest realnym zagrożeniem, jak działa EVOH, jakie parametry mają znaczenie przy doborze rur oraz dlaczego profesjonalny projekt i montaż są kluczowe dla trwałości instalacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">Rura z barierą antydyfuzyjną (EVOH).</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wybór odpowiedniego materiału na przewody grzewcze to fundament trwałej, wydajnej i bezawaryjnej instalacji. Wśród specjalistów i instalatorów&nbsp;<strong>wodnego ogrzewania podłogowego</strong>&nbsp;niekwestionowanym standardem stała się&nbsp;<strong>rura z barierą antydyfuzyjną (EVOH)</strong>. To nie jest chwilowy trend, lecz świadoma decyzja technologiczna, która bezpośrednio przekłada się na żywotność całego systemu grzewczego w domu. Dlaczego ta niepozorna, wielowarstwowa struktura jest tak kluczowa? W tym kompleksowym artykule zagłębimy się w technikę, parametry i praktyczne aspekty stosowania rur PEX-EVOH, dostarczając wszelkich niezbędnych informacji do podjęcia świadomej decyzji.</p>



<h2 class="wp-block-heading">Dyfuzja tlenu – niewidzialny wróg Twojej instalacji grzewczej.</h2>



<p class="wp-block-paragraph">Aby w pełni docenić rolę&nbsp;<strong>bariery antydyfuzyjnej</strong>, musimy zrozumieć zagrożenie, przed którym chroni. Chodzi o proces&nbsp;<strong>dyfuzji cząsteczek tlenu</strong>&nbsp;przez ścianki rur z tworzyw sztucznych.</p>



<h3 class="wp-block-heading">Fizyka problemu: jak tlen przedostaje się do układu?</h3>



<p class="wp-block-paragraph">Nawet najlepsze, jednorodne tworzywa sztuczne, jak polietylen (PE) czy polietylen sieciowany (PEX), w mikroskopijnej skali mają strukturę, która pozwala małym cząsteczkom gazów (jak O2) na bardzo powolne przenikanie. W instalacji&nbsp;<strong><a href="https://projekt-ogrzewania.pl/category/ogrzewanie-podlogowe/">ogrzewania podłogowego</a></strong>, gdzie rury zatopione są w wylewce, po jednej stronie ścianki mamy wodę układu grzewczego, a po drugiej – wilgotne powietrze lub beton. Różnica stężeń tlenu jest czynnikiem napędowym tego zjawiska.</p>



<ul class="wp-block-list">
<li><strong>Przykład wyliczeniowy:</strong>&nbsp;Zwykła rura z PE-RT bez bariery EVOH może przepuszczać nawet&nbsp;<strong>do 1,0 mg tlenu na litr wody na dzień</strong>&nbsp;w temperaturze 40°C. Dla instalacji o pojemności 200 litrów oznacza to przedostawanie się&nbsp;<strong>200 mg O2 dziennie</strong>&nbsp;– to niemal&nbsp;<strong>75 gramów rocznie</strong>. Ta ilość jest w zupełności wystarczająca, aby zainicjować i podtrzymywać procesy korozji.</li>
</ul>



<h3 class="wp-block-heading">Kaskadowe skutki obecności tlenu w obiegu grzewczym.</h3>



<p class="wp-block-paragraph">Obecność rozpuszczonego tlenu w wodzie instalacyjnej uruchamia lawinę niepożądanych zjawisk:</p>



<ol start="1" class="wp-block-list">
<li><strong>Korozja elementów metalowych:</strong>&nbsp;Tlen jest głównym sprawcą korozji żelaza i stali. Atakuje:
<ul class="wp-block-list">
<li><strong>Wymiennik kotła grzewczego</strong>&nbsp;(szczególnie niskotemperaturowe kondensacyjne), prowadząc do jego przedwczesnej perforacji i kosztownej wymiany.</li>



<li><strong>Łopatki i wirniki pomp obiegowych</strong>, powodując ich zablokowanie lub spadek wydajności.</li>



<li><strong>Zawory mosiężne i stalowe</strong>, armaturę regulacyjną, powodując ich zarastanie i utratę szczelności.</li>
</ul>
</li>



<li><strong>Powstawanie zawiesin i szlamu:</strong>&nbsp;Procesy korozyjne generują tlenki żelaza (rdza), które krążą w instalacji. Łączą się one z innymi zanieczyszczeniami (np. jonami wapnia) tworząc&nbsp;<strong>gęstą maź</strong>. Zatykają one najwęższe miejsca: zawory termostatyczne, drożne przekroje w wymiennikach czy samo&nbsp;<strong>zagęszczenie w rurach ogrzewania podłogowego</strong>, pogarszając wymianę ciepła.</li>



<li><strong>Spadek efektywności energetycznej:</strong>&nbsp;Zarastająca instalacja wymaga wyższego ciśnienia pompy, aby utrzymać przepływ. Zatkany wymiennik kotła lub pokryta osadem rura podłogowa mają gorszą wymianę ciepła. Wszystko to skutkuje&nbsp;<strong>wyższym zużyciem gazu lub prądu</strong>, a więc i rachunkami.</li>
</ol>



<h2 class="wp-block-heading">EVOH jako technologiczna tarcza ochronna.</h2>



<p class="wp-block-paragraph">Tu właśnie pojawia się heroiczna rola&nbsp;<strong>bariery antydyfuzyjnej z Ethylene-Vinyl Alcohol copolymer</strong>, w skrócie&nbsp;<strong>EVOH</strong>.</p>



<h3 class="wp-block-heading">Czym jest EVOH i jak działa?</h3>



<p class="wp-block-paragraph"><strong>EVOH</strong>&nbsp;to wysokogatunkowy kopolimer, którego cząsteczki są ułożone w niezwykle gęstą i uporządkowaną strukturę. Tworzy ona&nbsp;<strong>praktycznie nieprzenikalną barierę</strong>&nbsp;dla cząsteczek tlenu, a także dla innych gazów i aromatów. W kontekście <a href="https://projekt-ogrzewania.pl/category/rury-do-ogrzewania/">rur grzewczych</a>, cienka warstwa EVOH (często o grubości zaledwie kilkudziesięciu mikrometrów) jest umieszczana między warstwami nośnego tworzywa, tworząc skuteczną tarczę.</p>



<p class="wp-block-paragraph"><strong>Kluczowy parametr:</strong>&nbsp;Współczynnik przenikania tlenu dla rur z barierą EVOH w temperaturze 40°C wynosi&nbsp;<strong>mniej niż 0,1 g/(m³·dzień)</strong>, a często jest bliski 0,01. To&nbsp;<strong>dziesiątki, a nawet setki razy mniej</strong>&nbsp;niż w przypadku rur bez takiej bariery. W praktyce oznacza to, że ilość tlenu przedostającego się do instalacji jest&nbsp;<strong>pomijalnie mała i nieszkodliwa</strong>.</p>



<h3 class="wp-block-heading">Zaawansowana budowa: więcej niż suma warstw.</h3>



<p class="wp-block-paragraph">Nowoczesna&nbsp;<strong>rura do ogrzewania podłogowego z warstwą EVOH</strong>&nbsp;to przykład inżynierii materiałowej. Zazwyczaj ma strukturę pięciu warstw, gdzie każda pełni ściśle określoną funkcję.</p>



<style>
/* ===== RESPONSYWNA TABELA BLOGOWA ===== */
.responsive-table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  font-size: 16px;
}

.responsive-table thead {
  background: #1f2933;
  color: #ffffff;
}

.responsive-table th,
.responsive-table td {
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  vertical-align: top;
}

.responsive-table th {
  text-align: left;
  font-weight: 600;
}

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

/* ===== MOBILE ===== */
@media (max-width: 768px) {
  .responsive-table thead {
    display: none;
  }

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

  .responsive-table tr {
    margin-bottom: 20px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
    background: #ffffff;
  }

  .responsive-table td {
    border: none;
    border-bottom: 1px solid #e5e7eb;
    padding: 12px 14px;
  }

  .responsive-table td::before {
    content: attr(data-label);
    display: block;
    font-weight: 600;
    color: #374151;
    margin-bottom: 4px;
  }

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

/* ===== PODPIS ===== */
.table-caption {
  font-size: 14px;
  color: #6b7280;
  margin-top: 8px;
  font-style: italic;
}
</style>

<table class="responsive-table">
  <thead>
    <tr>
      <th>Warstwa (od wewnątrz)</th>
      <th>Materiał</th>
      <th>Główna funkcja</th>
      <th>Wpływ na użytkownika</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td data-label="Warstwa">1. Warstwa wewnętrzna</td>
      <td data-label="Materiał">PEX-a, PEX-b lub PE-RT</td>
      <td data-label="Główna funkcja">
        Styczność z medium grzewczym. Odporność na temperaturę, ciśnienie i starzenie.
        Gładkość zmniejsza opory przepływu.
      </td>
      <td data-label="Wpływ na użytkownika">
        Gwarantuje wytrzymałość mechaniczną i hydrauliczną przez dziesięciolecia.
      </td>
    </tr>

    <tr>
      <td data-label="Warstwa">2. &amp; 4. Warstwy kleju</td>
      <td data-label="Materiał">Dedykowany klej poliuretanowy lub na bazie EVA</td>
      <td data-label="Główna funkcja">
        Trwałe, molekularne połączenie warstw PEX/PE-RT z EVOH.
      </td>
      <td data-label="Wpływ na użytkownika">
        Zapobiega rozwarstwianiu się rury w czasie eksploatacji, zapewniając integralność.
      </td>
    </tr>

    <tr>
      <td data-label="Warstwa">3. Warstwa barierowa</td>
      <td data-label="Materiał">EVOH</td>
      <td data-label="Główna funkcja">
        <strong>Blokada dyfuzji tlenu</strong> do wnętrza instalacji.
      </td>
      <td data-label="Wpływ na użytkownika">
        Chroni kocioł, pompę i armaturę. Zapobiega tworzeniu się szlamu.
      </td>
    </tr>

    <tr>
      <td data-label="Warstwa">5. Warstwa zewnętrzna</td>
      <td data-label="Materiał">PEX, PE-RT lub specjalny PE</td>
      <td data-label="Główna funkcja">
        Ochrona przed uszkodzeniami mechanicznymi i promieniowaniem UV (do czasu montażu).
        Miejsce nadruku informacyjnego.
      </td>
      <td data-label="Wpływ na użytkownika">
        Ułatwia montaż, zabezpiecza przed zarysowaniami i umożliwia identyfikację rury.
      </td>
    </tr>
  </tbody>
</table>

<div class="table-caption">
  Tabela 1: Struktura i funkcje poszczególnych warstw w typowej rurze PEX-EVOH do ogrzewania podłogowego.
</div>



<p class="wp-block-paragraph"><strong>Uwaga techniczna:</strong>&nbsp;<em>PEX (sieciowany polietylen)</em>&nbsp;występuje w różnych typach.&nbsp;<strong>PEX-a</strong>&nbsp;(sieciowany nadtlenkowo) charakteryzuje się najwyższym, jednolitym stopniem sieciowania, co daje świetną pamięć kształtu i odporność na zginanie przy niskich temperaturach.&nbsp;<strong>PEX-b</strong>&nbsp;(sieciowany silanowo) jest bardzo popularny, nieco mniej elastyczny przy mrozie, ale o doskonałych parametrach wytrzymałościowych.&nbsp;<strong>PE-RT</strong>&nbsp;(polietylen podwyższonej temperaturoodporności) nie jest sieciowany, ale dzięki modyfikacji cząsteczkowej ma wysoką odporność na temperaturę i ciśnienie, a przy tym doskonałą elastyczność.</p>



<h2 class="wp-block-heading">Parametry techniczne i dobór rury – na co zwracać uwagę?</h2>



<p class="wp-block-paragraph">Wybierając&nbsp;<strong>rurę wielowarstwową z barierą tlenową</strong>, należy analizować konkretne parametry, a nie tylko markę. Oto kluczowe z nich:</p>



<h3 class="wp-block-heading">Ciśnienie i temperatura – krzywa żywotności.</h3>



<p class="wp-block-paragraph">Wytrzymałość rur jest opisywana przez tzw.&nbsp;<strong>klasę roboczą</strong>. Definiuje ją para: temperatura pracy / ciśnienie robocze. Dla ogrzewania podłogowego standardem jest&nbsp;<strong>klasa 4 (70°C / 4 bary)</strong>&nbsp;lub częściej&nbsp;<strong>klasa 5 (90°C / 4 bary)</strong>. Co istotne, parametry te gwarantują&nbsp;<strong>żywotność na poziomie minimum 50 lat</strong>.</p>



<ul class="wp-block-list">
<li><strong>Przykład interpretacji:</strong>&nbsp;Rura klasy 5 przy ciągłej pracy w temperaturze 90°C i pod ciśnieniem 4 bar wytrzyma 50 lat. W praktyce w&nbsp;<strong>ogrzewaniu podłogowym</strong>&nbsp;pracujemy w zakresie 30-50°C. Zgodnie z zasadami reologii (nauki o płynięciu),&nbsp;<strong>obniżenie temperatury pracy o 10°C wydłuża żywotność tworzywa wielokrotnie</strong>. Dlatego rury w pętli podłogowej są praktycznie „nieśmiertelne” z punktu widzenia obciążeń termicznych.</li>
</ul>



<h3 class="wp-block-heading">Średnica i grubość ścianki – hydraulika pętli.</h3>



<p class="wp-block-paragraph">Standardowe wymiary dla pętli podłogówki to:</p>



<ul class="wp-block-list">
<li><strong>16&#215;2.0 mm</strong>&nbsp;– najpopularniejszy wymiar. Równowaga między oporami przepływu a pojemnością wodną.</li>



<li><strong>17&#215;2.0 mm</strong>&nbsp;– często spotykany w systemach metrycznych, oferuje nieco niższe opory niż 16mm.</li>



<li><strong>20&#215;2.0 mm</strong>&nbsp;– stosowana przy bardzo długich pętlach (&gt;120m) lub w instalacjach zasilanych z jednego źródła wysokotemperaturowego (np. bez mieszacza).</li>
</ul>



<p class="wp-block-paragraph"><strong>Obliczenie oporów:</strong>&nbsp;Opór liniowy 100m rury 16&#215;2.0 mm przy przepływie 2 l/min (typowe dla pętli ok. 100m) wynosi ok.&nbsp;<strong>0,3-0,4 bar</strong>. Dla pętli 100m daje to spadek ciśnienia&nbsp;<strong>0,3-0,4 bar</strong>. <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">Pompa obiegowa</a> mieszacza podłogówki musi pokonać sumę oporów wszystkich równoległych pętli. Dlatego projektant, znając długości pętli, dobiera odpowiednie średnice, by je zrównoważyć.</p>



<h3 class="wp-block-heading">Współczynnik przewodzenia ciepła – efektywność oddawania energii.</h3>



<p class="wp-block-paragraph">Rury z PEX/EVOH mają współczynnik przewodzenia ciepła&nbsp;<strong>λ na poziomie ok. 0,40 W/(m·K)</strong>. To dobry parametr, który w połączeniu z małą grubością ścianki (2mm) nie stanowi istotnej bariery dla przenikania ciepła z wody do otuliny betonowej. Dla porównania, rury z polibutylenu (PB) mają λ ok. 0,22 W/(m·K) – lepiej izolują, ale w przypadku ogrzewania podłogowego nie jest to zaletą, ponieważ chcemy efektywnie oddać ciepło.</p>



<style>
/* ===== RESPONSYWNA TABELA WYKRESOWA ===== */
.responsive-table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  font-size: 16px;
}

.responsive-table thead {
  background: #1f2933;
  color: #ffffff;
}

.responsive-table th,
.responsive-table td {
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  vertical-align: top;
}

.responsive-table th {
  text-align: left;
  font-weight: 600;
}

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

/* ===== MOBILE ===== */
@media (max-width: 768px) {
  .responsive-table thead {
    display: none;
  }

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

  .responsive-table tr {
    margin-bottom: 20px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
    background: #ffffff;
  }

  .responsive-table td {
    border: none;
    border-bottom: 1px solid #e5e7eb;
    padding: 12px 14px;
  }

  .responsive-table td::before {
    content: attr(data-label);
    display: block;
    font-weight: 600;
    color: #374151;
    margin-bottom: 4px;
  }

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

/* ===== PODPIS ===== */
.table-caption {
  font-size: 14px;
  color: #6b7280;
  margin-top: 8px;
  font-style: italic;
}
</style>

<table class="responsive-table">
  <thead>
    <tr>
      <th>Średnica rury</th>
      <th>Zakres przepływu (oś X)</th>
      <th>Spadek ciśnienia (oś Y)</th>
      <th>Charakterystyka hydrauliczna</th>
      <th>Wniosek praktyczny</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td data-label="Średnica rury">16 × 2.0 mm</td>
      <td data-label="Zakres przepływu">Niski → wysoki (l/min)</td>
      <td data-label="Spadek ciśnienia">Wysoki (mbar/m)</td>
      <td data-label="Charakterystyka hydrauliczna">
        Największe opory przepływu przy tym samym natężeniu przepływu.
      </td>
      <td data-label="Wniosek praktyczny">
        Krótsze pętle, większe zapotrzebowanie na energię pompowania.
      </td>
    </tr>

    <tr>
      <td data-label="Średnica rury">17 × 2.0 mm</td>
      <td data-label="Zakres przepływu">Niski → wysoki (l/min)</td>
      <td data-label="Spadek ciśnienia">Średni (mbar/m)</td>
      <td data-label="Charakterystyka hydrauliczna">
        Lepszy kompromis pomiędzy średnicą a oporami hydraulicznymi.
      </td>
      <td data-label="Wniosek praktyczny">
        Najczęściej optymalny wybór dla nowoczesnych instalacji.
      </td>
    </tr>

    <tr>
      <td data-label="Średnica rury">20 × 2.0 mm</td>
      <td data-label="Zakres przepływu">Niski → wysoki (l/min)</td>
      <td data-label="Spadek ciśnienia">Niski (mbar/m)</td>
      <td data-label="Charakterystyka hydrauliczna">
        Najniższe opory przepływu przy tym samym natężeniu.
      </td>
      <td data-label="Wniosek praktyczny">
        Możliwość dłuższych pętli, mniejsze obciążenie pompy obiegowej.
      </td>
    </tr>
  </tbody>
</table>

<div class="table-caption">
  Tabela: Koncepcyjny wpływ średnicy rury i przepływu na opory hydrauliczne (odpowiednik wykresu: spadek ciśnienia [mbar/m] vs przepływ [l/min]).
</div>



<style>
  /* GŁÓWNY KONTENER */
  .evoh-promo-wrapper {
    background: #ffffff;
    border: 2px solid #e2e8f0;
    border-radius: 16px;
    margin: 40px 0;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    font-family: inherit;
    position: relative;
    overflow: hidden;
  }
  .evoh-promo-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: #2563eb;
  }
  
  /* TARCZA OCHRONNA - ukrywa wszelkie wstrzyknięte z zewnątrz divy i skrypty */
  .evoh-promo-wrapper > *:not(.evoh-promo-top):not(.evoh-promo-bottom),
  .evoh-promo-bottom > *:not(.evoh-bonus-content):not(.evoh-btn) {
    display: none !important;
  }
  
  /* GÓRNA SEKCJA */
  .evoh-promo-top {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    padding: 30px 25px;
    align-items: flex-start;
  }
  .evoh-promo-image {
    flex: 1;
    min-width: 220px;
    display: flex;
    justify-content: center;
  }
  .evoh-promo-image img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
  }
  .evoh-promo-content {
    flex: 1.5;
    min-width: 280px;
  }
  /* Zmieniono z h3 na div, aby uniknąć doklejania reklam pod nagłówkami */
  .evoh-promo-title {
    display: block;
    font-size: 24px;
    font-weight: bold;
    color: #0f172a;
    margin: 0 0 20px 0;
    line-height: 1.3;
  }
  
  /* INTERAKTYWNE WARSTWY */
  .evoh-layers-container {
    margin: 0 0 10px 0;
  }
  .evoh-layers-title {
    font-size: 14px;
    color: #64748b;
    margin-bottom: 12px;
    font-weight: 600;
  }
  .evoh-layers {
    display: flex;
    gap: 4px;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .evoh-layer {
    flex: 1;
    text-align: center;
    background: #f1f5f9;
    padding: 12px 5px;
    font-size: 12px;
    font-weight: bold;
    color: #475569;
    border-radius: 6px;
    cursor: help;
    transition: all 0.3s ease;
    position: relative;
  }
  .evoh-layer:hover {
    background: #cbd5e1;
  }
  .evoh-layer.layer-evoh {
    background: #3b82f6;
    color: #ffffff;
  }
  .evoh-layer.layer-evoh:hover {
    background: #2563eb;
  }
  .evoh-tooltip {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: 130%;
    left: 50%;
    transform: translateX(-50%);
    background: #1e293b;
    color: #f8fafc;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    white-space: nowrap;
    transition: 0.3s;
    pointer-events: none;
    z-index: 10;
  }
  .evoh-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #1e293b transparent transparent transparent;
  }
  .evoh-layer:hover .evoh-tooltip {
    visibility: visible;
    opacity: 1;
  }

  /* DOLNA SEKCJA - Zabezpieczona */
  .evoh-promo-bottom {
    background: #f0fdf4;
    border-top: 1px solid #bbf7d0;
    padding: 20px 25px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }
  .evoh-bonus-content {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
    min-width: 250px;
  }
  .evoh-bonus-icon {
    font-size: 26px;
  }
  /* Zastępuje tag <p> */
  .evoh-bonus-text {
    margin: 0;
    font-size: 15px;
    color: #15803d;
    line-height: 1.5;
  }
  
  .evoh-btn {
    display: inline-block;
    background: #2563eb;
    color: #ffffff !important;
    text-decoration: none;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: bold;
    font-size: 15px;
    transition: background 0.3s ease, transform 0.2s ease;
    text-align: center;
    white-space: nowrap;
  }
  .evoh-btn:hover {
    background: #1d4ed8;
    transform: translateY(-2px);
  }
</style>

<div class="evoh-promo-wrapper">
  
  <div class="evoh-promo-top">
    <div class="evoh-promo-image">
      <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Rura-Thermotitan-PE-RT-EVOH-PE-RT.webp" alt="Rura wielowarstwowa KISAN Thermotitan PE-RT/EVOH/PE-RT">
    </div>
    
    <div class="evoh-promo-content">
      <div class="evoh-promo-title">Rura KISAN® THERMOTITAN PE-RT/EVOH/PE-RT 16&#215;2</div>
      
      <div class="evoh-layers-container">
        <div class="evoh-layers-title">Najedź, aby poznać 5-warstwową budowę:</div>
        <ul class="evoh-layers">
          <li class="evoh-layer">PE-RT<span class="evoh-tooltip">Warstwa zewnętrzna (ochrona)</span></li>
          <li class="evoh-layer">Klej<span class="evoh-tooltip">Spoiwo łączące</span></li>
          <li class="evoh-layer layer-evoh">EVOH<span class="evoh-tooltip">Głęboka bariera tlenowa!</span></li>
          <li class="evoh-layer">Klej<span class="evoh-tooltip">Spoiwo łączące</span></li>
          <li class="evoh-layer">PE-RT<span class="evoh-tooltip">Warstwa wewnętrzna (przepływ)</span></li>
        </ul>
      </div>
    </div>
  </div>

  <div class="evoh-promo-bottom">
    <div class="evoh-bonus-content">
      <span class="evoh-bonus-icon">🎁</span>
      <div class="evoh-bonus-text">Kupując ten produkt, otrzymujesz <strong>profesjonalny projekt instalacji GRATIS!</strong></div>
    </div>
    
    <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-thermotitan-pe-rt-evoh-pe-rt/" class="evoh-btn" target="_blank" rel="noopener">
      Sprawdź cenę i parametry →
    </a>
  </div>
  
</div>



<h2 class="wp-block-heading">Projektowanie wodnego ogrzewania podłogowego z rurą EVOH.</h2>



<p class="wp-block-paragraph">Kluczem do sukcesu jest traktowanie&nbsp;<strong>rury z barierą EVOH</strong>&nbsp;nie jako pojedynczego produktu, ale jako integralnej części ściśle zaprojektowanego systemu.&nbsp;<strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt ogrzewania podłogowego</a></strong>&nbsp;jest etapem absolutnie koniecznym i nie można go pominąć. Obejmuje on:</p>



<ol start="1" class="wp-block-list">
<li><strong>Obliczenia strat ciepła</strong>&nbsp;dla każdego pomieszczenia, które określą zapotrzebowanie na moc grzewczą [W].</li>



<li><strong>Dobór rozstawu rur</strong>&nbsp;(tzw. <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw pętli</a>): od 100 mm (podłoga w łazience, strefy brzegowe) przez 150 mm (standardowe pomieszczenia) do nawet 250-300 mm (pomieszczenia o małym zapotrzebowaniu lub podłoga chłodząca).</li>



<li><strong>Dobór średnicy rury</strong>&nbsp;(zazwyczaj 16 lub 17 mm) i&nbsp;<strong>obliczenie długości poszczególnych pętli</strong>. Maksymalna długość jednej pętli jest ograniczona oporami hydraulicznymi; zazwyczaj przyjmuje się&nbsp;<strong>100-120 m</strong>&nbsp;dla rury 16 mm, aby nie generować nadmiernych oporów i zapewnić równomierny przepływ.</li>



<li><strong>Podział na strefy grzewcze i dobór kolektorów:</strong>&nbsp;Każda pętla musi być indywidualnie zasilana i regulowana. Kolektor (rozdzielacz) z przepływomierzami i zaworami regulacyjnymi pozwala na zrównoważenie hydrauliczne wszystkich pętli, tak aby do każdej docierała wymagana ilość wody.&nbsp;<strong>Rury EVOH łączone są z kolektorem za pomocą złączek zaciskanych (press) lub skręcanych – te drugie muszą być dostępne poza wylewką, w skrzynce rozdzielacza.</strong></li>



<li><strong>Określenie parametrów zasilania:</strong>&nbsp;Projekt ustala temperaturę zasilania pętli (np. 40°C) i oblicza wymaganą wydajność pompy obiegowej mieszacza.</li>
</ol>



<p class="wp-block-paragraph"><strong>Praktyczny przykład projektowy:</strong><br>Dla pokoju o stratach ciepła 1200 W, przy założeniu wydajności cieplnej podłogi 80 W/m², potrzebna jest&nbsp;<strong>powierzchnia grzewcza 15 m²</strong>. Przy rozstawie rur 150 mm, na 1 m² przypada&nbsp;<strong>6,67 mb rury</strong>. Zatem potrzebna długość pętli to&nbsp;<strong>15 m² * 6,67 m/m² = 100 mb</strong>. Jest to wartość idealna dla jednej pętli z rury 16&#215;2.0 mm.</p>



<h2 class="wp-block-heading">Montaż – precyzja, która zaprocentuje latami.</h2>



<p class="wp-block-paragraph">Nawet najlepsza&nbsp;<strong>rura antydyfuzyjna</strong>&nbsp;wymaga poprawnego montażu. Oto kluczowe zasady:</p>



<ul class="wp-block-list">
<li><strong>Transport i przechowywanie:</strong>&nbsp;Chroń rury przed promieniowaniem UV. Nie zginaj gwałtownie w niskich temperaturach (poniżej 0°C) – jeśli jest taka potrzeba, ogrzej ją np. suszarką.</li>



<li><strong>Układanie:</strong>&nbsp;Używaj prowadnic lub klipsów montażowych, aby utrzymać równomierny rozstaw. Pamiętaj o dylatacjach obwodowych i pośrednich – rura musi przez nie przechodzić w osłonie z peszla.</li>



<li><strong>Pomiar rezystancji:</strong>&nbsp;Wiele rur posiada&nbsp;<strong>wtopiony drucik miedziany lub warstwę przewodzącą</strong>. Przed wylaniem betonu&nbsp;<strong>koniecznie sprawdź ciągłość elektryczną każdej pętli</strong>&nbsp;i zaznacz na planie przyłącze. W przyszłości, dzięki detektorowi, zlokalizujesz dokładny przebieg rury w podłodze.</li>



<li><strong>Ciśnieniowa próba szczelności:</strong>&nbsp;<strong>Natychmiast po ułożeniu i podłączeniu do kolektora</strong>&nbsp;przeprowadź próbę ciśnieniową powietrzem lub wodą (zwykle 6-8 bar). Obserwuj manometr przez cały czas prowadzenia prac budowlanych. Spadek ciśnienia sygnalizuje uszkodzenie.</li>



<li><strong>Zalewanie:</strong>&nbsp;Pętla&nbsp;<strong>musi być pod ciśnieniem</strong>&nbsp;(zwykle 3-4 bary) w trakcie wylewania betonu. Zabezpiecza to rurę przed przypadkowym zgnieceniem lub załamaniem.</li>
</ul>



<h2 class="wp-block-heading">Porównanie z innymi rozwiązaniami – dlaczego EVOH wygrywa?</h2>



<p class="wp-block-paragraph">Choć na rynku istnieją alternatywy, to&nbsp;<strong>PEX/PE-RT z barierą EVOH</strong>&nbsp;jest optymalnym wyborem.</p>



<ul class="wp-block-list">
<li><strong>vs. Rury jednowarstwowe PE-X/PE-RT:</strong>&nbsp;Brak bariery EVOH. Dopuszczalne tylko w zamkniętych, starannie odtlenionych <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">systemach z dodatkiem inhibitorów korozji</a>, co i tak nie daje 100% ochrony. Ryzyko korozji pozostaje.</li>



<li><strong>vs. Rury z powłoką antydyfuzyjną:</strong>&nbsp;Niektóre rury mają barierę nakładaną natryskowo (np. z tworzywa). Jej jednorodność i trwałość połączenia z rdzeniem bywają gorsze niż w przypadku koekstrudowanej warstwy EVOH.</li>



<li><strong>vs. Rury miedziane:</strong>&nbsp;Miedź jest naturalną barierą dla tlenu, ma doskonałe przewodnictwo cieplne. Jest jednak&nbsp;<strong>znacznie droższa</strong>, wymaga jednorodnego środowiska chemicznego wody (pH), by nie korodować, a jej montaż w wylewce jest trudniejszy (elastyczność, łączność). W systemach wielomateriałowych może dojść do korozji galwanicznej.</li>



<li><strong>vs. Rury stalowe (np. miękkie, karbowane):</strong>&nbsp;Doskonała bariera dla tlenu, wytrzymałość. Są jednak&nbsp;<strong>cięższe, mniej elastyczne, podatne na korozję przy nieodpowiedniej wodzie</strong>&nbsp;i&nbsp;<strong>znacznie droższe</strong>&nbsp;zarówno w materiale, jak i montażu.</li>
</ul>



<p class="wp-block-paragraph">Podsumowując,&nbsp;<strong>rura wielowarstwowa PEX-EVOH</strong>&nbsp;oferuje unikalny kompromis:&nbsp;<strong>nieprzepuszczalność tlenu jak metal, elastyczność i łatwość montażu jak tworzywo, a przy tym konkurencyjną cenę i potwierdzoną żywotność</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-1769416692438"><strong class="schema-faq-question"><strong>Dlaczego rura z barierą antydyfuzyjną (EVOH) jest tak ważna w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Ponieważ skutecznie blokuje przenikanie tlenu do wody instalacyjnej, co zapobiega korozji kotła, pomp i armatury oraz powstawaniu szlamu.</p> </div> <div class="schema-faq-section" id="faq-question-1769416702181"><strong class="schema-faq-question"><strong>Czy można stosować rury bez EVOH w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Teoretycznie tak, ale wyłącznie w ściśle kontrolowanych systemach z inhibitorami korozji. W praktyce zwiększa to ryzyko awarii i spadku sprawności.</p> </div> <div class="schema-faq-section" id="faq-question-1769416713942"><strong class="schema-faq-question"><strong>Jaka jest różnica między PEX-a, PEX-b a PE-RT z EVOH?</strong></strong> <p class="schema-faq-answer">PEX-a ma najlepszą pamięć kształtu, PEX-b jest najbardziej popularny i trwały, a PE-RT oferuje dużą elastyczność. Wszystkie w połączeniu z EVOH są bezpieczne dla podłogówki.</p> </div> <div class="schema-faq-section" id="faq-question-1769416728461"><strong class="schema-faq-question"><strong>Czy warstwa EVOH wpływa na oddawanie ciepła przez rurę?</strong></strong> <p class="schema-faq-answer">Nie w istotnym stopniu. Warstwa EVOH jest bardzo cienka, a współczynnik przewodzenia ciepła całej rury pozostaje korzystny dla ogrzewania podłogowego.</p> </div> <div class="schema-faq-section" id="faq-question-1769416813103"><strong class="schema-faq-question"><strong>Czy rura EVOH wystarczy, aby instalacja była trwała?</strong></strong> <p class="schema-faq-answer">Nie. Rura jest fundamentem, ale kluczowe są również poprawny projekt ogrzewania podłogowego, odpowiednie długości pętli i staranny montaż.</p> </div> </div>



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



<p class="wp-block-paragraph">Decyzja o zastosowaniu&nbsp;<strong>rury z barierą antydyfuzyjną (EVOH) w wodnym ogrzewaniu podłogowym</strong>&nbsp;jest decyzją o ochronie najdroższych elementów systemu grzewczego: kotła, pompy i armatury. To nie wydatek, a&nbsp;<strong>ubezpieczenie</strong>&nbsp;na dziesiątki lat eksploatacji. Dzięki niej zyskujemy system, który:</p>



<ul class="wp-block-list">
<li><strong>Pracuje cicho i stabilnie</strong>, równomiernie oddając ciepło.</li>



<li><strong>Jest energooszczędny</strong>, ponieważ nie marnuje mocy na pokonywanie oporów zarastającej instalacji.</li>



<li><strong>Minimalizuje ryzyko awarii</strong>&nbsp;i kosztownych napraw.</li>



<li><strong>Zachowuje wysoką sprawność</strong>&nbsp;przez cały okres użytkowania.</li>
</ul>



<p class="wp-block-paragraph">Wybierając konkretny produkt, zwracaj uwagę na certyfikaty (np. atest higieniczny, zgodność z normą PN-EN ISO 21003), renomę producenta i jasno określone parametry techniczne. Pamiętaj, że kluczem do sukcesu jest&nbsp;<strong>profesjonalny projekt i staranny montaż</strong>&nbsp;– tylko wtedy potencjał drzemiący w tej zaawansowanej technologii zostanie w pełni wykorzystany.</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="nfkzqGFnxU"><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=zQozIOMH2q#?secret=nfkzqGFnxU" data-secret="nfkzqGFnxU" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">Rura z barierą antydyfuzyjną (EVOH).</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rozstaw rur w wodnym ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 25 Jan 2026 08:32:32 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Projekty techniczne]]></category>
		<category><![CDATA[Rodzaje rur grzewczych]]></category>
		<category><![CDATA[Rozstaw rur ogrzewania]]></category>
		<category><![CDATA[Rozstaw rur podłogówki]]></category>
		<category><![CDATA[Rozstaw rur w podłogówce]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[delta t]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[moc ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3301</guid>

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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

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

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

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

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

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

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

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

<tbody>

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

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

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

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

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

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



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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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



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



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



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



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

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

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

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

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

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

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

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

<div class="chart-container">

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

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

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

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

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

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

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

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

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

</svg>

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

</div>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="InOHZNCO2a"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=B0gffQFdTM#?secret=InOHZNCO2a" data-secret="InOHZNCO2a" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Rozstaw rur w wodnym ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rura PEX do ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 03 Mar 2025 10:56:05 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Nowoczesne materiały budowlane]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Rura PEX]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[Systemy rurowe]]></category>
		<category><![CDATA[Technologie budowlane]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pex-a]]></category>
		<category><![CDATA[pex-b]]></category>
		<category><![CDATA[pex-c]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[rura pex]]></category>
		<category><![CDATA[system rurowy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2314</guid>

					<description><![CDATA[<p>Rura PEX do ogrzewania podłogowego to jedno z najczęściej stosowanych rozwiązań w nowoczesnych systemach grzewczych. Dzięki odporności na wysokie temperatury, elastyczności oraz długiej żywotności, PEX jest wyborem numer jeden zarówno dla domów jednorodzinnych, jak i większych budynków użytkowych. W artykule omawiamy zalety tego materiału, porównujemy różne rodzaje PEX (PE-Xa, PE-Xb, PE-Xc), a także doradzamy, jak dobrać odpowiednie rury do projektu ogrzewania podłogowego. Przedstawiamy również koszty inwestycji oraz możliwe oszczędności, jakie można osiągnąć dzięki tej technologii.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">Rura PEX do 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>Rura PEX do ogrzewania podłogowego</strong> to obecnie jeden z najpopularniejszych materiałów stosowanych w nowoczesnych instalacjach grzewczych. Dzięki swojej wyjątkowej odporności na wysokie temperatury oraz uszkodzenia mechaniczne, usieciowany polietylen (PEX) stał się synonimem trwałości i efektywności. W tym artykule przyjrzymy się, dlaczego warto postawić na ten materiał, jak projektować systemy z jego wykorzystaniem oraz jakie korzyści finansowe i eksploatacyjne możesz odnieść.</p>



<h2 class="wp-block-heading">Zalety rur PEX w systemach podłogowych.</h2>



<h3 class="wp-block-heading"><em>Odporność na ekstremalne temperatury – klucz do bezpieczeństwa</em>.</h3>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">Rury do ogrzewania podłogowego</a> PEX zachowują stabilność nawet przy temperaturach do <strong>95°C</strong>, co znacznie przekracza typowe potrzeby ogrzewania podłogowego (zwykle 35–55°C). Dzięki temu:</p>



<ul class="wp-block-list">
<li>Ryzyko przegrzania jest minimalne.</li>



<li>Materiał nie odkształca się, nawet przy długotrwałym kontakcie z gorącą wodą.</li>



<li>Idealnie sprawdza się w połączeniu z pompą ciepła lub kotłem kondensacyjnym.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład:</strong>&nbsp;W domach z niskotemperaturowymi źródłami ciepła (np. pompy ciepła) PEX gwarantuje równomierny rozkład temperatury bez ryzyka uszkodzenia instalacji.</p>



<h3 class="wp-block-heading"><em>Wytrzymałość mechaniczna – ochrona przed pęknięciami i korozją</em>.</h3>



<p class="wp-block-paragraph">W przeciwieństwie do rur metalowych, PEX:</p>



<ul class="wp-block-list">
<li>Nie koroduje, nawet po latach kontaktu z wodą.</li>



<li>Jest odporny na uderzenia i ścieranie dzięki elastycznej strukturze.</li>



<li>Nie wymaga konserwacji, co obniża koszty eksploatacji.</li>
</ul>



<p class="wp-block-paragraph"><strong>Statystyka:</strong>&nbsp;Badania wykazują, że żywotność rur PEX w systemach podłogowych sięga nawet&nbsp;<strong>50 lat</strong>, przy założeniu poprawnego montażu.</p>



<h3 class="wp-block-heading"><em>Elastyczność montażu – oszczędność czasu i pieniędzy</em>.</h3>



<p class="wp-block-paragraph">Rury PEX można giąć pod kątem nawet&nbsp;<strong>90 stopni</strong>&nbsp;bez użycia kształtek, co:</p>



<ul class="wp-block-list">
<li>Zmniejsza liczbę połączeń (mniej punktów potencjalnych awarii).</li>



<li>Przyspiesza instalację – np. w domu 120 m² układanie rur zajmuje ok. <strong>2 dni</strong>.</li>



<li>Umożliwia dopasowanie do nietypowych kształtów pomieszczeń.</li>
</ul>



<h2 class="wp-block-heading">Dane techniczne rur PEX – kluczowe parametry dla efektywnego ogrzewania podłogowego.</h2>



<h3 class="wp-block-heading"><em>Rodzaje usieciowanego polietylenu: PE-Xa, PE-Xb, PE-Xc</em>.</h3>



<ul class="wp-block-list">
<li><strong>PE-Xa</strong>: Sieciowany chemicznie (najwyższa elastyczność, idealny do ciasnych przestrzeni).</li>



<li><strong>PE-Xb</strong>: Sieciowany w procesie silanowym (niższy koszt, wysoka odporność na chlor).</li>



<li><strong>PE-Xc</strong>: Sieciowany promieniowaniem (brak dodatków chemicznych, ekologiczny wybór).</li>
</ul>



<p class="wp-block-paragraph"><strong>Wskazówka:</strong>&nbsp;Do ogrzewania podłogowego najczęściej wybiera się PE-Xa lub PE-Xb ze względu na optymalny stosunek ceny do właściwości.</p>



<h3 class="wp-block-heading"><em>Wytrzymałość mechaniczna i temperatura pracy – co mówią normy?</em></h3>



<p class="wp-block-paragraph"><strong>Rury PEX do ogrzewania podłogowego</strong> muszą spełniać rygorystyczne normy, takie jak <strong><a href="https://projekt-ogrzewania.pl/norma-en-iso-15875/">EN ISO 15875</a></strong> lub <strong>DIN 16892</strong>, które określają ich właściwości eksploatacyjne. Oto najważniejsze parametry techniczne:</p>



<ul class="wp-block-list">
<li><strong>Maksymalna temperatura pracy</strong>: <strong>95°C</strong> (krótkotrwale) i <strong>70°C</strong> (stała praca).</li>



<li><strong>Ciśnienie robocze</strong>: <strong>6–10 bar</strong> w zależności od średnicy i grubości ścianki.</li>



<li><strong>Wytrzymałość na rozciąganie</strong>: <strong>20–25 MPa</strong> – porównywalne z niektórymi stopami metali.</li>



<li><strong>Współczynnik rozszerzalności cieplnej</strong>: <strong>0,15–0,2 mm/m na 10°C</strong> (3–4 razy niższy niż w przypadku PCV).</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład</strong>: Rura PEX o średnicy&nbsp;<strong>16 mm</strong>&nbsp;i grubości ścianki&nbsp;<strong>2 mm</strong>&nbsp;wytrzymuje ciśnienie&nbsp;<strong>10 bar</strong>&nbsp;w temperaturze&nbsp;<strong>70°C</strong>, co jest wartością wystarczającą dla większości systemów podłogowych w domach jednorodzinnych.</p>



<h3 class="wp-block-heading"><em>Średnica i grubość ścianki – jak dobrać je do projektu?</em></h3>



<p class="wp-block-paragraph">Wybór odpowiednich wymiarów rur PEX wpływa na wydajność grzewczą i koszty inwestycji. Najczęściej stosowane warianty to:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th><strong>Średnica zewnętrzna</strong></th><th><strong>Grubość ścianki</strong></th><th><strong>Zastosowanie</strong></th></tr></thead><tbody><tr><td><strong>16 mm</strong></td><td>2,0 mm</td><td>Standardowe pomieszczenia (sypialnie, salony)</td></tr><tr><td><strong>20 mm</strong></td><td>2,3 mm</td><td>Duże powierzchnie lub strefy z wysokimi stratami ciepła</td></tr><tr><td><strong>25 mm</strong></td><td>3,0 mm</td><td>Obiekty przemysłowe lub baseny</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>Wskazówka</strong>: W systemach podłogowych dominują rury&nbsp;<strong>16 mm</strong>&nbsp;i&nbsp;<strong>20 mm</strong>, ponieważ zapewniają optymalny przepływ wody przy minimalnych stratach ciśnienia.</p>



<h3 class="wp-block-heading"><em>Bariera EVOH – dlaczego chroni instalację?</em></h3>



<p class="wp-block-paragraph">Większość rur PEX posiada warstwę&nbsp;<strong>EVOH (etleno-winylowego alkoholu)</strong>, która:</p>



<ul class="wp-block-list">
<li>Zmniejsza dyfuzję tlenu do <strong>0,1 g/m³ na dobę</strong> (dla porównania: rury bez bariery – nawet <strong>10 g/m³</strong>).</li>



<li>Zapobiega korozji elementów metalowych (np. kotłów, zaworów).</li>



<li>Wydłuża żywotność instalacji o <strong>20–30%</strong>.</li>
</ul>



<p class="wp-block-paragraph"><strong>Norma EN ISO 15875</strong>&nbsp;dopuszcza maksymalną przepuszczalność tlenu na poziomie&nbsp;<strong>0,5 g/m³ na dobę</strong>&nbsp;– warto więc wybierać rury z wartościami poniżej tego progu.</p>



<h3 class="wp-block-heading"><em>Klasyfikacja SDR (Standard Dimension Ratio) – co oznacza?</em></h3>



<p class="wp-block-paragraph">Wskaźnik <strong>SDR</strong> określa stosunek średnicy zewnętrznej rury do grubości jej ścianki. Im niższy SDR, tym większa wytrzymałość mechaniczna. Dla <a href="https://projekt-ogrzewania.pl/category/ogrzewanie-podlogowe/">ogrzewania podłogowego</a> rekomendowane są:</p>



<ul class="wp-block-list">
<li><strong>SDR 7,4</strong>: Dla rur <strong>16×2,0 mm</strong> – uniwersalne rozwiązanie.</li>



<li><strong>SDR 9</strong>: Dla rur <strong>20×2,3 mm</strong> – stosowane w systemach wymagających wyższego przepływu.</li>
</ul>



<p class="wp-block-paragraph"><strong>Kalkulacja</strong>: Rura&nbsp;<strong>20×2,3 mm</strong>&nbsp;ma SDR = 20 / 2,3 ≈&nbsp;<strong>8,7</strong>&nbsp;– mieści się w bezpiecznym zakresie dla instalacji podłogowych.</p>



<h3 class="wp-block-heading"><em>Certyfikacje i atesty – na co zwracać uwagę?</em></h3>



<p class="wp-block-paragraph">Przed zakupem rur PEX sprawdź, czy posiadają:</p>



<ul class="wp-block-list">
<li><strong>Atest PZH</strong>: Potwierdza bezpieczeństwo kontaktu z wodą pitną.</li>



<li><strong>Certyfikat DVGW</strong>: Wymagany w instalacjach grzewczych w Niemczech (gwarancja jakości).</li>



<li><strong>Oznaczenie CE</strong>: Spełnienie norm Unii Europejskiej.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład marki</strong>: Rury takich producentów jak Kisan, Rehau, Wawin czy Upnor posiadają wszystkie powyższe certyfikaty i są rekomendowane przez producentów kotłów, takich jak Vaillant czy Viessmann.</p>



<h2 class="wp-block-heading"><strong>Projektowanie ogrzewania podłogowego z rur PEX – krok po kroku</strong>.</h2>



<h3 class="wp-block-heading"><em>Planowanie rozkładu rur – klucz do efektywności</em>.</h3>



<ul class="wp-block-list">
<li><strong>Rozstaw rur</strong>: Optymalna odległość między rurami to <strong>10–25 cm</strong> (w zależności od strat ciepła w pomieszczeniu).</li>



<li><strong>Długość pętli</strong>: Zaleca się, aby jedna pętla nie przekraczała <strong>90–100 m</strong> (zapobiega nierównomiernemu grzaniu).</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład projektu:</strong> Dla domu o powierzchni 150 m² potrzeba ok. <strong>1600–1800 m rur PEX</strong> (przy rozstawie 10 cm).</p>



<h3 class="wp-block-heading"><em>Wybór średnicy rur a wydajność systemu</em>.</h3>



<ul class="wp-block-list">
<li><strong>16 mm</strong>: Standard dla pomieszczeń o średnim zapotrzebowaniu na ciepło.</li>



<li><strong>20 mm</strong>: Stosowane w dużych obiektach lub strefach o wysokich stratach ciepła (np. przeszklone elewacje).</li>
</ul>



<p class="wp-block-paragraph"><strong>Kalkulacja:</strong>&nbsp;W salonie o powierzchni 30 m² z rurami 16 mm i rozstawie 15 cm potrzeba ok.&nbsp;<strong>200 m rur</strong>.</p>



<p class="wp-block-paragraph"><strong>Wskazówka</strong>: Pamiętaj by uwzględnić odpowiednią średnicę rur do ogrzewania podłogowego podczas <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projektowania ogrzewania podłogowego</a>.</p>



<h2 class="wp-block-heading"><strong>Koszty inwestycji vs. oszczędności – ile możesz zyskać?</strong></h2>



<h3 class="wp-block-heading"><em>Porównanie z tradycyjnymi materiałami</em>.</h3>



<ul class="wp-block-list">
<li><strong>PEX vs. miedź</strong>: Koszt materiału jest niższy o <strong>40–60%</strong>, a montaż o <strong>30% szybszy</strong>.</li>



<li><strong>PEX vs. PE-RT</strong>: Rury PEX są droższe o <strong>10–15%</strong>, ale trwalsze o <strong>20–30 lat</strong>.</li>
</ul>



<p class="wp-block-paragraph"><strong>Analiza przypadku:</strong>&nbsp;Dla domu 100 m² inwestycja w PEX to wydatek ok.&nbsp;<strong>8 000–12 000 zł</strong>&nbsp;(w tym materiały i robocizna), ale zwraca się po&nbsp;<strong>5–7 latach</strong>&nbsp;dzięki oszczędności energii.</p>



<h3 class="wp-block-heading"><em>Przykładowe wyliczenia dla domów różnej wielkości</em>.</h3>



<ol start="1" class="wp-block-list">
<li><strong>Dom 80 m²</strong>:
<ul class="wp-block-list">
<li>Długość rur: <strong>600–800 m</strong>.</li>



<li>Koszt materiału: <strong>2500–3000 zł</strong>.</li>



<li>Roczne oszczędności na ogrzewaniu: <strong>15–20%</strong> w porównaniu do grzejników.</li>
</ul>
</li>



<li><strong>Biurowiec 300 m²</strong>:
<ul class="wp-block-list">
<li>Długość rur: <strong>1800 – 2500 m</strong>.</li>



<li>Koszt materiału: <strong>8000 – 12000 zł</strong>.</li>



<li>Redukcja kosztów energii: <strong>25–30%</strong>.</li>
</ul>
</li>
</ol>



<h2 class="wp-block-heading"><strong>FAQ – Najczęściej zadawane pytania o rury PEX do ogrzewania podłogowego</strong>.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1740998259055"><strong class="schema-faq-question"><strong>Czym różnią się rury PEX-a, PEX-b i PEX-c?</strong></strong> <p class="schema-faq-answer">PEX-a jest najbardziej elastyczny, co ułatwia montaż w ciasnych przestrzeniach. PEX-b ma wysoką odporność na chlor, a PEX-c to opcja ekologiczna, sieciowana promieniowaniem.</p> </div> <div class="schema-faq-section" id="faq-question-1740998271752"><strong class="schema-faq-question"><strong>Jaką średnicę rur PEX wybrać do ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Najczęściej stosowane są rury o średnicy 16 mm lub 20 mm. Mniejsze średnice sprawdzają się w standardowych pomieszczeniach, a większe w miejscach o większych stratach ciepła.</p> </div> <div class="schema-faq-section" id="faq-question-1740998282517"><strong class="schema-faq-question"><strong>Czy rury PEX są odporne na korozję?</strong></strong> <p class="schema-faq-answer">Tak, rury PEX nie korodują i są odporne na działanie chemikaliów, co wydłuża ich żywotność w instalacji grzewczej.</p> </div> <div class="schema-faq-section" id="faq-question-1740998294153"><strong class="schema-faq-question"><strong>Jaka jest żywotność rur PEX w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Przy prawidłowym montażu i eksploatacji rury PEX mogą działać nawet 50 lat, co czyni je niezwykle trwałym rozwiązaniem.</p> </div> <div class="schema-faq-section" id="faq-question-1740998330304"><strong class="schema-faq-question"><strong>Czy rury PEX wymagają konserwacji?</strong></strong> <p class="schema-faq-answer">Nie, rury PEX nie wymagają konserwacji, co sprawia, że są praktycznie bezobsługowe i nie generują dodatkowych kosztów eksploatacyjnych.</p> </div> </div>



<h2 class="wp-block-heading"><strong>Podsumowanie: PEX to inwestycja w komfort i oszczędności</strong>.</h2>



<p class="wp-block-paragraph"><strong>Rury PEX do ogrzewania podłogowego</strong>&nbsp;to rozwiązanie, które łączy w sobie technologiczną innowacyjność z ekonomiczną opłacalnością. Niezależnie od tego, czy projektujesz dom jednorodzinny, czy duży obiekt komercyjny, usieciowany polietylen zapewni Ci bezawaryjną pracę instalacji przez dziesięciolecia. Kluczem sukcesu jest jednak współpraca z doświadczonym projektantem, który dobierze optymalny rozstaw rur i uwzględni specyfikę Twojego budynku.</p>



<p class="wp-block-paragraph"><em><strong>Warto pamiętać:</strong> Nawet najlepszy materiał nie zastąpi profesjonalnego montażu – zawsze zatrudniaj certyfikowanych instalatorów!</em></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="LIGQp3iH8r"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">Projekt ogrzewania podłogowego &#8211; do 150 m2</a></blockquote><iframe 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=P91XAQYSIX#?secret=LIGQp3iH8r" data-secret="LIGQp3iH8r" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">Rura PEX do 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/rura-pex-do-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Norma DIN 4726 w ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/norma-din-4726-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 22 Feb 2025 20:01:13 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Normy grzewcze]]></category>
		<category><![CDATA[Normy techniczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[Zapobieganie korozji]]></category>
		<category><![CDATA[bariera antydyfuzyjna]]></category>
		<category><![CDATA[dyfuzja tlenu]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[korozja w instalacjach]]></category>
		<category><![CDATA[norma din 4726]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projektowanie ogrzewania]]></category>
		<category><![CDATA[rury pe-rt]]></category>
		<category><![CDATA[rury pex]]></category>
		<category><![CDATA[trwałość systemu grzewczego]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2284</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe to komfort i efektywność, ale czy wiesz, że niewłaściwe materiały mogą skrócić żywotność całego systemu? Norma DIN 4726 to kluczowy standard, który ogranicza dyfuzję tlenu do 0,1 g/(m³·dzień), chroniąc instalację przed korozją i awariami. Dowiedz się, dlaczego warto wybierać rury z barierą antydyfuzyjną, jak projektować system zgodnie z normą oraz jakie korzyści przynosi jej stosowanie.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/norma-din-4726-w-ogrzewaniu-podlogowym/">Norma DIN 4726 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>Norma DIN 4726</strong> to jeden z najważniejszych standardów w branży ogrzewania podłogowego, szczególnie w kontekście ograniczania dyfuzji tlenu do poziomu <strong>0,1 g/(m³·dzień)</strong>. W artykule wyjaśnimy, dlaczego ten parametr ma kluczowe znaczenie dla trwałości instalacji, jak wybrać materiały zgodne z normą oraz na co zwrócić uwagę podczas projektowania systemu.</p>



<h2 class="wp-block-heading"><strong>Czym jest norma DIN 4726?</strong></h2>



<p class="wp-block-paragraph"><strong>Norma DIN 4726</strong> to niemiecki standard techniczny, który określa wymagania dotyczące <strong><a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur do ogrzewania podłogowego</a> z tworzyw sztucznych</strong> stosowanych w systemach grzewczych, w tym w ogrzewaniu podłogowym. Głównym celem normy jest <strong>minimalizacja przenikania tlenu</strong> do instalacji, co zapobiega korozji elementów metalowych, takich jak kotły czy zawory.</p>



<h3 class="wp-block-heading"><em>Dlaczego ograniczenie dyfuzji tlenu jest aż tak istotne?</em></h3>



<p class="wp-block-paragraph">Tlen w systemie grzewczym działa jak katalizator procesów utleniania. Nawet niewielkie ilości O₂ mogą prowadzić do:</p>



<ul class="wp-block-list">
<li>Korozji rur i łączników,</li>



<li>Powstawania osadów w wymiennikach ciepła,</li>



<li>Spadku efektywności energetycznej systemu.</li>
</ul>



<h2 class="wp-block-heading"><strong>Dyfuzja tlenu w ogrzewaniu podłogowym – ukryte zagrożenie</strong></h2>



<p class="wp-block-paragraph">W przeciwieństwie do tradycyjnych grzejników, <strong><a href="https://projekt-ogrzewania.pl">ogrzewanie podłogowe</a></strong> opiera się na sieci rur zatopionych w wylewce betonowej. Wilgotne środowisko i stały kontakt z wodą grzewczą sprawiają, że <strong>przenikanie tlenu</strong> przez ścianki rur jest nieuniknione. Bez odpowiednich zabezpieczeń, już po kilku latach może dojść do:</p>



<ul class="wp-block-list">
<li>Awarii pompy obiegowej (korozja łopatek),</li>



<li>Zablokowania zaworów termostatycznych,</li>



<li>Kosztownych napraw instalacji.</li>
</ul>



<h2 class="wp-block-heading"><strong>Jak norma DIN 4726 rozwiązuje problem dyfuzji tlenu?</strong></h2>



<p class="wp-block-paragraph">Kluczowym wymogiem normy jest zastosowanie rur z <strong>barierą antydyfuzyjną</strong>, która redukuje przenikanie tlenu do <strong>maksymalnie 0,1 g/(m³·dzień)</strong>. W praktyce osiąga się to poprzez:</p>



<ul class="wp-block-list">
<li>Warstwę EVOH (etleno-alkohol winylowy) w rurach wielowarstwowych,</li>



<li>Dodatkowe powłoki ochronne na zewnątrz rur.</li>
</ul>



<h3 class="wp-block-heading"><em>Materiały zgodne z DIN 4726 – co wybierać?</em></h3>



<p class="wp-block-paragraph">Na rynku dominują trzy typy rur spełniających normę:</p>



<ol class="wp-block-list">
<li><strong>Rury PEX-Al-PEX</strong> – z rdzeniem aluminiowym i warstwą EVOH,</li>



<li><strong>Rury PE-RT</strong> – z wbudowaną barierą antydyfuzyjną,</li>



<li><strong>Rury wielowarstwowe</strong> – łączące zalety tworzyw sztucznych i metali.</li>
</ol>



<h2 class="wp-block-heading"><strong>Obliczenia i praktyczne przykłady – jak sprawdzić zgodność z normą?</strong></h2>



<p class="wp-block-paragraph">Aby zrozumieć, dlaczego <strong>0,1 g/(m³·dzień)</strong> to bezpieczny próg, warto odnieść się do prostych obliczeń.</p>



<h3 class="wp-block-heading"><em>Przykład 1: Straty tlenu w systemie bez bariery</em></h3>



<p class="wp-block-paragraph">Standardowa rura PE-X bez warstwy EVOH ma współczynnik dyfuzji na poziomie <strong>1,5 g/(m³·dzień)</strong>. Dla instalacji o długości 100 m i średnicy 16 mm:</p>



<p class="wp-block-paragraph">Powierzchnia dyfuzji = π × średnica × długość = 3,14 × 0,016 m × 100 m ≈ <strong>5,024 m²</strong><br>Straty tlenu = 1,5 g/(m³·dzień) × 5,024 m² ≈ <strong>7,536 g/dzień</strong></p>



<p class="wp-block-paragraph">To <strong>75 razy więcej</strong> niż dopuszcza DIN 4726!</p>



<h3 class="wp-block-heading"><em>Przykład 2: Rura z barierą EVOH</em></h3>



<p class="wp-block-paragraph">Warstwa EVOH redukuje dyfuzję do <strong>0,08 g/(m³·dzień)</strong>. Dla tych samych parametrów:</p>



<p class="wp-block-paragraph">Straty tlenu = 0,08 g/(m³·dzień) × 5,024 m² ≈ <strong>0,402 g/dzień</strong>.</p>



<p class="wp-block-paragraph">Wartość mieszcząca się w normie.</p>



<h2 class="wp-block-heading"><strong>Projektowanie ogrzewania podłogowego z uwzględnieniem DIN 4726</strong></h2>



<p class="wp-block-paragraph">Wprowadzenie normy do <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projektu ogrzewania podłogowego</a> wymaga współpracy z doświadczonym instalatorem oraz uwzględnienia kilku kluczowych kroków:</p>



<ol class="wp-block-list">
<li><strong>Dobór rur</strong> – sprawdź certyfikaty potwierdzające współczynnik dyfuzji,</li>



<li><strong>Szczelność instalacji</strong> – użyj zacisków stalowych zamiast plastikowych,</li>



<li><strong>Monitorowanie pH wody</strong> – optymalna wartość to 8-9,5, aby spowolnić korozję.</li>
</ol>



<h3 class="wp-block-heading"><em>Case study: Dom jednorodzinny w Krakowie</em></h3>



<p class="wp-block-paragraph">W 2022 roku w jednym z krakowskich domów zastosowano rury PE-RT z barierą EVOH. Po dwóch latach eksploatacji:</p>



<ul class="wp-block-list">
<li>Brak oznak korozji w kotle gazowym,</li>



<li>Spadek ciśnienia w instalacji o zaledwie 0,1 bary (przy dopuszczalnych 0,3).</li>
</ul>



<h2 class="wp-block-heading">FAQ:</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1740252062731"><strong class="schema-faq-question"><strong>Dlaczego norma DIN 4726 jest ważna w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Norma DIN 4726 ogranicza dyfuzję tlenu do 0,1 g/(m³·dzień), co zapobiega korozji elementów metalowych i wydłuża żywotność systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1740252077071"><strong class="schema-faq-question"><strong>Jakie materiały spełniają wymagania DIN 4726?</strong></strong> <p class="schema-faq-answer">Rury z warstwą EVOH, takie jak PEX-Al-PEX, PE-RT oraz rury wielowarstwowe, są zgodne z normą.</p> </div> <div class="schema-faq-section" id="faq-question-1740252192036"><strong class="schema-faq-question"><strong>Jakie są skutki nadmiernej dyfuzji tlenu?</strong></strong> <p class="schema-faq-answer">Nadmiar tlenu prowadzi do korozji kotłów, pomp obiegowych i zaworów, a także spadku efektywności systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1740252201607"><strong class="schema-faq-question"><strong>Czy norma DIN 4726 jest obowiązkowa?</strong></strong> <p class="schema-faq-answer">Nie jest prawnie wymagana, ale jej stosowanie jest zalecane dla zapewnienia trwałości instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1740252217674"><strong class="schema-faq-question"><strong>Jak sprawdzić, czy rury spełniają normę DIN 4726?</strong></strong> <p class="schema-faq-answer">Należy sprawdzić certyfikaty producenta, które potwierdzają współczynnik dyfuzji tlenu na poziomie ≤ 0,1 g/(m³·dzień).</p> </div> </div>



<h2 class="wp-block-heading"><strong>Podsumowanie – dlaczego DIN 4726 to obowiązkowy standard?</strong></h2>



<p class="wp-block-paragraph">Stosowanie <strong>normy DIN 4726</strong> w ogrzewaniu podłogowym to nie tylko kwestia zgodności z przepisami, ale także inwestycja w <strong>bezawaryjność systemu</strong>. Wybór rur z barierą antydyfuzyjną, regularne przeglądy i świadome projektowanie pozwalają uniknąć kosztów sięgających nawet <strong>15-20 tys. zł</strong> za wymianę uszkodzonej instalacji. Pamiętaj – w walce z korozją liczy się prewencja, a nie reakcja!</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="bd8aJjh6r4"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-250-m2/">Projekt ogrzewania podłogowego &#8211; do 250 m2</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt ogrzewania podłogowego &#8211; do 250 m2&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-250-m2/embed/#?secret=wlTpzDjR4N#?secret=bd8aJjh6r4" data-secret="bd8aJjh6r4" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/norma-din-4726-w-ogrzewaniu-podlogowym/">Norma DIN 4726 w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rury do ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 15 Feb 2025 09:45:53 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Montaż ogrzewania podłogowego]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Rodzaje rur grzewczych]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[Wybór materiałów do podłogówki]]></category>
		<category><![CDATA[instalacja ogrzewania podłogowego]]></category>
		<category><![CDATA[montaż rur]]></category>
		<category><![CDATA[ogrzewanie domu]]></category>
		<category><![CDATA[pe-rt]]></category>
		<category><![CDATA[pex]]></category>
		<category><![CDATA[pex-al-pex]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[rury do ogrzewania podłogowego]]></category>
		<category><![CDATA[system grzewczy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2207</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe to inwestycja w komfort i energooszczędność, a kluczowym jego elementem są rury do ogrzewania podłogowego. Ich wybór ma ogromny wpływ na wydajność i trwałość całego systemu. Czy lepiej postawić na rury PEX, PE-RT, a może wielowarstwowe PEX-Al-PEX? Jakie średnice i rozstawy rur zapewnią optymalne ogrzewanie? W tym artykule podpowiadamy, na co zwrócić uwagę przy zakupie oraz jak uniknąć błędów montażowych, by cieszyć się ciepłem w domu przez lata.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">Rury do 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">Ogrzewanie podłogowe to system, który zdobywa coraz większą popularność dzięki komfortowi i energooszczędności. Kluczowym elementem tej instalacji są <strong>rury do ogrzewania podłogowego</strong>, które odpowiadają za równomierne rozprowadzanie ciepła. W tym artykule omówimy, na co zwrócić uwagę przy ich wyborze, jakie materiały sprawdzają się najlepiej oraz jak uniknąć błędów montażowych.</p>



<h2 class="wp-block-heading">Z czego zrobione są  rury do ogrzewania podłogowego?</h2>



<h3 class="wp-block-heading">PEX – elastyczny i trwały lider.</h3>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/"><em>Rury z usieciowanego polietylenu</em> (<strong>PEX</strong>)</a> to <strong>najczęściej wybierany materiał</strong> w systemach wodnego <a href="https://projekt-ogrzewania.pl">ogrzewania podłogowego</a>. Dzielą się na trzy typy:</p>



<ul class="wp-block-list">
<li><strong>PEX-A</strong>: Najbardziej elastyczny, wytrzymały na temperatury do 95°C (krótkotrwale). Idealny do układania w skomplikowanych przestrzeniach.</li>



<li><strong>PEX-B</strong>: Twardszy niż PEX-A, ale tańszy. Wymaga ostrożności przy gięciu.</li>



<li><strong>PEX-Al-PEX</strong>: Wersja wielowarstwowa z aluminium, która minimalizuje dyfuzję tlenu i utrzymuje stabilność kształtu.</li>
</ul>



<p class="wp-block-paragraph"><strong>Zalety PEX</strong>: Odporność na korozję, brak osadzania kamienia, żywotność nawet 50 lat.</p>



<h3 class="wp-block-heading">PE-RT – alternatywa dla tradycyjnych rozwiązań.</h3>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/"><em>Rury z termoutwardzalnego polietylenu</em> (<strong>PE-RT</strong>)</a> to materiał, który łączy elastyczność z wytrzymałością. Znajduje zastosowanie zarówno w systemach <strong>mokrych</strong> (zalewanych betonem), jak i <strong>suchych</strong> (panelowych).</p>



<ul class="wp-block-list">
<li><strong>Temperatura pracy</strong>: Do 70°C, co wystarcza dla większości instalacji niskotemperaturowych.</li>



<li><strong>Atut</strong>: Brak konieczności stosowania warstwy antydyfuzyjnej, jeśli producent zapewnia odpowiednie certyfikaty.</li>
</ul>



<h2 class="wp-block-heading">Średnica i rozstaw rur – jak to wpływa na efektywność?</h2>



<h3 class="wp-block-heading">Wybór średnicy: 16 mm vs. 20 mm</h3>



<p class="wp-block-paragraph">Odpowiednia <strong>średnica <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rur</a></strong> decyduje o wydajności systemu:</p>



<ul class="wp-block-list">
<li><strong>16 mm</strong>: Standard dla pomieszczeń mieszkalnych. Maksymalna długość pętli: 80–100 m.</li>



<li><strong>20 mm</strong>: Stosowana w większych powierzchniach (np. hale przemysłowe) lub tam, gdzie potrzebny jest wyższy przepływ. Długość pętli: do 150 m.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład</strong>: W salonie o powierzchni 30 m² wystarczą rury 16 mm, ale w przestronnym pomieszczeniu biurowym lepiej sprawdzą się 20 mm.</p>



<h3 class="wp-block-heading">Rozstaw rur: od 10 cm do 30 cm</h3>



<p class="wp-block-paragraph">Im mniejszy <strong><a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur</a></strong>, tym wyższa moc grzewcza. Zalecane wartości:</p>



<ul class="wp-block-list">
<li><strong>5–10 cm</strong>: Strefy brzegowe (przy oknach, drzwiach balkonowych).</li>



<li><strong>10-15 cm</strong>: Centralne części pomieszczeń.</li>



<li><strong>15-20 cm</strong>: Pomieszczenia pomocnicze (np. garderoby).</li>



<li><strong>25-30 cm</strong>: Pomieszczenia techniczne (np. garaż).</li>
</ul>



<p class="wp-block-paragraph"><strong>Wskazówka</strong>: W sypialni o powierzchni 15 m², układając rury co 5 cm przy oknie i 10 cm w głębi, uzyskasz równomierny rozkład ciepła.</p>



<h2 class="wp-block-heading">Metody montażu – system mokry czy suchy?</h2>



<h3 class="wp-block-heading">System mokry – tradycyjne, ale skuteczne rozwiązanie</h3>



<p class="wp-block-paragraph">W tej metodzie <strong>rury zatapia się w warstwie jastrychu betonowego</strong>, który pełni rolę akumulatora ciepła.</p>



<ul class="wp-block-list">
<li><strong>Zalety</strong>: Długie utrzymywanie temperatury, redukcja mostków termicznych.</li>



<li><strong>Wady</strong>: Długi czas schnięcia (nawet 21 dni) i większy ciężar podłogi.</li>
</ul>



<p class="wp-block-paragraph"><strong>Dla kogo?</strong> Domy z betonowymi stropami, gdzie nośność konstrukcji nie jest problemem.</p>



<h3 class="wp-block-heading">System suchy – szybki montaż bez bałaganu.</h3>



<p class="wp-block-paragraph"><em>Rury układa się w specjalnych panelach styropianowych lub aluminiowych</em> z wyprofilowanymi kanałami.</p>



<ul class="wp-block-list">
<li><strong>Zalety</strong>: Montaż w 1–2 dni, możliwość od razu kłaść panele lub deski.</li>



<li><strong>Wady</strong>: Niższa bezwładność cieplna (szybsze stygnięcie).</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład zastosowania</strong>: Remonty mieszkań w bloku, gdzie nie ma możliwości wylania grubej warstwy betonu.</p>



<h2 class="wp-block-heading">Na co zwrócić uwagę przy zakupie? Parametry techniczne.</h2>



<h3 class="wp-block-heading">Temperatura i ciśnienie – kluczowe wartości</h3>



<ul class="wp-block-list">
<li><strong>Temperatura pracy</strong>: Optymalnie 35–55°C. Pamiętaj, że wyższe wartości skracają żywotność rur.</li>



<li><strong>Ciśnienie robocze</strong>: Standardowo 1,5–3 bar. Przed oddaniem instalacji przeprowadź <strong>próbę ciśnieniową</strong> (6–8 bar przez 24 godziny).</li>
</ul>



<p class="wp-block-paragraph"><strong>Uwaga!</strong> Rury PEX-Al-PEX lepiej znoszą wahania ciśnienia niż PE-RT.</p>



<h3 class="wp-block-heading">Certyfikaty i normy – gwarancja bezpieczeństwa</h3>



<p class="wp-block-paragraph">Sprawdź, czy produkt spełnia wymagania:</p>



<ul class="wp-block-list">
<li><strong>Norma DIN 4726</strong> – ogranicza dyfuzję tlenu do 0,1 g/(m³·dzień).</li>



<li><strong>EN ISO 15875</strong> – potwierdza jakość rur PEX.</li>



<li><strong>Atest higieniczny</strong> – ważny dla rur mających kontakt z wodą pitną.</li>
</ul>



<h2 class="wp-block-heading">Polecani producenci rur do podłogówki.</h2>



<h3 class="wp-block-heading">KAN – niezawodność od lat.</h3>



<p class="wp-block-paragraph">KAN to polski producent, który od lat dostarcza sprawdzone i nowoczesne rozwiązania w dziedzinie instalacji grzewczych. Ich <strong>rury Therm</strong>, wykonane z wysokiej jakości PE-RT, są odporne na działanie wysokich temperatur i ciśnienia, co sprawia, że idealnie sprawdzają się w systemach ogrzewania podłogowego. Firma oferuje także <strong>rozdzielacze, złączki oraz inne akcesoria</strong>, które zapewniają kompleksowe rozwiązania dla instalatorów.</p>



<h3 class="wp-block-heading">Kisan – polska jakość w przystępnej cenie.</h3>



<p class="wp-block-paragraph">Kisan to jeden z liderów na rynku polskim, oferujący <strong>rury PE-RT oraz PEX</strong> o doskonałej jakości. Produkty tej marki wyróżniają się <strong>wytrzymałością, elastycznością oraz łatwością montażu</strong>, co sprawia, że są często wybierane przez instalatorów. Kisan oferuje także <strong>kompleksowe rozwiązania dla systemów ogrzewania podłogowego</strong>, w tym <strong>rozdzielacze i akcesoria montażowe</strong>, umożliwiające szybki i efektywny montaż instalacji.</p>



<h3 class="wp-block-heading">Rehau – niemiecka precyzja.</h3>



<p class="wp-block-paragraph">Rehau to renomowana niemiecka marka, której flagowym produktem są <strong>rury Rautherm S</strong> wykonane w technologii <strong>PEX-Al-PEX</strong>. Dzięki warstwie aluminiowej minimalizują one straty ciepła i zapewniają wysoką odporność na zmiany temperatury. Systemy Rehau są stosowane w budownictwie mieszkaniowym, komercyjnym i przemysłowym, gwarantując najwyższą jakość i niezawodność.</p>



<h3 class="wp-block-heading">Tweetop – nowoczesne rozwiązania dla wymagających.</h3>



<p class="wp-block-paragraph">Tweetop to kolejny polski producent, który oferuje nowoczesne systemy rur do ogrzewania podłogowego. Ich <strong>rury PERT-Al-PERT oraz PEX-B</strong> wyróżniają się <strong>wysoką elastycznością, odpornością na korozję oraz doskonałymi właściwościami termicznymi</strong>. Dzięki zastosowaniu warstwy antydyfuzyjnej EVOH, systemy Tweetop skutecznie zapobiegają przenikaniu tlenu do instalacji, co wydłuża ich żywotność i zwiększa efektywność grzewczą. Firma dostarcza również <strong>rozdzielacze oraz systemy montażowe</strong>, co pozwala na szybkie i bezproblemowe tworzenie instalacji.</p>



<h3 class="wp-block-heading">Uponor – innowacje w każdym detalu.</h3>



<p class="wp-block-paragraph">Uponor to fińska marka z wieloletnią tradycją, słynąca z nowoczesnych rozwiązań w dziedzinie systemów grzewczych i sanitarnych. Ich <strong>rury SmartPEX</strong> z powłoką antydyfuzyjną EVOH zapobiegają przenikaniu tlenu do instalacji, co chroni system przed korozją. Cechują się łatwością montażu oraz <strong>50-letnią gwarancją</strong>, co stanowi dowód ich trwałości i niezawodności.</p>



<h3 class="wp-block-heading">Viega – technologia na najwyższym poziomie.</h3>



<p class="wp-block-paragraph">Viega to niemiecka marka znana na całym świecie z innowacyjnych technologii w instalacjach wodnych i grzewczych. Ich <strong>rury PEX Comfort</strong> z warstwą antydyfuzyjną EVOH zapewniają wysoką odporność na działanie temperatury i ciśnienia, a także minimalizują ryzyko korozji w instalacji. Viega oferuje również <strong>systemy zaprasowywane</strong>, które umożliwiają szybki i bezpieczny montaż bez użycia lutowania.</p>



<h2 class="wp-block-heading">Praktyczne porady przed montażem.</h2>



<h3 class="wp-block-heading">Unikaj błędów w układaniu rur.</h3>



<ul class="wp-block-list">
<li><strong>Minimalny promień gięcia</strong>: 5 × średnica rury (np. dla 16 mm to 8 cm).</li>



<li><strong><a href="https://projekt-ogrzewania.pl/kategoria-produktu/rozdzielacze-do-ogrzewania-podlogowego/">Rozdzielacze</a> z regulacją przepływu</strong>: Umożliwiają dostrojenie każdej pętli osobno.</li>



<li><strong>Izolacja termiczna</strong>: Użyj <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">styropianu EPS 100 z folią odblaskową</a> pod rurami.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład</strong>: Jeśli zapomnisz o izolacji, nawet 30% ciepła może uciekać w strop.</p>



<h3 class="wp-block-heading">Konsultacja z projektantem – dlaczego warto?</h3>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/kontakt/">Profesjonalista</a> obliczy:</p>



<ul class="wp-block-list">
<li><strong>Straty ciepła</strong> w pomieszczeniu.</li>



<li><strong>Długość pętli</strong> dla równomiernego grzania.</li>



<li><strong>Rodzaj podłogi</strong> (np. panele vs. terakota mają różną przewodność cieplną).</li>
</ul>



<p class="wp-block-paragraph"><strong>Przypadek z życia</strong>: Klient w Warszawie zaoszczędził 20% na rachunkach, dostosowując rozstaw rur do typu parkietu.</p>



<h2 class="wp-block-heading">FAQ:</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1739611328667"><strong class="schema-faq-question"><strong>Jakie rury do ogrzewania podłogowego są najlepsze?</strong></strong> <p class="schema-faq-answer">Najczęściej wybierane są rury PEX oraz PE-RT. PEX-A cechuje się dużą elastycznością, natomiast PE-RT jest łatwiejszy w montażu i nie wymaga warstwy antydyfuzyjnej.</p> </div> <div class="schema-faq-section" id="faq-question-1739611340381"><strong class="schema-faq-question"><strong>Jaką średnicę rur wybrać do ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Standardowo stosuje się rury o średnicy 16 mm dla pomieszczeń mieszkalnych, natomiast 20 mm dla większych powierzchni, np. hal produkcyjnych.</p> </div> <div class="schema-faq-section" id="faq-question-1739611357691"><strong class="schema-faq-question"><strong>Jaki rozstaw rur zapewnia najlepszą wydajność grzewczą?</strong></strong> <p class="schema-faq-answer">W pomieszczeniach mieszkalnych zaleca się rozstaw 10-15 cm, natomiast w strefach brzegowych przy oknach warto zastosować 5-10 cm.</p> </div> <div class="schema-faq-section" id="faq-question-1739611372193"><strong class="schema-faq-question"><strong>Czy można łączyć różne rodzaje rur w jednym systemie?</strong></strong> <p class="schema-faq-answer">Nie jest to zalecane, ponieważ każda rura ma inne właściwości termiczne i różne reakcje na temperaturę oraz ciśnienie, co może wpłynąć na trwałość instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1739611394876"><strong class="schema-faq-question"><strong>Jak uniknąć błędów montażowych przy układaniu rur?</strong></strong> <p class="schema-faq-answer">Ważne jest zachowanie minimalnego promienia gięcia, odpowiednie mocowanie rur oraz przeprowadzenie próby szczelności przed zalaniem jastrychem.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie: Postaw na sprawdzone rozwiązania.</h2>



<p class="wp-block-paragraph">Wybór <strong>rur do ogrzewania podłogowego</strong> to inwestycja na lata. Materiał, średnica i sposób montażu mają kluczowe znaczenie dla efektywności systemu. Pamiętaj, że nawet najlepsze rury nie zastąpią profesjonalnego projektu – współpraca z doświadczonym instalatorem to podstawa sukcesu.</p>



<p class="wp-block-paragraph"><strong>Gotowy na ciepłą podłogę?</strong> Zastosuj nasze wskazówki i ciesz się komfortem każdej zimy!</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="WlaLN6EJg8"><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=Rd6FSRSB5z#?secret=WlaLN6EJg8" data-secret="WlaLN6EJg8" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">Rury do 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/rury-do-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Rozstaw rur w ogrzewaniu podłogowym co 10 czy 15 cm?</title>
		<link>https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 07 Feb 2025 18:50:05 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Energooszczędność]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[kocioł gazowy]]></category>
		<category><![CDATA[moc grzewcza]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłoga]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[remont]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2117</guid>

					<description><![CDATA[<p>Planujesz montaż ogrzewania podłogowego i zastanawiasz się, jaki rozstaw rur wybrać – 10 cm czy 15 cm? To kluczowa decyzja, która wpływa na komfort cieplny, koszty instalacji i efektywność systemu. W naszym artykule znajdziesz praktyczne porady, przykłady obliczeniowe oraz wskazówki, jak dopasować rozstaw do rodzaju pomieszczenia, źródła ciepła i wykończenia podłogi. Dowiesz się także, dlaczego w niektórych przypadkach warto postawić na gęstsze układanie rur, a w innych – na standardowy rozstaw. Sprawdź, jak uniknąć błędów i cieszyć się ciepłem w swoim domu!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">Rozstaw rur w ogrzewaniu podłogowym co 10 czy 15 cm?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

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

/* Subtelne tło dekoracyjne */
.premium-hero-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(37,99,235,0.05) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    transform: translate(30%, -30%);
    z-index: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Rozstaw rur w ogrzewaniu podłogowym: co 10 czy 15 cm?",
  "description": "Rozstaw rur w ogrzewaniu podłogowym to kluczowy wybór, który bezpośrednio wpływa na komfort cieplny, koszty instalacji i efektywność całego systemu. Dowiedz się, co wybrać.",
  "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">
            <span>📏</span> Kompletny Poradnik Instalatora
        </div>
        
        <h1 style="margin-top:0; margin-bottom: 20px; font-size: 32px; font-weight: 900;">Rozstaw rur w ogrzewaniu podłogowym: co 10 czy 15 cm?</h1>
        
        <p class="hero-text"><strong>Rozstaw rur w ogrzewaniu podłogowym</strong> to kluczowy wybór, który bezpośrednio wpływa na komfort cieplny, koszty instalacji i efektywność całego systemu. Czy zawsze gęściej znaczy lepiej?</p>
        
        <p class="hero-text">Odpowiedź nie jest jednoznaczna – optymalny rozstaw zależy od typu pomieszczenia, zastosowanego źródła ciepła (np. pompa ciepła czy kocioł gazowy), a nawet rodzaju posadzki. W tym artykule wyjaśnimy, jak podjąć najlepszą decyzję, opierając się na praktycznych przykładach i twardych obliczeniach inżynierskich.</p>

        <div class="hero-modules-title">O czym przeczytasz w tym opracowaniu?</div>
        
        <div class="hero-grid">
            <div class="hero-card">
                <span class="hero-card-icon">🔍</span>
                <span class="hero-card-title">4 kluczowe czynniki wyboru</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">⚖️</span>
                <span class="hero-card-title">Porównanie 10 cm vs 15 cm</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🛠️</span>
                <span class="hero-card-title">Instrukcja Krok po Kroku</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">❓</span>
                <span class="hero-card-title">Najczęstsze pytania (FAQ)</span>
            </div>
        </div>

    </div>
</div>

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Wyróżnienia kolorystyczne dla konkretnych kart */
.card-heat .factor-example { border-left-color: var(--danger); }
.card-iso .factor-example { border-left-color: var(--success); }
.card-source .factor-example { border-left-color: var(--accent); }
.card-power .factor-example { border-left-color: var(--warning); }

@media (max-width: 900px) {
    .hero-content { padding: 40px 30px; }
    .hero-title { font-size: 28px; }
    .factors-grid { grid-template-columns: 1fr; gap: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Rozstaw rur w ogrzewaniu podłogowym: co 10 czy 15 cm?",
    "description": "Poradnik instalatora wyjaśniający od czego zależy optymalny rozstaw rur w ogrzewaniu podłogowym. Analiza strat ciepła, źródła ogrzewania i wylewki.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Parametry doboru rozstawu rur ogrzewania podłogowego",
    "description": "Zestawienie wskaźników zapotrzebowania na ciepło (W/m²) i orientacyjnej mocy grzewczej dla wylewki cementowej przy różnych temperaturach zasilania.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Zapotrzebowanie dla domu pasywnego",
        "value": "15-30",
        "unitText": "W/m²",
        "description": "Zalecany rozstaw: 15 cm"
      },
      {
        "@type": "PropertyValue",
        "name": "Zapotrzebowanie dla domu energooszczędnego",
        "value": "40-70",
        "unitText": "W/m²",
        "description": "Zalecany rozstaw: 10 lub 15 cm"
      },
      {
        "@type": "PropertyValue",
        "name": "Zapotrzebowanie dla starego domu",
        "value": "80-120",
        "unitText": "W/m²",
        "description": "Zalecany rozstaw: 10 cm"
      },
      {
        "@type": "PropertyValue",
        "name": "Moc przy rozstawie 10 cm (Zasilanie 30-35°C)",
        "value": "60-80",
        "unitText": "W/m²"
      },
      {
        "@type": "PropertyValue",
        "name": "Moc przy rozstawie 15 cm (Zasilanie 40-45°C)",
        "value": "50-70",
        "unitText": "W/m²"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-intro-module premium-protected" id="intro-hero-app">
    
    <div class="premium-hero-box">
        <div class="hero-content">
            <div class="hero-badge">
                <span>📏</span> Poradnik Instalatora
            </div>
            
            <h1 class="hero-title">Rozstaw rur w ogrzewaniu podłogowym: co 10 czy 15 cm?</h1>
            
            <p class="hero-text"><strong>Rozstaw rur w ogrzewaniu podłogowym</strong> to jedna z najważniejszych decyzji na etapie projektowania instalacji. To od tego parametru zależy Twój przyszły komfort cieplny, wysokość rachunków za ogrzewanie oraz całkowity koszt zakupu materiałów.</p>
            
            <p class="hero-text">Pytanie brzmi: <em>czy zawsze gęściej znaczy lepiej?</em> Czy układanie rur co 10 centymetrów to gwarancja ciepłego domu, czy może niepotrzebne przewymiarowanie i wyrzucanie pieniędzy w błoto?</p>
            
            <p class="hero-text">Odpowiedź nie jest jednoznaczna i zależy od konkretnego przypadku: typu pomieszczenia, zastosowanego źródła ciepła (pompa ciepła vs kocioł gazowy), a nawet materiału, z którego wykonasz ostateczną posadzkę. W tym artykule przeprowadzimy Cię przez proces decyzyjny, opierając się na twardych danych inżynierskich i praktycznych wyliczeniach.</p>
        </div>
    </div>

    <div class="factors-section">
        <div class="factors-header">
            <h2>Od czego zależy optymalny rozstaw rur?</h2>
            <p>Zanim podejmiesz decyzję lub zaakceptujesz wycenę instalatora, koniecznie przeanalizuj te cztery fundamenty wydajnej instalacji grzewczej.</p>
        </div>
        
        <div class="factors-grid">
            
            <div class="factor-card card-heat">
                <div class="factor-icon">🏠</div>
                <h4>1. Rodzaj pomieszczenia i lokalne straty ciepła</h4>
                <p>Nie każde pomieszczenie w domu traci ciepło w takim samym tempie. Przestrzenie z dużymi przeszkleniami (salon, ogród zimowy) oraz pomieszczenia o podwyższonej temperaturze projektowej (np. łazienki, gdzie chcemy mieć 24°C) wymagają <strong>gęstszego układania rur (zazwyczaj co 10 cm)</strong>, aby podłoga mogła oddać więcej energii w krótszym czasie.</p>
                <div class="factor-example">
                    <strong>Przykład z praktyki:</strong>
                    W łazience o powierzchni 10 m², przy zasilaniu 35°C, rozstaw rur <strong>10 cm</strong> wygeneruje moc ok. 70–90 W/m². Jeśli zastosujesz tam rozstaw <strong>15 cm</strong>, moc spadnie do 50–60 W/m², co przy siarczystych mrozach doprowadzi do niedogrzania pomieszczenia.
                </div>
            </div>

            <div class="factor-card card-iso">
                <div class="factor-icon">🧱</div>
                <h4>2. Izolacja termiczna budynku (Standard energetyczny)</h4>
                <p>W słabo zaizolowanych domach, np. z lat 90-tych poddawanych termomodernizacji, budynek szybko traci zgromadzone ciepło. Tam rozstaw 10 cm jest często jedynym ratunkiem. W nowoczesnym, szczelnym budownictwie, pakowanie rur tak gęsto jest po prostu nieuzasadnione ekonomicznie.</p>
                <div class="factor-example">
                    <strong>Zapotrzebowanie na ciepło (Q):</strong>
                    • Dom pasywny (15–30 W/m²) → Wystarczy <strong>rozstaw 15 cm</strong>.<br>
                    • Dom energooszczędny (40–70 W/m²) → Rozstaw <strong>10 lub 15 cm</strong> (zależnie od posadzki).<br>
                    • Stary dom (80–120 W/m²) → Wymagany <strong>rozstaw 10 cm</strong>.
                </div>
            </div>

            <div class="factor-card card-source">
                <div class="factor-icon">⚡</div>
                <h4>3. Rodzaj zastosowanego źródła ciepła</h4>
                <p>To, czy dom ogrzewa nowoczesna pompa ciepła, kocioł na pellet czy kondensacyjny kocioł gazowy, drastycznie zmienia podejście do projektu. Pompy ciepła osiągają najwyższą sprawność (COP) przy bardzo niskich temperaturach zasilania (np. 30-35°C). Aby przy tak letniej wodzie ogrzać dom, rury muszą leżeć gęściej.</p>
                <div class="factor-example">
                    <strong>Dlaczego pojemność ma znaczenie?</strong>
                    Mniejszy rozstaw (co 10 cm) to kilkadziesiąt metrów rury więcej w instalacji. Zwiększa to pojemność wodną (zład) całego układu, co bezpośrednio stabilizuje i wydłuża cykle pracy sprężarki w pompie ciepła, zmniejszając jej zużycie.
                </div>
            </div>

            <div class="factor-card card-power">
                <div class="factor-icon">📊</div>
                <h4>4. Finalna oczekiwana moc grzewcza</h4>
                <p>Im większa moc w Watach potrzebna jest do zrównoważenia strat chłodu w danym metrze kwadratowym, tym gęstsza musi być &#8222;siatka&#8221; rur grzewczych. Gęstszy rozstaw pozwala na transport większej ilości energii na danej powierzchni podłogi.</p>
                <div class="factor-example" style="padding: 12px 15px;">
                    <strong>Orientacyjne moce dla wylewki cementowej:</strong><br><br>
                    <div style="display:flex; justify-content:space-between; border-bottom:1px solid #cbd5e1; padding-bottom:5px; margin-bottom:5px;">
                        <span><strong>Rozstaw rur</strong></span><span><strong>Temp. Zasilania</strong></span><span><strong>Moc</strong></span>
                    </div>
                    <div style="display:flex; justify-content:space-between; padding-bottom:3px;">
                        <span>co 10 cm</span><span>30–35°C</span><span style="color:var(--danger); font-weight:800;">60–80 W/m²</span>
                    </div>
                    <div style="display:flex; justify-content:space-between;">
                        <span>co 15 cm</span><span>40–45°C</span><span style="color:var(--warning); font-weight:800;">50–70 W/m²</span>
                    </div>
                </div>
            </div>

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

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



<style>
/* STYLE DLA TABELI PORÓWNAWCZEJ I CASE STUDY */
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

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

.compare-header {
    padding: 40px 40px 20px 40px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    text-align: center;
}

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

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

/* TABELA */
.table-container {
    padding: 20px 40px;
    overflow-x: auto;
}

.styled-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.styled-table th,
.styled-table td {
    padding: 18px 20px;
    text-align: left;
    border-bottom: 1px solid #f1f5f9;
}

.styled-table th {
    background-color: var(--bg-light);
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    width: 33.33%;
}

.styled-table th.col-10cm {
    color: var(--accent);
    border-bottom: 3px solid var(--accent);
}

.styled-table th.col-15cm {
    color: var(--success);
    border-bottom: 3px solid var(--success);
}

.styled-table td {
    font-size: 15px;
    color: #334155;
    line-height: 1.6;
}

.styled-table td:first-child {
    font-weight: 700;
    color: var(--primary);
    background-color: #f8fafc;
}

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

.styled-table td strong {
    color: var(--primary);
}

/* CASE STUDY */
.case-study-container {
    padding: 20px 40px 40px 40px;
    background: #ffffff;
}

.case-study-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
}

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

.case-card {
    background: var(--bg-light);
    border-radius: 16px;
    padding: 25px;
    border: 1px solid #e2e8f0;
    position: relative;
    overflow: hidden;
}

.case-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
}

.case-card.case-10cm::before { background: var(--accent); }
.case-card.case-15cm::before { background: var(--success); }

.case-card h5 {
    margin: 0 0 15px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
}

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

.power-result {
    background: #ffffff;
    padding: 15px;
    border-radius: 10px;
    margin-top: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.power-result span {
    display: block;
    font-size: 13px;
    color: #64748b;
    margin-bottom: 5px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.power-result strong {
    font-size: 20px;
    font-weight: 900;
    color: var(--primary);
}

.case-conclusion {
    margin-top: 15px;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 15px;
    border-radius: 8px;
    font-style: italic;
}

.case-conclusion.warning { background: #fffbeb; color: #b45309; }
.case-conclusion.ok { background: #f0fdf4; color: #15803d; }

@media (max-width: 768px) {
    .compare-header { padding: 30px 20px; }
    .table-container { padding: 10px 20px; }
    .styled-table th, .styled-table td { padding: 15px; font-size: 14px; }
    .case-study-container { padding: 20px; }
    .case-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "Porównanie rozstawu rur 10 cm vs 15 cm",
  "description": "Szczegółowe zestawienie parametrów, zalet i rekomendowanych zastosowań dla dwóch głównych systemów rozstawu rur w ogrzewaniu podłogowym, wsparte obliczeniami case study.",
  "license": "https://projekt-ogrzewania.pl/",
  "variableMeasured": [
    {
      "@type": "PropertyValue",
      "name": "Rekomendowane zastosowanie dla 10 cm",
      "value": "Pomieszczenia z dużymi stratami (łazienki), pompy ciepła, posadzki drewniane."
    },
    {
      "@type": "PropertyValue",
      "name": "Rekomendowane zastosowanie dla 15 cm",
      "value": "Nowoczesne domy, kotły gazowe (wyższa temperatura), płytki ceramiczne."
    },
    {
      "@type": "PropertyValue",
      "name": "Wydajność 10 cm przy zasilaniu 40°C",
      "value": "100 W/m²"
    },
    {
      "@type": "PropertyValue",
      "name": "Wydajność 15 cm przy zasilaniu 40°C",
      "value": "70 W/m²"
    }
  ],
  "creator": {
    "@type": "Person",
    "name": "Robert Kucharski"
  }
}
</script>

<div class="premium-compare-module premium-protected" id="compare-table-app">
    
    <div class="compare-header">
        <h3>Rozstaw 10 cm vs 15 cm – Zestawienie Parametrów</h3>
        <p>Poniżej rozbijamy obie opcje na czynniki pierwsze, aby maksymalnie ułatwić Ci podjęcie właściwej decyzji projektowej.</p>
    </div>

    <div class="table-container">
        <table class="styled-table">
            <thead>
                <tr>
                    <th>Parametr / Kryterium</th>
                    <th class="col-10cm">Gęsty rozstaw (co 10 cm)</th>
                    <th class="col-15cm">Standardowy rozstaw (co 15 cm)</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>Najlepsze zastosowanie</td>
                    <td><strong>Pomieszczenia z dużymi stratami</strong> (łazienki, ogrody zimowe, stare budownictwo).</td>
                    <td><strong>Domy nowoczesne</strong>, dobrze i bardzo dobrze izolowane.</td>
                </tr>
                <tr>
                    <td>Idealne źródło ciepła</td>
                    <td><strong>Niskotemperaturowe</strong> (pompy ciepła, kotły na biomasę).</td>
                    <td><strong>Wyższotemperaturowe</strong> (systemy gazowe i kondensacyjne: 50-55°C).</td>
                </tr>
                <tr>
                    <td>Rekomendowana posadzka</td>
                    <td><strong>Drewno, panele laminowane</strong> (wymagają przebicia się przez większy opór cieplny).</td>
                    <td><strong>Płytki ceramiczne, kamień</strong> (doskonale przewodzą ciepło, więc rzadziej układane rury wystarczą).</td>
                </tr>
                <tr>
                    <td>Zalety dodatkowe</td>
                    <td>Niższa temperatura zasilania = niższe rachunki za ogrzewanie pompą ciepła.</td>
                    <td>Mniejsze zużycie rur i materiałów, niższy opór hydrauliczny układu.</td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="case-study-container">
        <div class="case-study-title">
            <span>📊</span> Studia Przypadków (Obliczenia z praktyki)
        </div>
        
        <div class="case-grid">
            
            <div class="case-card case-10cm">
                <h5>Salon 20 m² z Pompą Ciepła (40°C)</h5>
                <p>Ogrzewanie niskotemperaturowe. Potrzebujemy dostarczyć wystarczająco dużo mocy, aby zrekompensować mrozy rzędu -20°C.</p>
                
                <div class="power-result">
                    <span>Rozstaw 10 cm:</span>
                    Maksymalna moc: <strong>100 W/m²</strong><br>
                    Całkowita moc w salonie: <strong>2000 W</strong>
                </div>
                
                <div class="power-result">
                    <span>Rozstaw 15 cm:</span>
                    Maksymalna moc: <strong>70 W/m²</strong><br>
                    Całkowita moc w salonie: <strong>1400 W</strong>
                </div>
                
                <div class="case-conclusion warning">
                    <strong>Wniosek:</strong> Przy rozstawie 15 cm i zasilaniu pompą ciepła (40°C), mocy będzie po prostu za mało w chłodniejsze dni. <strong>10 cm jest tutaj niezbędne.</strong>
                </div>
            </div>

            <div class="case-card case-15cm">
                <h5>Dom z kotłem gazowym i panelami (50°C)</h5>
                <p>Kocioł gazowy pracuje bez problemu na wyższych temperaturach, a podłoga to drewniane panele (izolator).</p>
                
                <div class="power-result" style="border-top: 3px solid var(--success);">
                    <span>Rozstaw 15 cm + Zasilanie 50°C:</span>
                    Uzyskana moc: <strong>80 W/m²</strong>
                </div>
                
                <div class="case-conclusion ok" style="margin-top: 25px;">
                    <strong>Wniosek:</strong> Mimo zastosowania paneli (które ograniczają oddawanie ciepła), wyższa temperatura zasilania z kotła gazowego równoważy ten efekt. <strong>Standardowy rozstaw 15 cm będzie tu optymalny i tańszy w wykonaniu.</strong>
                </div>
            </div>

        </div>
    </div>

</div>

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



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

.premium-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(0, 0, 0, 0.08);
    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: 15px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 15px;
}

.anatomy-header p:last-child {
    margin-bottom: 0;
}

.anatomy-workspace {
    display: flex;
    min-height: 480px;
}

/* LEWA STRONA - STOS WARSTW (PRZEKRÓJ) */
.anatomy-layers {
    width: 40%;
    background: #ffffff;
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
    gap: 15px;
}

.layer-btn {
    position: relative;
    width: 100%;
    padding: 20px;
    border-radius: 12px;
    border: 2px solid var(--border-color);
    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: #cbd5e1;
    transition: all 0.3s;
}

/* Kolory poszczególnych zakładek */
.layer-btn[data-layer="posadzka"]::before { background: #b45309; } 
.layer-btn[data-layer="wylewka"]::before { background: #94a3b8; } 
.layer-btn[data-layer="hydraulika"]::before { background: var(--accent); } 

.layer-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
    border-color: #cbd5e1;
}

/* UNIKALNA KLASA ABY UNIKNĄĆ KONFLIKTU Z WORDPRESSEM */
.layer-btn.layer-active {
    border-color: var(--accent);
    background: #eff6ff;
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.15);
}

.layer-btn.layer-active::before {
    background: var(--accent);
    width: 8px;
}

.layer-icon {
    font-size: 26px;
    filter: grayscale(0.2);
    transition: transform 0.3s;
}

.layer-btn.layer-active .layer-icon {
    transform: scale(1.2);
    filter: grayscale(0);
}

.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;
}

/* UNIKALNA KLASA PANE_ACTIVE */
.detail-pane.pane-active {
    display: block;
}

.detail-pane h4 {
    margin: 0 0 20px 0;
    font-size: 24px;
    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 strong {
    color: var(--primary);
}

.highlight-box {
    background: #ffffff;
    border-left: 4px solid var(--accent);
    padding: 18px 20px;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    font-weight: 600;
    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);
    display: block;
    margin-bottom: 5px;
}

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

@media (max-width: 768px) {
    .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": "Dataset",
    "name": "Czynniki wpływające na rozstaw rur w ogrzewaniu podłogowym",
    "description": "Zestawienie parametrów przewodności cieplnej posadzek, mocy wylewek oraz oporów hydraulicznych w zależności od zagęszczenia rur PEX.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Przewodność cieplna płytek ceramicznych",
        "value": "1.0 - 1.5",
        "unitText": "W/(m·K)"
      },
      {
        "@type": "PropertyValue",
        "name": "Przewodność cieplna drewna dębowego",
        "value": "0.15 - 0.2",
        "unitText": "W/(m·K)"
      },
      {
        "@type": "PropertyValue",
        "name": "Opór hydrauliczny przy rozstawie 10 cm (pętla 100m)",
        "value": "40 - 50",
        "unitText": "kPa"
      },
      {
        "@type": "PropertyValue",
        "name": "Opór hydrauliczny przy rozstawie 15 cm (pętla 100m)",
        "value": "20 - 25",
        "unitText": "kPa"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Eksplorator czynników instalacyjnych podłogówki",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywny moduł edukacyjny prezentujący wpływ rodzaju posadzki, wylewki i oporów hydraulicznych na projektowanie ogrzewania podłogowego.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Wpływ posadzki drewnianej i ceramicznej na oddawanie ciepła",
      "Porównanie wydajności wylewki anhydrytowej i cementowej",
      "Analiza oporów hydraulicznych pompy obiegowej"
    ]
  }
]
</script>

<div class="premium-anatomy-box" id="factors-anatomy-app-container">
    
    <div class="anatomy-header">
        <h2>Dodatkowe czynniki wpływające na rozstaw rur</h2>
        <p>Nawet najdokładniej wyliczony <strong>rozstaw rur w ogrzewaniu podłogowym (10 czy 15 cm)</strong> może okazać się błędem, jeśli zignorujemy materiały, w jakich rury zostaną osadzone. Aby instalacja działała wydajnie i bezawaryjnie, każdy dobry projektant musi skorygować obliczenia o poniższe detale.</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;">Kliknij warstwę, by zbadać wpływ</span>
            
            <button class="layer-btn layer-active" data-target="pane-posadzka" data-layer="posadzka">
                <span class="layer-icon">🪵</span>
                <div>
                    <div class="layer-title">Rodzaj Posadzki</div>
                    <span class="layer-subtitle">Drewno a Płytki Ceramiczne</span>
                </div>
            </button>
            
            <button class="layer-btn" data-target="pane-wylewka" data-layer="wylewka">
                <span class="layer-icon">🏗️</span>
                <div>
                    <div class="layer-title">Grubość i Rodzaj Wylewki</div>
                    <span class="layer-subtitle">Anhydryt vs Wylewka Cementowa</span>
                </div>
            </button>
            
            <button class="layer-btn" data-target="pane-hydraulika" data-layer="hydraulika">
                <span class="layer-icon">💧</span>
                <div>
                    <div class="layer-title">Opór Hydrauliczny</div>
                    <span class="layer-subtitle">Wyzwanie dla Pompy Obiegowej</span>
                </div>
            </button>
        </div>

        <div class="anatomy-details">
            
            <div class="detail-pane pane-active" id="pane-posadzka">
                <h4>Rodzaj posadzki a przewodność cieplna</h4>
                <p>Wybór materiału wykończeniowego ma krytyczny wpływ na to, jak dużo wyprodukowanego ciepła faktycznie przebije się do pomieszczenia.</p>
                <ul>
                    <li><strong>Płytki ceramiczne i kamień:</strong> Doskonale przewodzą ciepło. Przy tego typu posadzkach, standardowy rozstaw rur co 15 cm w zupełności wystarczy, aby sprawnie oddać zład energii.</li>
                    <li><strong>Drewno i grube wykładziny:</strong> Działają jak naturalny izolator cieplny. Jeśli planujesz takie wykończenie, rozstaw 10 cm staje się często koniecznością, aby skompensować blokadę termiczną podłogi.</li>
                </ul>
                <div class="highlight-box">
                    <strong>Wartości przewodności cieplnej (λ):</strong>
                    • Płytki ceramiczne: ok. 1,0–1,5 W/(m·K)<br>
                    • Drewno dębowe: zaledwie 0,15–0,2 W/(m·K) (5-krotnie słabsze przewodzenie!)
                </div>
            </div>

            <div class="detail-pane" id="pane-wylewka">
                <h4>Grubość i rodzaj jastrychu</h4>
                <p>W tradycyjnym ogrzewaniu podłogowym (systemie mokrym) parametry wylewki drastycznie zmieniają wydajność całego układu. Wylewka anhydrytowa (gipsowa) ma płynną konsystencję, dzięki czemu idealnie otula rury i przewodzi ciepło znacznie lepiej niż klasyczny, porowaty beton.</p>
                <p>Dzięki właściwościom anhydrytu, nawet przy rzadszym rozstawie 15 cm system zachowuje potężną moc oddawania ciepła.</p>
                <div class="highlight-box" style="border-left-color: var(--success);">
                    <strong>Przykład różnicy w mocy zasilania:</strong>
                    • Wylewka anhydrytowa (λ = 1,2 W/m·K) → moc oddawania ok. <strong>100 W/m²</strong> przy rozstawie rur 15 cm.<br>
                    • Wylewka cementowa (λ = 0,8 W/m·K) → moc zaledwie <strong>75 W/m²</strong> przy identycznych warunkach w tym samym domu.
                </div>
            </div>

            <div class="detail-pane" id="pane-hydraulika">
                <h4>Opór hydrauliczny instalacji</h4>
                <p>Gęstszy rozstaw rur do ogrzewania podłogowego (10 cm) to nie tylko wyższa moc grzewcza, ale również znacznie dłuższe pętle i ogromna ilość zakrętów.</p>
                <p>To powoduje drastyczny wzrost tzw. oporów przepływu. Skutek? Zbyt gęsta &#8222;podłogówka&#8221; wymusi na Tobie zastosowanie znacznie wydajniejszej (i droższej w zakupie oraz eksploatacji) pompy obiegowej.</p>
                <div class="highlight-box" style="border-left-color: var(--danger);">
                    <strong>Zestawienie oporów dla typowej pętli 100 m:</strong>
                    • Układanie rur co <strong>10 cm</strong> → generuje bardzo wysoki opór <strong>40–50 kPa</strong>.<br>
                    • Układanie rur co <strong>15 cm</strong> → redukuje opór do zaledwie <strong>20–25 kPa</strong>, odciążając całą kotłownię.
                </div>
            </div>

        </div>
    </div>
    
    <noscript>
        <style>
            /* Ujawnienie wszystkich zakładek, gdy JavaScript jest wyłączony */
            .detail-pane { display: block !important; margin-bottom: 40px; }
        </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 (Wersja tekstowa)</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Czynnik</th>
                        <th style="padding: 10px 0; color: #475569;">Parametr / Różnica</th>
                        <th style="padding: 10px 0; color: #475569;">Wniosek instalacyjny</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">Posadzka</td>
                        <td style="padding: 10px 0;">Płytki (λ ~1.5) vs Drewno (λ ~0.2)</td>
                        <td style="padding: 10px 0;">Drewno mocno izoluje, wymuszając gęstszy rozstaw (10 cm).</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">Wylewka</td>
                        <td style="padding: 10px 0;">Anhydryt (100 W/m²) vs Cement (75 W/m²)</td>
                        <td style="padding: 10px 0;">Anhydryt lepiej przewodzi ciepło, pozwalając na rozstaw 15 cm.</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">Hydraulika</td>
                        <td style="padding: 10px 0;">10 cm (opór 50 kPa) vs 15 cm (25 kPa)</td>
                        <td style="padding: 10px 0; color: #dc2626; font-weight:bold;">Zbyt gęsty rozstaw obciąża pompę obiegową.</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
// Zapakowane w funkcję, by bezbłędnie działało w każdym środowisku WP
function initAnatomyTabs() {
    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('factors-anatomy-app-container');
        if (lockContainer) {
            lockContainer.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                    <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                    <h3 style="margin-top:0; font-size: 24px;">Narzędzie chronione prawem autorskim</h3>
                    <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten interaktywny moduł edukacyjny jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany nielegalnie.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
                </div>
            `;
        }
        return; 
    }

    const factorsApp = document.getElementById('factors-anatomy-app-container');
    if (!factorsApp) return;

    const layerBtns = factorsApp.querySelectorAll('.layer-btn');
    const panes = factorsApp.querySelectorAll('.detail-pane');

    layerBtns.forEach(function(button) {
        button.addEventListener('click', function(e) {
            e.preventDefault(); // Zabezpieczenie przed przeładowaniem

            // Usuwanie unikalnej klasy z przycisków
            layerBtns.forEach(function(btn) { btn.classList.remove('layer-active'); });
            // Usuwanie unikalnej klasy z paneli
            panes.forEach(function(pane) { pane.classList.remove('pane-active'); });
            
            // Dodawanie unikalnej klasy do klikniętego przycisku
            this.classList.add('layer-active');
            
            // Pokazywanie odpowiedniego panelu
            const targetId = this.getAttribute('data-target');
            const targetPane = factorsApp.querySelector('#' + targetId);
            if(targetPane) {
                targetPane.classList.add('pane-active');
            }
        });
    });
}

// Bezpieczne uruchomienie w środowiskach typu WordPress
if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initAnatomyTabs);
} else {
    initAnatomyTabs();
}
</script>



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

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

.steps-header {
    padding: 35px 40px;
    text-align: center;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
    border-bottom: 1px solid var(--border-color);
}

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

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

.steps-container {
    padding: 30px 40px 40px 40px;
    background: #ffffff;
}

.step-item {
    border: 2px solid transparent;
    border-radius: 16px;
    margin-bottom: 15px;
    background: #ffffff;
    box-shadow: 0 4px 10px -2px rgba(0,0,0,0.03);
    border: 1px solid #f1f5f9;
    transition: all 0.3s ease;
}

.step-item.active {
    border-color: #bfdbfe;
    background: #eff6ff;
    box-shadow: 0 12px 25px -5px rgba(37, 99, 235, 0.1);
}

.step-header {
    padding: 20px 25px;
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 20px;
}

.step-number {
    width: 44px;
    height: 44px;
    background: #f1f5f9;
    color: #64748b;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 900;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.step-item.active .step-number {
    background: var(--accent);
    color: white;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.step-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
    flex-grow: 1;
    line-height: 1.3;
}

.step-item.active .step-title {
    color: var(--accent);
}

.step-toggle {
    font-size: 24px;
    color: #94a3b8;
    transition: transform 0.3s ease;
}

.step-item.active .step-toggle {
    transform: rotate(180deg);
    color: var(--accent);
}

.step-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0 25px;
}

.step-content-inner {
    padding-bottom: 25px;
    padding-left: 64px; /* Wyrównanie z tekstem tytułu */
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.step-content-inner p {
    margin-top: 0;
    margin-bottom: 15px;
}

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

.formula-box {
    background: #ffffff;
    border: 1px dashed #cbd5e1;
    padding: 15px 20px;
    border-radius: 12px;
    font-family: 'Courier New', Courier, monospace;
    color: var(--accent);
    font-weight: 700;
    font-size: 14px;
    margin: 15px 0;
    text-align: center;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.highlight-box {
    background: #ffffff;
    border-left: 4px solid var(--warning);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    margin: 15px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary);
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}

.highlight-box strong {
    display: block;
    margin-bottom: 5px;
    color: var(--warning);
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.5px;
}

.cta-box {
    margin-top: 30px;
    padding: 25px 30px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    text-align: center;
}

.cta-box p {
    font-size: 15px;
    color: #334155;
    margin: 0 0 15px 0;
    font-weight: 500;
}

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

.cta-link:hover {
    background: #1d4ed8;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(37, 99, 235, 0.3);
}

@media (max-width: 768px) {
    .steps-header { padding: 30px 20px; }
    .steps-header h2 { font-size: 24px; }
    .steps-container { padding: 20px; }
    .step-header { padding: 15px; gap: 15px; }
    .step-title { font-size: 16px; }
    .step-number { width: 36px; height: 36px; font-size: 16px; }
    .step-content-inner { padding-left: 0; padding-bottom: 20px; font-size: 14px; }
    .formula-box { font-size: 13px; padding: 12px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Interaktywny poradnik: Jak dobrać rozstaw rur podłogówki",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Krok po kroku: interaktywny przewodnik inżynierski pomagający w doborze optymalnego rozstawu rur ogrzewania podłogowego z uwzględnieniem strat ciepła, źródła ogrzewania i rodzaju posadzki.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Kalkulacja realnego zapotrzebowania na ciepło",
      "Dobór rozstawu pod pompę ciepła vs kocioł gazowy",
      "Korekta obliczeń o opór cieplny posadzki"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "HowTo",
    "name": "Jak dobrać rozstaw rur w ogrzewaniu podłogowym",
    "description": "Instrukcja krok po kroku jak mądrze podejść do projektowania instalacji ogrzewania podłogowego i uniknąć kosztownych błędów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "step": [
      {
        "@type": "HowToStep",
        "name": "Oblicz realne zapotrzebowanie na ciepło dla każdego pokoju",
        "text": "Zastosuj wzór: Zapotrzebowanie (W) = Powierzchnia (m²) × Szacunkowe straty ciepła (W/m²). W przypadku nowych domów o niskich stratach standardowy rozstaw rur co 15 cm wystarczy z ogromnym zapasem."
      },
      {
        "@type": "HowToStep",
        "name": "Dopasuj rozstaw do planowanego źródła ciepła",
        "text": "Dla niskotemperaturowej pompy ciepła zalecany jest zagęszczony rozstaw 10 cm. Dla kotłów gazowych pracujących na wyższych temperaturach zasilania rozstaw 15 cm jest standardem."
      },
      {
        "@type": "HowToStep",
        "name": "Skoryguj obliczenia o rodzaj wykończenia podłogi",
        "text": "W przypadku podłóg drewnianych i paneli załóż spadek mocy grzewczej o 20-30%. Zrekompensuj to zagęszczając rozstaw rur do 10 cm."
      }
    ]
  }
]
</script>

<div class="premium-steps-widget premium-protected" id="steps-design-app-container">
    
    <div class="steps-header">
        <h2>Jak dobrać rozstaw rur w ogrzewaniu podłogowym – instrukcja krok po kroku</h2>
        <p>Błędy popełnione przy wymiarowaniu instalacji są niezwykle kosztowne w naprawie – często wiążą się z kuciem posadzki. Podpowiadamy, jak zminimalizować ryzyko na etapie planowania i mądrze podejść do projektowania instalacji ogrzewania podłogowego.</p>
    </div>

    <div class="steps-container">
        
        <div class="step-item active">
            <div class="step-header" onclick="toggleDesignStep(this)">
                <div class="step-number">1</div>
                <div class="step-title">Oblicz realne zapotrzebowanie na ciepło dla każdego pokoju</div>
                <div class="step-toggle">▼</div>
            </div>
            <div class="step-content" style="max-height: 800px;">
                <div class="step-content-inner">
                    <p>Zanim w ogóle zaczniesz zastanawiać się nad tym, czy wybrać rozstaw rur 10 cm, czy 15 cm, musisz wiedzieć, ile energii potrzebuje dane pomieszczenie, aby utrzymać komfortową temperaturę (zazwyczaj 20-22°C w salonie i 24°C w łazience).</p>
                    
                    <p>Do wstępnych szacunków możesz użyć uproszczonego wzoru:</p>
                    <div class="formula-box">
                        Zapotrzebowanie (W) = Powierzchnia (m²) × Szacunkowe straty ciepła (W/m²)
                    </div>
                    
                    <div class="highlight-box">
                        <strong>Przykład obliczeniowy:</strong>
                        Wyobraźmy sobie sypialnię o powierzchni 15 m² w nowoczesnym, domu pasywnym (gdzie straty ciepła wynoszą zaledwie ok. 25 W/m²).<br><br>
                        <em>15 m² × 25 W/m² = <strong>375 W</strong></em><br><br>
                        Zapotrzebowanie jest bardzo niskie, co oznacza, że <strong>standardowy rozstaw rur co 15 cm wystarczy z ogromnym zapasem</strong>.
                    </div>
                </div>
            </div>
        </div>

        <div class="step-item">
            <div class="step-header" onclick="toggleDesignStep(this)">
                <div class="step-number">2</div>
                <div class="step-title">Dopasuj rozstaw do planowanego źródła ciepła</div>
                <div class="step-toggle">▼</div>
            </div>
            <div class="step-content">
                <div class="step-content-inner">
                    <p>Rozstaw rur w ogrzewaniu podłogowym musi bezpośrednio współpracować z urządzeniem, które grzeje wodę w instalacji. Błędne sparowanie tych dwóch elementów to najczęstsza przyczyna problemów i wysokich rachunków.</p>
                    
                    <ul>
                        <li><strong>Pompa ciepła (niskotemperaturowa):</strong> Osiąga najwyższą wydajność, gdy podgrzewa wodę do niskich temperatur (np. 32-35°C). Aby przy tak &#8222;letniej&#8221; wodzie ogrzać dom, rury muszą leżeć bardzo gęsto. <strong>Zalecany rozstaw to 10 cm.</strong></li>
                        <li><strong>Kocioł gazowy kondensacyjny:</strong> Pracuje bardzo efektywnie przy nieco wyższych temperaturach zasilania (np. 40-45°C). Wyższa temperatura nadrabia rzadsze ułożenie pętli. <strong>Tutaj rozstaw 15 cm jest standardem i pozwala zaoszczędzić na rurach PEX.</strong></li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="step-item">
            <div class="step-header" onclick="toggleDesignStep(this)">
                <div class="step-number">3</div>
                <div class="step-title">Skoryguj obliczenia o rodzaj wykończenia podłogi</div>
                <div class="step-toggle">▼</div>
            </div>
            <div class="step-content">
                <div class="step-content-inner">
                    <p>Jeśli planujesz wykończyć salon litym drewnem, deską barlinecką lub grubymi panelami laminowanymi, musisz pamiętać, że materiały te działają jak naturalny izolator. Utkną Ci one część ciepła produkowanego przez wylewkę.</p>
                    
                    <p><strong>Złota zasada instalatora:</strong> W przypadku drewna, z góry załóż <strong>spadek mocy grzewczej o 20–30%</strong> w stosunku do płytek ceramicznych. Aby temu zapobiec, masz dwie drogi:</p>
                    
                    <ol>
                        <li>Zwiększyć temperaturę zasilania na piecu (uwaga na gwarancję producenta paneli!).</li>
                        <li><strong>Zagęścić rozstaw rur do 10 cm</strong>, aby większa ilość ciepła skuteczniej &#8222;przebijała się&#8221; przez opór cieplny drewna.</li>
                    </ol>
                </div>
            </div>
        </div>

        <div class="cta-box">
            <p>Zbyt wiele zmiennych? Nie ryzykuj niedogrzania domu ani przepłacania za materiały. Zostaw twarde wyliczenia inżynierom.</p>
            <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/" target="_blank" class="cta-link">Sprawdź ofertę profesjonalnych projektów Ogrzewania Podłogowego →</a>
        </div>

    </div>
</div>

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

// 2. LOGIKA AKORDEONU
function toggleDesignStep(element) {
    const parent = element.parentElement;
    const content = parent.querySelector('.step-content');
    
    // Jeśli kliknięto otwarty panel - zamknij go
    if (parent.classList.contains('active')) {
        parent.classList.remove('active');
        content.style.maxHeight = null;
    } else {
        // Otwórz kliknięty panel
        parent.classList.add('active');
        content.style.maxHeight = content.scrollHeight + "px";
    }
}
</script>



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

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

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

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

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

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

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

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

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

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

.type-btn span {
    margin-top: 4px;
}

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

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

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

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

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

#risk-msg {
    margin-top: 15px; padding: 12px 15px; border-radius: 10px; font-size: 13px; font-weight: 600; display: none; line-height: 1.5; text-align: center; border: 1px solid transparent;
}

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

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

/* WYKRES PASKOWY */
.bars-container { margin-top: 25px; }
.bar-row { display: flex; align-items: center; margin-bottom: 10px; gap: 10px; }
.bar-label { width: 110px; font-size: 11px; font-weight: 800; color: #64748b; text-transform: uppercase; }
.bar-track { flex-grow: 1; height: 12px; background: #e2e8f0; border-radius: 6px; overflow: hidden; position: relative; }
.bar-fill { height: 100%; transition: width 0.4s ease; border-radius: 6px; }

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

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

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

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

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

<div class="calc-intro">
    <h2>Rozstaw rur w ogrzewaniu podłogowym co 10 czy 15 cm? Kalkulator</h2>
    <p>Zastanawiasz się, jaki rozstaw rur będzie optymalny dla Twojego domu? Skorzystaj z kalkulatora inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: #2563eb; font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Wybierz standard ocieplenia budynku, rodzaj posadzki oraz źródło ciepła, a algorytm wskaże Ci <strong>jedyną bezpieczną decyzję</strong>, eliminując ryzyko niedogrzania zimą.</p>
</div>

<div class="screed-calc premium-protected" id="pipe-spacing-calc-app">
    <div class="calc-grid">
        
        <div class="config-side">
            <span class="section-title">1. Standard izolacji budynku (Straty ciepła)</span>
            <div class="type-selector">
                <div class="type-btn active" id="btn-bldg-new">NOWY DOM / PASYWNY<span style="font-size:10px; font-weight:400">Zapotrzebowanie ok. 50 W/m²</span></div>
                <div class="type-btn" id="btn-bldg-old">STARY DOM (Po remoncie)<span style="font-size:10px; font-weight:400">Zapotrzebowanie ok. 80 W/m²</span></div>
            </div>

            <span class="section-title">2. Planowane wykończenie podłogi</span>
            <div class="type-selector" style="grid-template-columns: 1fr 1fr 1fr; margin-bottom: 25px;">
                <div class="type-btn active" id="btn-floor-tiles">PŁYTKI<span style="font-size:10px; font-weight:400">Ceramika</span></div>
                <div class="type-btn" id="btn-floor-panels">PANELE<span style="font-size:10px; font-weight:400">Laminat</span></div>
                <div class="type-btn" id="btn-floor-wood">DREWNO<span style="font-size:10px; font-weight:400">Deska lita</span></div>
            </div>

            <span class="section-title">3. Parametry pomieszczenia i zasilania</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia pomieszczenia</label><span class="val-badge"><span id="v-area">20</span> m²</span></div>
                <input type="range" id="inp-area" min="5" max="100" step="1" value="20">
            </div>
            
            <div class="input-wrap" style="margin-bottom: 0;">
                <div class="input-label-row"><label>Temperatura zasilania (T_zas)</label><span class="val-badge"><span id="v-temp">35</span> °C</span></div>
                <input type="range" id="inp-temp" min="30" max="50" step="1" value="35">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Dla pomp ciepła zaleca się 30-35°C. Dla kotłów gazowych 40-45°C.</div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Rekomendowany rozstaw rur w tym pokoju:</span>
                <span class="score-num" id="resRec">&#8212;</span>
                <div id="risk-msg">✅ System działa optymalnie!</div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Wymagane zapotrzebowanie cieplne:</span><strong id="resReqPower">&#8212;</strong></div>
                <div class="tech-item"><span>Uzyskana moc przy rozstawie 15 cm:</span><strong id="resPower15">&#8212;</strong></div>
                <div class="tech-item"><span>Uzyskana moc przy rozstawie 10 cm:</span><strong id="resPower10">&#8212;</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card"><span>Zapotrzebowanie rury (15 cm):</span><strong id="resPipe15">&#8212;</strong></div>
                    <div class="mini-card"><span>Zapotrzebowanie rury (10 cm):</span><strong id="resPipe10">&#8212;</strong></div>
                </div>
            </div>
            
            <div class="bars-container">
                <div class="bar-row">
                    <div class="bar-label" style="color:var(--primary)">Zapotrzebowanie</div>
                    <div class="bar-track"><div class="bar-fill" id="bar-req" style="background:#0f172a;"></div></div>
                </div>
                <div class="bar-row">
                    <div class="bar-label">Moc z 15 cm</div>
                    <div class="bar-track"><div class="bar-fill" id="bar-15" style="background:#94a3b8;"></div></div>
                </div>
                <div class="bar-row">
                    <div class="bar-label">Moc z 10 cm</div>
                    <div class="bar-track"><div class="bar-fill" id="bar-10" style="background:var(--accent);"></div></div>
                </div>
            </div>
            
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Oszczędź na rurach, ale nie zepsuj ogrzewania</h3>
            <p style="margin:0; font-size:14px; color:#475569">Różnica w kosztach ułożenia rur co 10 cm, a 15 cm dla całego domu może wynieść nawet kilka tysięcy złotych. Nie zgaduj – zleć precyzyjne obliczenia projektowe inżynierom i miej 100% pewności, że zimą nie zmarzniesz.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" id="btn-email" class="cta-btn" style="background:#1e293b">
                WYŚLIJ WYNIKI NA E-MAIL
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

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

    // STAN APLIKACJI
    var bldgType = 'new';
    var floorType = 'tiles';

    function updateCalc() {
        var areaEl = document.getElementById('inp-area');
        var tempEl = document.getElementById('inp-temp');
        if(!areaEl || !tempEl) return;

        var area = parseFloat(areaEl.value);
        var tempZas = parseFloat(tempEl.value);
        
        document.getElementById('v-area').innerText = area;
        document.getElementById('v-temp').innerText = tempZas;

        // Logika zapotrzebowania
        var reqPower = (bldgType === 'new') ? 50 : 80;

        // Logika wykończenia podłogi
        var floorFactor = 1.0;
        if(floorType === 'panels') floorFactor = 0.8;
        if(floorType === 'wood') floorFactor = 0.65;

        // Symulacja mocy W/m2 (Wzór empiryczny)
        var deltaT = tempZas - 20; // Zakładana temp w pokoju to 20C
        var power15 = Math.max(0, deltaT * 4.0 * floorFactor);
        var power10 = Math.max(0, deltaT * 5.5 * floorFactor);

        // Ilość rury (mb)
        var pipeLen15 = Math.round(area * 6.6);
        var pipeLen10 = Math.round(area * 10.0);

        // Werdykt algorytmu
        var recommended = "Co 15 cm";
        var riskMsg = "";
        var boxColor = "var(--success)";
        var riskBg = "#dcfce7";

        if (power15 >= reqPower) {
            recommended = "Rozstaw co 15 cm";
            riskMsg = "✅ System przy rozstawie 15 cm w zupełności pokryje zapotrzebowanie cieplne. Zaoszczędzisz na rurach.";
            boxColor = "var(--success)";
            riskBg = "#dcfce7";
        } else if (power10 >= reqPower) {
            recommended = "Rozstaw co 10 cm";
            riskMsg = "⚠️ Przy 15 cm brakuje mocy! Musisz zagęścić rury do 10 cm, aby uniknąć niedogrzania w mrozy.";
            boxColor = "var(--warning)";
            riskBg = "#ffedd5";
        } else {
            recommended = "Zbyt niska moc!";
            riskMsg = "❌ Nawet przy rozstawie 10 cm podłoga nie da rady ogrzać pomieszczenia. Podnieś temperaturę zasilania lub zmień posadzkę.";
            boxColor = "var(--danger)";
            riskBg = "#fee2e2";
        }

        // Dodatkowe ostrzeżenie dla drewna i wysokiej temperatury
        if ((floorType === 'panels' || floorType === 'wood') && tempZas > 40) {
            riskMsg += "<br><br>🔥 <strong>RYZYKO:</strong> Temperatura zasilania powyżej 40°C może zdeformować Twoją posadzkę (szpary w podłodze)!";
            boxColor = "var(--danger)";
            riskBg = "#fee2e2";
        }

        // Aktualizacja DOM
        document.getElementById('resRec').innerText = recommended;
        document.getElementById('resRec').style.color = boxColor;
        document.getElementById('mainBox').style.borderBottomColor = boxColor;
        
        var rMsg = document.getElementById('risk-msg');
        rMsg.innerHTML = riskMsg;
        rMsg.style.display = 'block';
        rMsg.style.color = (boxColor === 'var(--warning)') ? '#9a3412' : boxColor;
        rMsg.style.borderColor = boxColor;
        rMsg.style.backgroundColor = riskBg;

        document.getElementById('resReqPower').innerText = reqPower + ' W/m²';
        document.getElementById('resPower15').innerText = Math.round(power15) + ' W/m²';
        document.getElementById('resPower10').innerText = Math.round(power10) + ' W/m²';
        document.getElementById('resPipe15').innerText = pipeLen15 + ' mb';
        document.getElementById('resPipe10').innerText = pipeLen10 + ' mb';

        // Paski proporcji
        var maxP = Math.max(reqPower, power10) + 10;
        document.getElementById('bar-req').style.width = Math.min(100, (reqPower/maxP)*100) + '%';
        document.getElementById('bar-15').style.width = Math.min(100, (power15/maxP)*100) + '%';
        document.getElementById('bar-10').style.width = Math.min(100, (power10/maxP)*100) + '%';
        
        // Koloruj pasek z 15cm na czerwono jesli nie wyrabia
        document.getElementById('bar-15').style.background = (power15 < reqPower) ? '#fca5a5' : '#94a3b8';
    }

    // Bindowanie przycisków
    var btnNew = document.getElementById('btn-bldg-new');
    var btnOld = document.getElementById('btn-bldg-old');
    
    if(btnNew) btnNew.addEventListener('click', function(){ bldgType = 'new'; btnOld.classList.remove('active'); btnNew.classList.add('active'); updateCalc(); });
    if(btnOld) btnOld.addEventListener('click', function(){ bldgType = 'old'; btnNew.classList.remove('active'); btnOld.classList.add('active'); updateCalc(); });

    var btnTiles = document.getElementById('btn-floor-tiles');
    var btnPanels = document.getElementById('btn-floor-panels');
    var btnWood = document.getElementById('btn-floor-wood');

    function resetFloorBtns() { btnTiles.classList.remove('active'); btnPanels.classList.remove('active'); btnWood.classList.remove('active'); }

    if(btnTiles) btnTiles.addEventListener('click', function(){ floorType = 'tiles'; resetFloorBtns(); btnTiles.classList.add('active'); updateCalc(); });
    if(btnPanels) btnPanels.addEventListener('click', function(){ floorType = 'panels'; resetFloorBtns(); btnPanels.classList.add('active'); updateCalc(); });
    if(btnWood) btnWood.addEventListener('click', function(){ floorType = 'wood'; resetFloorBtns(); btnWood.classList.add('active'); updateCalc(); });

    // Bindowanie suwaków
    var areaInput = document.getElementById('inp-area');
    var tempInput = document.getElementById('inp-temp');
    if(areaInput) areaInput.addEventListener('input', updateCalc);
    if(tempInput) tempInput.addEventListener('input', updateCalc);

    // Bindowanie E-mail
    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var area = document.getElementById('v-area').innerText;
            var temp = document.getElementById('v-temp').innerText;
            var rec = document.getElementById('resRec').innerText;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Rozstaw Rur (10 cm czy 15 cm)');
            
            var bodyText = 'Dzień dobry,\n\nZrobiłem wstępne kalkulacje rozstawu rur z Państwa kalkulatora na blogu:\n\n' +
                           '• Powierzchnia pokoju: ' + area + ' m²\n' +
                           '• Zakładana temperatura zasilania: ' + temp + ' °C\n' +
                           '• Rekomendowany rozstaw z algorytmu: ' + rec + '\n\n' +
                           'Proszę o wycenę profesjonalnego projektu ogrzewania podłogowego z precyzyjnym doborem pętli.';
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(bodyText);
        });
    }

    updateCalc();
});
</script>



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

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

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

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

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

.myth-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    padding: 40px;
    background: #ffffff;
}

/* FLIP CARD STYLES */
.flip-card {
    background-color: transparent;
    width: 100%;
    min-height: 360px;
    perspective: 1000px;
    cursor: pointer;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
    transform-style: preserve-3d;
}

.flip-card.is-flipped .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 20px;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    border: 2px solid transparent;
}

.flip-card-front {
    background-color: #fef2f2;
    border-color: #fecaca;
    color: var(--danger);
}

.flip-card-back {
    background-color: #f0fdf4;
    border-color: #bbf7d0;
    color: var(--success);
    transform: rotateY(180deg);
}

.card-icon {
    font-size: 42px;
    margin-bottom: 15px;
    line-height: 1;
}

.card-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
    opacity: 0.8;
}

.card-text {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0;
}

.flip-card-back .card-title {
    color: var(--success);
}

.flip-card-back .card-text {
    font-size: 14px;
    font-weight: 500;
    color: #166534;
    line-height: 1.6;
}

.flip-hint {
    margin-top: 20px;
    font-size: 12px;
    font-weight: 700;
    background: rgba(255,255,255,0.8);
    padding: 6px 16px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.myth-summary {
    margin: 0 40px 40px 40px;
    padding: 30px;
    background: #eff6ff;
    border-radius: 20px;
    border-left: 6px solid var(--accent);
}

.myth-summary h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
}

.myth-summary p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #334155;
}

@media (max-width: 900px) {
    .myth-grid { grid-template-columns: 1fr; gap: 20px; padding: 25px 20px; }
    .flip-card { min-height: 280px; }
    .myth-summary { margin: 0 20px 25px 20px; padding: 25px 20px; }
    .myth-header { padding: 25px 20px; }
}
</style>

<div class="premium-myth-box premium-protected" id="pipe-spacing-myths-app">
    <div class="myth-header">
        <h3>Fakty i Mity: Rozstaw rur w ogrzewaniu podłogowym</h3>
        <p>Wokół zagadnienia <strong>rozstawu rur co 10 czy 15 cm</strong> urosło w internecie wiele szkodliwych mitów, które prowadzą do kosztownych błędów instalacyjnych. Obalmy trzy najpopularniejsze wymysły "fachowców" starej daty. <strong>Kliknij kartę, aby poznać brutalną prawdę.</strong></p>
    </div>

    <div class="myth-grid">
        
        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">💸</div>
                    <div class="card-title">MIT #1</div>
                    <p class="card-text">"Rozstaw co 10 cm to naciąganie na materiał przez instalatora. Rurka ułożona co 15 cm ogrzeje każdy dom tak samo dobrze."</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">🥶</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>To najkrótsza droga do niedogrzania w zimie.</strong> W starym budownictwie lub łazience z dużą wentylacją, rozstaw 15 cm nie odda wystarczającej mocy. Aby utrzymać 20°C w pokoju, będziesz musiał podnieść temperaturę zasilania na piecu do 45-50°C, co drastycznie podniesie Twoje rachunki.</p>
                </div>
            </div>
        </div>

        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">🪵</div>
                    <div class="card-title">MIT #2</div>
                    <p class="card-text">"Mam grube, dębowe deski. Dam rozstaw rur co 15 cm, ale po prostu odkręcę wyższą temperaturę na pompie, żeby przebiło się przez drewno."</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">🔥</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>Tak zniszczysz swoją posadzkę.</strong> Producenci drewna i paneli zabraniają podgrzewania podłogi powyżej 27°C (temp. na powierzchni). Jeśli puścisz 45°C pod izolujące drewno przy rzadkim rozstawie, zrobisz sobie "zebrę cieplną", a podłoga zschnie się i pojawią się wielkie szpary.</p>
                </div>
            </div>
        </div>

        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">📏</div>
                    <div class="card-title">MIT #3</div>
                    <p class="card-text">"Najlepiej dać wszędzie w domu rurki co 10 cm. Będzie cieplej i bezpieczniej, bo więcej rury to zawsze lepiej."</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">⚙️</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>To bezsensowne przewymiarowanie.</strong> Wkładanie rury co 10 cm w ocieplonym domu pasywnym to wyrzucanie pieniędzy w błoto. Taki układ wygeneruje gigantyczne opory hydrauliczne, wymusi montaż znacznie mocniejszej pompy obiegowej, a dom i tak szybciej się nie nagrzeje.</p>
                </div>
            </div>
        </div>

    </div>

    <div class="myth-summary">
        <h4>Podsumowując – nie ufaj opiniom z forów, zaufaj inżynierii</h4>
        <p>Rozstaw rur w ogrzewaniu podłogowym (10 czy 15 cm) <strong>nigdy nie powinien być "zgadywany"</strong> na budowie. Zbyt rzadki rozstaw oznacza zimno w domu lub konieczność pracy na wysokich, prądożernych temperaturach. Zbyt gęsty rozstaw to przepalony budżet instalacyjny i wysokie opory tłoczenia wody w rurach. Jedyną właściwą drogą jest wykonanie profesjonalnego projektu, uwzględniającego rodzaj izolacji i typ posadzki (ceramika vs drewno).</p>
    </div>
</div>

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.answer-bad .answer-text {
    font-style: italic;
}

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

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

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

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

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

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

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

<div class="premium-questions premium-protected" id="qa-spacing-faq-app">
    
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Czy rozstaw rur 10 cm zawsze jest lepszy niż 15 cm?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, rzadszy rozstaw nie zawsze jest gorszy. Rozstaw 10 cm sprawdza się świetnie w pomieszczeniach o dużych stratach ciepła (np. łazienki) lub przy niskotemperaturowych źródłach ciepła takich jak pompy ciepła. W dobrze izolowanych domach z kotłami gazowymi w zupełności wystarczy rozstaw 15 cm."
        }
      }, {
        "@type": "Question",
        "name": "Jakie są koszty różnicy w rozstawie rur?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Decyzja o zmianie z 15 cm na 10 cm wiąże się ze wzrostem zużycia rury pex o 50% na każdym metrze kwadratowym podłogi. To oznacza, że różnica kosztów materiałów i samego montażu instalacji może wzrosnąć nawet o 20–30%."
        }
      }, {
        "@type": "Question",
        "name": "Czy rozstaw rur w ogrzewaniu podłogowym wpływa na odczuwalną temperaturę podłogi?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak. Gęstszy rozstaw (10 cm) minimalizuje zjawisko tzw. 'zebry termicznej', zapewniając dużo bardziej równomierną dystrybucję ciepła. Przekłada się to na przyjemniejszą, wyższą temperaturę podłogi, nawet przy relatywnie niskiej temperaturze zasilania z pieca."
        }
      }, {
        "@type": "Question",
        "name": "Czy mogę zastosować różne rozstawy rur w różnych pomieszczeniach w jednym domu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zdecydowanie tak, to bardzo profesjonalna i częsta praktyka. Przykładem jest zastosowanie gęstszego rozstawu 10 cm w łazience lub przy ogromnych oknach, a szerszego 15 cm w salonie lub na korytarzach, aby idealnie dostosować moc do strat ciepła."
        }
      }, {
        "@type": "Question",
        "name": "Jak sprawdzić, czy rozstaw 15 cm będzie wystarczający w moim nowym domu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Kluczem jest wykonanie rzetelnego obliczenia strat ciepła (OZC) dla każdego pomieszczenia przez projektanta instalacji. Jeśli wykaże on, że zapotrzebowanie nie przekracza 70–80 W/m², rozstaw 15 cm i standardowa wylewka betonowa będą w pełni wystarczające."
        }
      }]
    }
    </script>
    
    <div class="qa-header">
        <h2>❓ FAQ – Rozstaw rur pod lupą</h2>
        <p>Podsumujmy wiedzę! Oto odpowiedzi na najczęściej zadawane pytania przez inwestorów, opracowane przez ekspertów Projekt-Ogrzewania.pl. Sprawdź, czy powielasz popularne mity budowlane.</p>
    </div>

    <div class="qa-list">
        
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> Czy rozstaw rur 10 cm zawsze jest lepszy niż 15 cm?</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Powszechny Mit</div>
                    <p class="answer-text">„Więcej rurek to więcej ciepła w domu. Oszczędzanie na rurach to głupota, zawsze kładę wszędzie co 10 cm.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Odpowiedź inżyniera</div>
                    <p class="answer-text">Nie, gęściej nie zawsze znaczy lepiej. Rozstaw 10 cm to konieczność w łazienkach czy przy pompach ciepła. Jednak w ocieplonym domu z kotłem gazowym układanie co 10 cm to <strong>przewymiarowanie</strong>, generujące jedynie koszty i ogromne opory pompy obiegowej.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> Jakie są koszty różnicy w rozstawie rur?</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Powszechny Mit</div>
                    <p class="answer-text">„To tylko parę rolek rury więcej, koszty są marginalne, panie inwestorze.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Odpowiedź inżyniera</div>
                    <p class="answer-text">Zmiana decyzji z 15 cm na 10 cm to zużycie rury większe aż o <strong>50%</strong> (10 mb vs 6,6 mb na 1 m²). Dodatkowo pętle stają się dłuższe, co wymusza zakup większych rozdzielaczy i spędzenie wielu dodatkowych godzin na układaniu. Różnica cenowa całego układu to zwykle 20-30%.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> Czy rozstaw rur wpływa na temperaturę podłogi?</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Powszechny Mit</div>
                    <p class="answer-text">„Beton po 5 godzinach i tak cały się nagrzeje, nie ma żadnej różnicy, co leży pod spodem.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Odpowiedź inżyniera</div>
                    <p class="answer-text">Tak. Zastosowanie rozstawu 10 cm zapewnia znacznie bardziej równomierną dystrybucję ciepła (brak tzw. zebry cieplnej – chłodniejszych pasów). Pozwala to cieszyć się przyjemnie ciepłą podłogą, używając bardzo "chłodnej" i taniej wody z pompy ciepła.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> Czy mogę zastosować różne rozstawy w różnych pokojach?</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Powszechny Mit</div>
                    <p class="answer-text">„Zawsze robimy w całym domu jeden rozstaw dla świętego spokoju, po co to mieszać i kombinować.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Odpowiedź inżyniera</div>
                    <p class="answer-text">Zdecydowanie tak! Zmiana zagęszczenia rur to cecha profesjonalnego projektu. Standardem jest stosowanie gęstszego rozstawu (10 cm) w zimnych strefach brzegowych i łazienkach, a standardowego (15 cm) w sypialniach i na korytarzach.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> Jak sprawdzić, czy rozstaw 15 cm wystarczy w moim domu?</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label">❌ Powszechny Mit</div>
                    <p class="answer-text">„Zapytam na forum facebookowym, tam mają takie same domy z bloczka i powiedzą, jak u nich grzeje.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label">✅ Odpowiedź inżyniera</div>
                    <p class="answer-text">Należy zamówić projekt i wyliczyć tzw. OZC (straty ciepła) dla każdego pomieszczenia. Jeśli zapotrzebowanie <strong>nie przekracza 70–80 W/m²</strong> (co w nowych domach jest normą), rozstaw rur co 15 cm będzie w 100% wystarczający i bezpieczny.</p>
                </div>
            </div>
        </div>

    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span style="font-size: 32px;">🔥</span>
            <h3>Podsumowanie: 10 cm czy 15 cm?</h3>
        </div>
        <ul class="flags-list" style="margin-bottom: 25px;">
            <li style="color: var(--primary);"><strong>Wybierz rozstaw 10 cm</strong>, jeśli masz niskotemperaturową pompę ciepła, słabą izolację ścian lub planujesz ułożenie drewnianej podłogi.</li>
            <li style="color: var(--primary);"><strong>Wybierz rozstaw 15 cm</strong>, gdy Twój dom jest świetnie ocieplony, użytkujesz piec gazowy i planujesz posadzkę z płytek ceramicznych.</li>
        </ul>
        <div style="background: #ffffff; padding: 20px; border-radius: 12px; font-weight: 600; color: #475569; text-align: center; border: 1px solid #e2e8f0;">
            Pamiętaj: Każdy dom wymaga indywidualnej analizy. Aby uniknąć drastycznego przewymiarowania lub niedogrzania zimą, <strong>nie zgaduj!</strong> Skonsultuj swój przypadek i zleć wykonanie profesjonalnego projektu instalacji ogrzewania podłogowego.
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // ZABEZPIECZENIE DOMENOWE (Domain Lock - Kod Jawny)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const appContainer = document.getElementById('qa-spacing-faq-app');
        if (appContainer) {
            appContainer.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 20px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                    <h3 style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona prawem autorskim</h3>
                    <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">To zestawienie jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostało wklejone na tę stronę bez zgody autora.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
                </div>
            `;
        }
    }
});
</script>



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

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

/* 1. ASYSTENT WYBORU - WIDGET */
.decision-card {
    background: #ffffff;
    border-radius: 24px;
    border: 1px solid var(--border-color);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    margin-bottom: 40px;
}

.decision-header {
    padding: 35px 40px;
    background: linear-gradient(135deg, var(--primary) 0%, #1e293b 100%);
    color: white;
    text-align: center;
}

.decision-header h2 {
    margin: 0 0 10px 0;
    font-size: 24px;
    font-weight: 900;
    color: #fff;
}

.decision-header p {
    margin: 0;
    font-size: 14px;
    color: #cbd5e1;
    opacity: 0.9;
}

.decision-body {
    padding: 40px;
}

.selector-group {
    margin-bottom: 30px;
}

.selector-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.options-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.opt-btn {
    padding: 15px;
    border: 2px solid #e2e8f0;
    border-radius: 14px;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    transition: all 0.2s;
    background: #fff;
    color: #475569;
}

.opt-btn.active {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
}

/* WYNIK WIDGETU */
.result-area {
    background: var(--bg-light);
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    border: 2px dashed #cbd5e1;
    transition: 0.3s;
}

.result-tag {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 10px;
    display: block;
}

.result-value {
    font-size: 32px;
    font-weight: 900;
    margin-bottom: 15px;
    display: block;
}

.result-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
    max-width: 600px;
    margin: 0 auto;
}

/* 2. ROZWINIĘTE PODSUMOWANIE TEKSTOWE */
.summary-content {
    padding: 0 10px;
}

.summary-content h3 {
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 20px;
}

.summary-text {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
}

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

.summary-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin: 30px 0;
}

.summary-col {
    background: #fff;
    padding: 25px;
    border-radius: 18px;
    border: 1px solid var(--border-color);
}

.summary-col h4 {
    margin: 0 0 15px 0;
    font-size: 17px;
    font-weight: 800;
}

.summary-col ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.summary-col li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-size: 14px;
}

.summary-col li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--success);
    font-weight: 900;
}

/* STOPKA KONTAKT */
.contact-cta {
    background: #eff6ff;
    border-radius: 20px;
    padding: 35px;
    text-align: center;
    border: 1px solid #bfdbfe;
}

.contact-cta h4 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 900;
}

.contact-cta p {
    margin-bottom: 25px;
    color: #475569;
}

.contact-btn {
    display: inline-block;
    background: var(--accent);
    color: white;
    padding: 16px 35px;
    border-radius: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: 0.3s;
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.4);
}

.contact-btn:hover {
    transform: translateY(-3px);
    background: #1d4ed8;
}

@media (max-width: 768px) {
    .decision-body { padding: 25px; }
    .options-grid { grid-template-columns: 1fr; }
    .summary-split { grid-template-columns: 1fr; }
    .decision-header h2 { font-size: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Asystent Wyboru: Rozstaw rur ogrzewania podłogowego",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywny asystent inżynierski pomagający dobrać optymalny rozstaw rur ogrzewania podłogowego (10 cm lub 15 cm) na podstawie standardu izolacji, źródła ciepła i rodzaju posadzki.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Kalkulacja optymalnego rozstawu rur PEX",
      "Analiza wpływu pompy ciepła i kotła gazowego",
      "Uwzględnienie oporu cieplnego posadzki"
    ]
  }
]
</script>

<div class="premium-summary-module premium-protected" id="final-summary-app">
    
    <div class="decision-card">
        <div class="decision-header">
            <h2>Asystent Wyboru: 10 cm czy 15 cm?</h2>
            <p>Zaznacz swoje parametry, aby otrzymać błyskawiczną rekomendację inżynierską.</p>
        </div>
        
        <div class="decision-body">
            <div class="selector-group">
                <span class="selector-label">1. Standard izolacji budynku:</span>
                <div class="options-grid">
                    <div class="opt-btn active" data-type="iso" data-val="new">Nowy / Pasywny</div>
                    <div class="opt-btn" data-type="iso" data-val="old">Stary / Słaba izolacja</div>
                </div>
            </div>

            <div class="selector-group">
                <span class="selector-label">2. Planowane źródło ciepła:</span>
                <div class="options-grid">
                    <div class="opt-btn active" data-type="heat" data-val="pc">Pompa Ciepła</div>
                    <div class="opt-btn" data-type="heat" data-val="gas">Kocioł Gazowy</div>
                </div>
            </div>

            <div class="selector-group">
                <span class="selector-label">3. Rodzaj posadzki:</span>
                <div class="options-grid">
                    <div class="opt-btn active" data-type="floor" data-val="tiles">Płytki / Kamień</div>
                    <div class="opt-btn" data-type="floor" data-val="wood">Drewno / Panele</div>
                </div>
            </div>

            <div class="result-area" id="summary-result-box">
                <span class="result-tag">Twoja Rekomendacja:</span>
                <span class="result-value" id="final-spacing-val">Rozstaw co 10 cm</span>
                <p class="result-desc" id="final-spacing-desc">Wybrałeś pompę ciepła. Aby pracowała ona z najwyższą sprawnością przy niskiej temperaturze zasilania, gęsty rozstaw rur jest niezbędny.</p>
            </div>
        </div>
    </div>

    <div class="summary-content">
        <h3>Podsumowanie: Rozstaw rur w ogrzewaniu podłogowym co 10 czy 15 cm?</h3>
        <p class="summary-text">
            Ostateczny wybór między <strong>rozstawem 10 cm a 15 cm</strong> to balansowanie między kosztem inwestycji a późniejszym komfortem i kosztami eksploatacji. W nowoczesnym budownictwie dążymy do maksymalnego obniżenia parametrów wody grzewczej, co promuje gęstsze ułożenie rur.
        </p>

        <div class="summary-split">
            <div class="summary-col" style="border-top: 4px solid var(--accent);">
                <h4>Wybierz rozstaw 10 cm, gdy:</h4>
                <ul>
                    <li>Ogrzewasz dom <strong>pompą ciepła</strong> (niskie zasilanie).</li>
                    <li>Planujesz <strong>podłogę drewnianą</strong> lub panele.</li>
                    <li>Projektujesz <strong>łazienkę</strong> lub strefy brzegowe.</li>
                    <li>Budynek ma <strong>słabą izolację</strong> termiczną.</li>
                </ul>
            </div>
            <div class="summary-col" style="border-top: 4px solid var(--success);">
                <h4>Wybierz rozstaw 15 cm, gdy:</h4>
                <ul>
                    <li>Używasz <strong>kotła gazowego</strong> kondensacyjnego.</li>
                    <li>Dom jest w standardzie <strong>energooszczędnym/pasywnym</strong>.</li>
                    <li>Na podłodze znajdą się <strong>płytki ceramiczne</strong>.</li>
                    <li>Chcesz obniżyć <strong>koszty materiałowe</strong> o ok. 25%.</li>
                </ul>
            </div>
        </div>

        <div class="contact-cta">
            <h4>Nie ryzykuj błędów projektowych</h4>
            <p>Pamiętaj, że każdy dom jest inny, a błędy w rozstawie rur są praktycznie nieusuwalne po zalaniu wylewki. Aby uniknąć przewymiarowania systemu lub (co gorsza) niedogrzania pomieszczeń w mroźne dni, warto skonsultować swój przypadek z profesjonalistą.</p>
            <a href="https://projekt-ogrzewania.pl/kontakt/" class="contact-btn">Skonsultuj swój projekt z inżynierem →</a>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // 1. ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowedDomains.includes(domain)) {
        document.getElementById('final-summary-app').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; border: 1px solid #fecaca;">
                <span style="font-size: 48px; margin-bottom: 20px; display: block;">🔒</span>
                <h3 style="margin-top:0; font-size: 24px; font-weight: 900;">Podsumowanie chronione prawem</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5; margin: 0 auto 25px auto;">Ten interaktywny moduł decyzyjny jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany nielegalnie.</p>
                <a href="https://projekt-ogrzewania.pl/" style="padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
        return;
    }

    // 2. LOGIKA WIDGETU DECYZYJNEGO
    const app = document.getElementById('final-summary-app');
    const buttons = app.querySelectorAll('.opt-btn');
    const resVal = document.getElementById('final-spacing-val');
    const resDesc = document.getElementById('final-spacing-desc');
    const resBox = document.getElementById('summary-result-box');

    let state = { iso: 'new', heat: 'pc', floor: 'tiles' };

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            const group = this.getAttribute('data-type');
            const val = this.getAttribute('data-val');

            // UI Update
            app.querySelectorAll(`.opt-btn[data-type="${group}"]`).forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // State Update
            state[group] = val;
            calculateFinal();
        });
    });

    function calculateFinal() {
        let recommendation = "Rozstaw co 15 cm";
        let description = "Twój zestaw parametrów (Nowoczesny dom, Gaz, Płytki) pozwala na zastosowanie rzadszego rozstawu. System będzie wydajny i tańszy w montażu.";
        let color = "var(--success)";

        // Logika: Jeśli stary dom LUB Pompa LUB Drewno -> 10 cm
        if (state.iso === 'old' || state.heat === 'pc' || state.floor === 'wood') {
            recommendation = "Rozstaw co 10 cm";
            color = "var(--accent)";

            if (state.heat === 'pc' && state.floor === 'wood') {
                description = "Wybrałeś pompę ciepła i drewno. Drewno izoluje, a pompa potrzebuje niskiej temperatury zasilania. 10 cm to jedyny bezpieczny wybór.";
            } else if (state.iso === 'old') {
                description = "W starym budownictwie straty ciepła są duże. Rozstaw 10 cm zapewni moc potrzebną do dogrzania pokoju w mroźne dni.";
            } else if (state.heat === 'pc') {
                description = "Dla pompy ciepła kluczowy jest duży zład wody i niska temperatura. Gęsty rozstaw 10 cm drastycznie obniży Twoje rachunki.";
            } else {
                description = "Wybrane parametry wymagają większej powierzchni grzewczej. Rozstaw 10 cm zagwarantuje Ci stabilny komfort cieplny.";
            }
        }

        // Apply
        resVal.innerText = recommendation;
        resVal.style.color = color;
        resDesc.innerText = description;
        resBox.style.borderColor = color;
    }

    calculateFinal(); // Init
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">Rozstaw rur w ogrzewaniu podłogowym co 10 czy 15 cm?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ile wody mieści się w 1 metrze rury PEX / PERT 16.</title>
		<link>https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 04 Feb 2025 20:40:08 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Optymalizacja zużycia energii]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[ciepło w domu]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[optymalizacja systemu]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[pojemność wody w rurach]]></category>
		<category><![CDATA[pompy obiegowe]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[rury pex pert]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2081</guid>

					<description><![CDATA[<p>Czy zastanawiałeś się, ile wody mieści się w 1 metrze rury PEX / PERT 16? To kluczowe pytanie przy projektowaniu instalacji grzewczych i wodnych. Dokładne obliczenia pozwalają na dobór odpowiedniej pompy, minimalizację strat ciepła i optymalizację pracy systemu. W tym artykule pokażemy, jak szybko wyliczyć pojemność wody w rurach PEX/PERT 16, dlaczego warto to wiedzieć oraz jak wykorzystać kalkulator online do szybkich obliczeń. Dzięki temu unikniesz błędów i zoptymalizujesz swoją instalację!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">Ile wody mieści się w 1 metrze rury PEX / PERT 16.</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-primary: #0284c7; /* Hydrauliczny błękit */
    --rk-intro-primary-light: #e0f2fe;
    --rk-intro-accent: #38bdf8; /* Jasny cyjan */
    --rk-intro-warning: #fbbf24;
    --rk-intro-bg: #ffffff;
    --rk-intro-text: #334155;
    --rk-intro-border: #e2e8f0;
}

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

/* Sekcja Bohatera (Hero / Intro) */
.rk-intro-header {
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #172554 100%);
    padding: 45px 50px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-intro-primary);
}

.rk-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(56, 189, 248, 0.15);
    color: var(--rk-intro-accent);
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(56, 189, 248, 0.3);
}

.rk-intro-content {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    align-items: center;
}

.rk-intro-text-box {
    font-size: 16px;
    line-height: 1.8;
    color: #e2e8f0;
}

.rk-intro-text-box strong {
    color: #ffffff;
    font-weight: 800;
    background: rgba(2, 132, 199, 0.4);
    padding: 2px 6px;
    border-radius: 4px;
}

.rk-intro-link {
    color: var(--rk-intro-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-intro-accent);
    transition: all 0.3s;
}

.rk-intro-link:hover {
    color: #ffffff;
    border-bottom-style: solid;
}

/* Interaktywny Widget Hydrauliczny */
.rk-intro-widget {
    background: var(--rk-intro-panel);
    border-radius: 16px;
    padding: 25px;
    box-shadow: inset 0 4px 20px rgba(0,0,0,0.4);
    border: 1px solid #334155;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-widget-title {
    font-size: 14px;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    text-align: center;
}

/* SVG Wizualizacja Zładu */
.rk-widget-svg-box {
    height: 120px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.rk-anim-water-level {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: bottom;
}

.rk-anim-flow {
    stroke-dasharray: 8 8;
    animation: pipeFlow 1.5s linear infinite;
}

@keyframes pipeFlow {
    to { stroke-dashoffset: -16; }
}

/* Sterowanie - Suwak */
.rk-intro-controls {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-intro-labels {
    display: flex;
    justify-content: space-between;
    color: #f8fafc;
    font-size: 14px;
    font-weight: 700;
}

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

.rk-intro-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-intro-accent);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 0 15px rgba(56, 189, 248, 0.5);
    transition: transform 0.1s;
}

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

.rk-widget-result {
    text-align: center;
    background: #0f172a;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid #475569;
}

.rk-val-big {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-intro-accent);
}

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

/* Pasek Informacyjny poniżej */
.rk-intro-footer {
    padding: 20px 50px;
    background: #f8fafc;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--rk-intro-border);
}

.rk-feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-intro-text);
}

.rk-feature-icon {
    width: 32px;
    height: 32px;
    background: var(--rk-intro-primary-light);
    color: var(--rk-intro-primary);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 768px) {
    .rk-intro-header { padding: 30px 20px; }
    .rk-intro-content { grid-template-columns: 1fr; gap: 30px; }
    .rk-intro-footer { flex-direction: column; padding: 20px; align-items: flex-start; }
}
</style>

<!-- JSON-LD (Invisible Data) -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/"
    },
    "headline": "Ile wody mieści się w 1 metrze rury PEX / PERT 16 - Wprowadzenie",
    "description": "Kluczowy parametr hydrauliczny niezbędny do prawidłowego zbalansowania instalacji, doboru naczynia wzbiorczego i stabilnej pracy pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#dataset",
    "name": "Parametry geometryczne i objętościowe rury PEX/PERT 16",
    "description": "Baza danych określająca pojemność wodną rur polietylenowych w instalacjach płaszczyznowych oraz ich wpływ na bezwładność systemu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zład wody w podłogówce",
      "pojemność rury PEX 16",
      "objętość instalacji CO",
      "parametry hydrauliczne",
      "dobór naczynia wzbiorczego"
    ],
    "measurementTechnique": "Wyliczenia oparte na średnicy wewnętrznej rury (ID = 12mm dla 16x2.0) przy użyciu standardowego wzoru na objętość walca.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Pojemność jednostkowa: 0,113 litra na metr bieżący (l/m)",
        "Parametr wejściowy do obliczeń doboru naczynia przeponowego",
        "Kluczowa zmienna do zabezpieczenia minimalnego przepływu dla pompy ciepła"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#webapp",
    "name": "Symulator Przyrostu Zładu Wodnego",
    "description": "Interaktywny widget na żywo przeliczający długość ułożonej pętli grzewczej PEX 16 na rzeczywistą pojemność wody w układzie (w litrach).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript for dynamic SVG rendering",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-app">
    
    <div class="rk-intro-header">
        <div class="rk-intro-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 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg>
            Wstęp Inżynieryjny
        </div>

        <div class="rk-intro-content">
            <!-- Kolumna Tekstowa -->
            <div class="rk-intro-text-box">
                <strong>Ile wody mieści się w 1 metrze rury PEX / PERT 16</strong> określa absolutnie kluczowy parametr hydrauliczny, czyli pojemność jednostkową przewodu grzewczego (średnica zewnętrzna 16 mm). 
                <br><br>
                Dla instalatora i inwestora brak tej wiedzy oznacza ryzyko niedoszacowania <a href="https://projekt-ogrzewania.pl/wiekszy-czy-mniejszy-zlad-wody-w-ogrzewaniu-podlogowym/" class="rk-intro-link">zładu instalacji</a>, niebezpiecznie małego doboru <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/" class="rk-intro-link">naczynia wzbiorczego</a> oraz wysoce niestabilnej pracy <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-intro-link">pompy ciepła</a>. Precyzyjne określenie ilości medium w układzie decyduje o bezwładności termicznej podłogówki oraz efektywności dystrybucji energii w budynku. 
                <br><br>
                W tym artykule rozbijamy ten temat na czynniki pierwsze, podając <strong>twarde wzory, normy oraz gotowe algorytmy</strong> obliczeniowe.
            </div>

            <!-- Kolumna Widgetu -->
            <div class="rk-intro-widget">
                <h4 class="rk-widget-title">Symulator Zładu Instalacji (PEX 16)</h4>
                
                <div class="rk-widget-svg-box">
                    <svg viewBox="0 0 200 120" style="width: 100%; height: 100%;">
                        <!-- Rura zasilająca z animacją przepływu -->
                        <path d="M10 20 L50 20 Q70 20 70 40 L70 90" fill="none" stroke="#334155" stroke-width="12" stroke-linecap="round"/>
                        <path class="rk-anim-flow" d="M10 20 L50 20 Q70 20 70 40 L70 90" fill="none" stroke="#38bdf8" stroke-width="4" stroke-linecap="round"/>
                        
                        <!-- Zbiornik / Bufor reprezentujący całkowitą pojemność -->
                        <path d="M110 20 L110 100 Q110 110 120 110 L170 110 Q180 110 180 100 L180 20" fill="none" stroke="#64748b" stroke-width="4"/>
                        <rect x="112" y="20" width="66" height="88" fill="#1e293b"/>
                        
                        <!-- Animowana woda w zbiorniku -->
                        <g transform="translate(0, 108)">
                            <rect class="rk-anim-water-level" id="svgWaterFill" x="112" y="-88" width="66" height="88" fill="#0284c7" transform="scale(1, 0.1)"/>
                        </g>
                        
                        <!-- Kropelka animacyjna wpadająca z rury -->
                        <circle cx="70" cy="100" r="4" fill="#38bdf8">
                            <animate attributeName="cy" values="90;115;90" dur="1s" repeatCount="indefinite" />
                            <animate attributeName="opacity" values="1;0;0" dur="1s" repeatCount="indefinite" />
                        </circle>
                    </svg>
                </div>

                <div class="rk-intro-controls">
                    <div class="rk-intro-labels">
                        <span>Długość rury:</span>
                        <span id="labelLenOut">10 m</span>
                    </div>
                    <input type="range" class="rk-intro-range" id="pipeSimSlider" min="10" max="1000" step="10" value="10">
                </div>

                <div class="rk-widget-result">
                    <div class="rk-val-big" id="labelVolOut">1.13 <span class="rk-val-unit">Litrów wody</span></div>
                </div>
            </div>
        </div>
    </div>

    <!-- Pasek Dolny -->
    <div class="rk-intro-footer">
        <div class="rk-feature-item">
            <div class="rk-feature-icon"><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></div>
            Zgodność z PN-EN 1264
        </div>
        <div class="rk-feature-item">
            <div class="rk-feature-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>
            Czas czytania: 5 min
        </div>
        <div class="rk-feature-item">
            <div class="rk-feature-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="20" x2="12" y2="10"></line><line x1="18" y1="20" x2="18" y2="4"></line><line x1="6" y1="20" x2="6" y2="16"></line></svg></div>
            Wartość inżynieryjna
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie Domenowe - DOMAIN LOCK
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-intro-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border-top: 4px solid #ef4444; font-family: sans-serif;">
                    <div style="font-size: 32px; margin-bottom: 15px;">⚠️</div>
                    <div style="font-size: 16px; font-weight: 800; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Licencji Kodu</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Ten interaktywny kontener oraz jego struktura JSON-LD są własnością serwisu Projekt-Ogrzewania.pl. Wykryto próbę użycia na nieautoryzowanej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // Logika Symulatora Pojemności
    const slider = document.getElementById('pipeSimSlider');
    const labelLen = document.getElementById('labelLenOut');
    const labelVol = document.getElementById('labelVolOut');
    const waterFill = document.getElementById('svgWaterFill');
    
    const CAPACITY_PER_METER = 0.113; // litra na metr dla rury 16x2.0

    function updateSimulator() {
        const length = parseInt(slider.value);
        const volume = (length * CAPACITY_PER_METER).toFixed(2);
        
        // Aktualizacja tekstów
        labelLen.textContent = length + ' m';
        labelVol.innerHTML = volume + ' <span class="rk-val-unit">Litrów wody</span>';
        
        // Aktualizacja SVG - Skalowanie słupa wody
        // length min = 10, max = 1000
        // Skala Y od 0.05 do 1.0
        const scaleY = Math.max(0.05, length / 1000);
        waterFill.setAttribute('transform', `scale(1, ${scaleY})`);
    }

    // Nasłuchiwanie zdarzeń
    if (slider) {
        slider.addEventListener('input', updateSimulator);
        // Inicjalizacja początkowa
        updateSimulator();
    }
});
</script>



<style>
:root {
    --rk-dim-dark: #0f172a;
    --rk-dim-primary: #2563eb; /* Inżynieryjny kobalt */
    --rk-dim-primary-light: #dbeafe;
    --rk-dim-accent: #f59e0b; /* Pomarańcz ostrzegawczy */
    --rk-dim-danger: #ef4444;
    --rk-dim-bg: #ffffff;
    --rk-dim-surface: #f8fafc;
    --rk-dim-border: #e2e8f0;
    --rk-dim-text: #334155;
    --rk-dim-text-light: #64748b;
}

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

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

.rk-dim-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(219, 234, 254, 0.15);
    color: #93c5fd;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(147, 197, 253, 0.3);
}

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

.rk-dim-title span {
    color: #93c5fd;
}

/* Siatka Kafelków (Zamiast ściany tekstu) */
.rk-dim-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 30px 50px;
    background: var(--rk-dim-bg);
}

.rk-dim-card {
    background: var(--rk-dim-surface);
    border: 1px solid var(--rk-dim-border);
    border-radius: 16px;
    padding: 25px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
}

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

.rk-dim-card-icon {
    width: 40px;
    height: 40px;
    background: #ffffff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-dim-primary);
    margin-bottom: 15px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

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

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

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

/* Linki wewnętrzne */
.rk-dim-link {
    color: var(--rk-dim-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-dim-primary);
    transition: 0.3s;
}
.rk-dim-link:hover { border-bottom-style: solid; color: #1d4ed8; }

/* Interaktywny Mikrometr */
.rk-dim-interactive {
    margin: 0 50px 40px;
    background: #ffffff;
    border: 2px solid var(--rk-dim-border);
    border-radius: 20px;
    padding: 30px;
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 40px;
    align-items: center;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.02);
}

.rk-dim-controls {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-dim-btn {
    padding: 16px 20px;
    background: var(--rk-dim-surface);
    border: 2px solid var(--rk-dim-border);
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-dim-text-light);
    cursor: pointer;
    transition: all 0.3s;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-dim-btn:hover { background: #f1f5f9; }
.rk-dim-btn.active {
    background: var(--rk-dim-primary-light);
    border-color: var(--rk-dim-primary);
    color: var(--rk-dim-primary);
}

.rk-dim-btn.active .rk-dim-radio {
    border-color: var(--rk-dim-primary);
}
.rk-dim-btn.active .rk-dim-radio::after {
    transform: scale(1);
}

.rk-dim-radio {
    width: 20px; height: 20px; border-radius: 50%; border: 2px solid #cbd5e1; display: flex; align-items: center; justify-content: center;
}
.rk-dim-radio::after {
    content: ''; width: 10px; height: 10px; background: var(--rk-dim-primary); border-radius: 50%; transform: scale(0); transition: 0.2s;
}

/* Wizualizacja przekroju */
.rk-dim-visual {
    display: flex;
    gap: 40px;
    align-items: center;
}

.rk-dim-svg-box {
    width: 160px;
    height: 160px;
    position: relative;
    flex-shrink: 0;
}

.rk-dim-stats {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

.rk-stat-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--rk-dim-border);
}

.rk-stat-label { font-size: 13px; font-weight: 700; color: var(--rk-dim-text-light); text-transform: uppercase; }
.rk-stat-val { font-size: 20px; font-weight: 900; color: var(--rk-dim-dark); transition: color 0.3s; }
.rk-stat-val span { font-size: 12px; color: var(--rk-dim-text-light); font-weight: 700; }

.rk-alert-box {
    background: #fef2f2;
    border-left: 4px solid var(--rk-dim-danger);
    padding: 12px 15px;
    border-radius: 0 8px 8px 0;
    font-size: 13px;
    font-weight: 700;
    color: #991b1b;
    margin-top: 10px;
    display: none;
    animation: fadeIn 0.5s ease;
}

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

/* Elementy SVG */
.rk-pipe-outer { fill: #e2e8f0; stroke: #94a3b8; stroke-width: 2; }
.rk-pipe-wall { fill: #cbd5e1; transition: r 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.rk-pipe-inner { fill: #3b82f6; transition: r 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.rk-water-flow { stroke-dasharray: 4 12; animation: dimFlow 1s linear infinite; opacity: 0.5; }

@keyframes dimFlow { to { stroke-dashoffset: -16; } }

/* Oznaczenia wymiarów w SVG */
.rk-dim-line { stroke: var(--rk-dim-dark); stroke-width: 1.5; stroke-dasharray: 2 2; }
.rk-dim-text-svg { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 800; fill: var(--rk-dim-dark); }

@media (max-width: 768px) {
    .rk-dim-header { padding: 30px 20px; }
    .rk-dim-grid { grid-template-columns: 1fr; padding: 20px; gap: 15px; }
    .rk-dim-interactive { grid-template-columns: 1fr; margin: 0 20px 30px; padding: 20px; gap: 25px; }
    .rk-dim-visual { flex-direction: column; text-align: center; gap: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/"
    },
    "headline": "Ile wody mieści się w 1 metrze rury PEX / PERT 16 w standardowych instalacjach?",
    "description": "Dokładna analiza pojemności rur PEX 16x2.0 (113 ml/m) oraz 16x2.2 (106 ml/m) w oparciu o normę PN-EN ISO 15875. Wpływ średnicy wewnętrznej na opory i taktowanie pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#dataset-wstep",
    "name": "Parametry geometryczne i pojemnościowe rur PEX/PERT 16 wg PN-EN ISO 15875",
    "description": "Zestawienie średnic wewnętrznych (ID) oraz odpowiadających im pojemności zładu wodnego na metr bieżący dla rur instalacji płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zład wody rura PEX 16",
      "średnica wewnętrzna rury ogrzewania",
      "PN-EN ISO 15875",
      "taktowanie pompy ciepła przez mały zład",
      "objętość pętli ogrzewania podłogowego"
    ],
    "measurementTechnique": "Obliczenia objętości walca na podstawie wymiarów nominalnych określonych w normie PN-EN ISO 15875-2:2005.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura PEX 16 ze ścianką 2.0 mm = Średnica wewnętrzna 12.0 mm = Pojemność 0.113 l/m.",
        "Rura PEX 16 ze ścianką 2.2 mm = Średnica wewnętrzna 11.6 mm = Pojemność 0.106 l/m."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#webapp-wstep",
    "name": "Wirtualny Mikrometr Rury PEX",
    "description": "Interaktywne narzędzie edukacyjne pozwalające inwestorom na wizualizację różnic w średnicy wewnętrznej rur grzewczych i ich wpływu na pojemność wodną układu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS Transitions and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dim-container" id="rk-dim-app">
    <div class="rk-dim-header">
        <div class="rk-dim-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
            Analiza Geometryczna
        </div>
        <h2 class="rk-dim-title">Pojemność PEX 16 – <span>Prawda o Średnicy Wewnętrznej</span></h2>
    </div>

    <!-- Kafelki Informacyjne -->
    <div class="rk-dim-grid">
        <div class="rk-dim-card">
            <div class="rk-dim-card-icon">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><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>
            </div>
            <h3>Standard wg Normy</h3>
            <p>W standardowej rurze 16&#215;2.0 mm mieści się <strong>0,113 litra wody</strong> (113 ml) na metr, co określa norma <a href="https://projekt-ogrzewania.pl/norma-en-iso-15875/" class="rk-dim-link">PN-EN ISO 15875</a>. Dla tańszych rur 16&#215;2.2 mm pojemność spada do <strong>0,106 litra</strong>. To absolutny fundament obliczeń.</p>
        </div>

        <div class="rk-dim-card">
            <div class="rk-dim-card-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="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>
            </div>
            <h3>Fizyka Przepływu</h3>
            <p>Średnica zewnętrzna (OD = 16 mm) to tylko wymiar montażowy. Dla hydrauliki liczy się wyłącznie średnica wewnętrzna (<strong>ID 12,0 mm vs 11,6 mm</strong>). Ta przestrzeń decyduje o oporze i transporcie energii cieplnej.</p>
        </div>

        <div class="rk-dim-card">
            <div class="rk-dim-card-icon" style="color: var(--rk-dim-danger);">
                <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>
            </div>
            <h3>Błąd za 45 000 PLN</h3>
            <p>Projektowanie zładu &#8222;na oko&#8221; i przeszacowanie pojemności to główna przyczyna <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/" class="rk-dim-link">niestabilnej pracy</a> i zabójczego dla sprężarek taktowania <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-dim-link">pompy ciepła</a>.</p>
        </div>
    </div>

    <!-- Narzędzie Interaktywne -->
    <div class="rk-dim-interactive">
        <div class="rk-dim-controls">
            <button class="rk-dim-btn active" id="rkBtn20">
                Wersja 16&#215;2.0 (Standard)
                <div class="rk-dim-radio"></div>
            </button>
            <button class="rk-dim-btn" id="rkBtn22">
                Wersja 16&#215;2.2 (Market)
                <div class="rk-dim-radio"></div>
            </button>
        </div>

        <div class="rk-dim-visual">
            <div class="rk-dim-svg-box">
                <svg viewBox="0 0 100 100" width="100%" height="100%">
                    <!-- Rura Zewnętrzna 16mm -->
                    <circle class="rk-pipe-outer" cx="50" cy="50" r="45"/>
                    <!-- Ścianka rury - początkowo 2.0 (skalowana relatywnie) -->
                    <circle class="rk-pipe-wall" id="svgWall" cx="50" cy="50" r="45"/>
                    <!-- Wnętrze (woda) -->
                    <circle class="rk-pipe-inner" id="svgWater" cx="50" cy="50" r="33"/>
                    
                    <!-- Animacja przepływu -->
                    <circle class="rk-water-flow" cx="50" cy="50" r="20" fill="none" stroke="#60a5fa" stroke-width="6"/>
                    <circle class="rk-water-flow" cx="50" cy="50" r="10" fill="none" stroke="#93c5fd" stroke-width="4" style="animation-direction: reverse; animation-duration: 2s;"/>

                    <!-- Wymiary (Zmienne) -->
                    <path class="rk-dim-line" d="M 17 50 L 5 50" />
                    <path class="rk-dim-line" d="M 83 50 L 95 50" />
                    <text class="rk-dim-text-svg" x="50" y="54" text-anchor="middle" id="svgIdText">ID: 12.0</text>
                </svg>
            </div>

            <div class="rk-dim-stats">
                <div class="rk-stat-row">
                    <div class="rk-stat-label">Grubość ścianki (g)</div>
                    <div class="rk-stat-val" id="valWall">2.0 <span>mm</span></div>
                </div>
                <div class="rk-stat-row">
                    <div class="rk-stat-label">Średnica wewnętrzna (ID)</div>
                    <div class="rk-stat-val" id="valID" style="color: var(--rk-dim-primary);">12.0 <span>mm</span></div>
                </div>
                <div class="rk-stat-row" style="border:none; padding:0;">
                    <div class="rk-stat-label">Pojemność / 100m</div>
                    <div class="rk-stat-val" id="valCap">11.3 <span>Litrów</span></div>
                </div>
                
                <div class="rk-alert-box" id="warnBox">
                    Zmniejszony przekrój generuje wyższe opory! Pompa ciepła wymaga kalibracji.
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (DOMAIN LOCK)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-dim-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border:2px solid #ef4444; border-radius:20px; font-weight:800;">
                BŁĄD LICENCJI: Kod należy do projekt-ogrzewania.pl
            </div>`;
        return;
    }

    // 2. Logika Mikrometru
    const btn20 = document.getElementById('rkBtn20');
    const btn22 = document.getElementById('rkBtn22');
    
    // SVG Elements
    const svgWall = document.getElementById('svgWall');
    const svgWater = document.getElementById('svgWater');
    const svgIdText = document.getElementById('svgIdText');
    
    // Text Values
    const valWall = document.getElementById('valWall');
    const valID = document.getElementById('valID');
    const valCap = document.getElementById('valCap');
    const warnBox = document.getElementById('warnBox');

    if (btn20 && btn22) {
        btn20.addEventListener('click', () => {
            btn22.classList.remove('active');
            btn20.classList.add('active');
            
            // Wizualizacja (Promienie relatywne dla efektu wizualnego)
            svgWall.setAttribute('r', '45');
            svgWater.setAttribute('r', '33'); // Właściwa średnica
            svgIdText.textContent = 'ID: 12.0';
            
            // Wartości
            valWall.innerHTML = '2.0 <span>mm</span>';
            valID.innerHTML = '12.0 <span>mm</span>';
            valID.style.color = 'var(--rk-dim-primary)';
            valCap.innerHTML = '11.3 <span>Litrów</span>';
            
            // Ostrzeżenie
            warnBox.style.display = 'none';
        });

        btn22.addEventListener('click', () => {
            btn20.classList.remove('active');
            btn22.classList.add('active');
            
            // Wizualizacja - grubsza ścianka = mniejsze r wnętrza
            svgWall.setAttribute('r', '45');
            svgWater.setAttribute('r', '27'); // Węższe światło rury
            svgIdText.textContent = 'ID: 11.6';
            
            // Wartości
            valWall.innerHTML = '2.2 <span>mm</span>';
            valID.innerHTML = '11.6 <span>mm</span>';
            valID.style.color = 'var(--rk-dim-danger)';
            valCap.innerHTML = '10.6 <span>Litrów</span>';
            
            // Ostrzeżenie
            warnBox.style.display = 'block';
        });
    }
});
</script>



<style>
:root {
    --rk-wall-dark: #0f172a;
    --rk-wall-primary: #0284c7;
    --rk-wall-primary-light: #e0f2fe;
    --rk-wall-alert: #ef4444; /* Czerwony dla oporów */
    --rk-wall-alert-light: #fee2e2;
    --rk-wall-bg: #ffffff;
    --rk-wall-surface: #f8fafc;
    --rk-wall-border: #cbd5e1;
    --rk-wall-text: #334155;
    --rk-wall-muted: #64748b;
}

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

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

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

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

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

/* Kafelki z teorią (zamiast ściany tekstu) */
.rk-wall-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 30px 50px;
    background: var(--rk-wall-bg);
}

.rk-wall-card {
    background: var(--rk-wall-surface);
    border: 1px solid var(--rk-wall-border);
    border-radius: 16px;
    padding: 25px;
    position: relative;
    transition: all 0.3s ease;
}

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

.rk-wall-card-icon {
    width: 44px;
    height: 44px;
    background: #ffffff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-wall-primary);
    margin-bottom: 15px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

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

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

.rk-wall-formula {
    background: #e2e8f0;
    padding: 8px 12px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-wall-dark);
    margin-top: 10px;
    display: inline-block;
}

.rk-wall-link {
    color: var(--rk-wall-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-wall-primary);
    transition: 0.3s;
}
.rk-wall-link:hover { border-bottom-style: solid; color: #0369a1; }

/* Sekcja Interaktywna - Symulator */
.rk-wall-interactive {
    margin: 0 50px 40px;
    background: #ffffff;
    border: 2px solid var(--rk-wall-border);
    border-radius: 20px;
    padding: 30px;
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.02);
}

/* Kontrolki (Przełącznik) */
.rk-wall-controls {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-wall-toggle-btn {
    padding: 16px 20px;
    background: var(--rk-wall-surface);
    border: 2px solid var(--rk-wall-border);
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-wall-muted);
    cursor: pointer;
    transition: all 0.3s;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.rk-wall-toggle-btn:hover { background: #f1f5f9; }
.rk-wall-toggle-btn.active {
    background: var(--rk-wall-primary-light);
    border-color: var(--rk-wall-primary);
    color: var(--rk-wall-primary);
}
.rk-wall-toggle-btn.active[data-wall="2.2"] {
    background: var(--rk-wall-alert-light);
    border-color: var(--rk-wall-alert);
    color: var(--rk-wall-alert);
}

/* Panel Danych i SVG */
.rk-wall-dashboard {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-wall-visuals {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 20px;
    align-items: center;
}

.rk-svg-cross { width: 100%; max-width: 140px; height: auto; margin: 0 auto; display: block; }
.rk-svg-flow { width: 100%; height: 60px; }

/* Animacje SVG */
.rk-anim-inner-pipe { transition: r 0.4s cubic-bezier(0.4, 0, 0.2, 1), fill 0.4s; }
.rk-anim-flow-lines { stroke-dasharray: 15 15; transition: stroke 0.4s; }

@keyframes flowFast { to { stroke-dashoffset: -30; } }
@keyframes flowSlow { to { stroke-dashoffset: -15; } }

.flow-state-normal { animation: flowSlow 1.5s linear infinite; stroke: var(--rk-wall-primary); }
.flow-state-alert { animation: flowFast 0.6s linear infinite; stroke: var(--rk-wall-alert); }

/* Wyniki (Tabela) */
.rk-wall-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-wall-data-box {
    background: var(--rk-wall-surface);
    padding: 15px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-wall-primary);
    transition: all 0.3s;
}

.rk-wall-data-box.alert-mode {
    border-left-color: var(--rk-wall-alert);
    background: #fef2f2;
}

.rk-data-label { font-size: 12px; font-weight: 800; color: var(--rk-wall-muted); text-transform: uppercase; margin-bottom: 5px; }
.rk-data-val { font-size: 22px; font-weight: 900; color: var(--rk-wall-dark); }
.rk-data-val span { font-size: 13px; font-weight: 700; color: var(--rk-wall-muted); }

.rk-wall-data-box.alert-mode .rk-data-val { color: var(--rk-wall-alert); }

@media (max-width: 768px) {
    .rk-wall-header { padding: 30px 20px; }
    .rk-wall-grid { grid-template-columns: 1fr; padding: 20px; }
    .rk-wall-interactive { grid-template-columns: 1fr; margin: 0 20px 30px; padding: 20px; }
    .rk-wall-visuals { grid-template-columns: 1fr; gap: 30px; }
    .rk-wall-data-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#article-scianka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/"
    },
    "headline": "Dlaczego grubość ścianki rury PEX/PERT ma kluczowe znaczenie dla pojemności wodnej?",
    "description": "Zmiana grubości ścianki z 2.0 mm na 2.2 mm redukuje pojemność rury o 6.2%, co drastycznie zwiększa opory hydrauliczne i obciąża pompę obiegową, generując wyższe koszty.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#dataset-scianka",
    "name": "Wpływ grubości ścianki na pole przekroju i opory liniowe",
    "description": "Zestawienie zmian średnicy wewnętrznej (ID) rury PEX 16 i wynikających z tego różnic w objętości (113 ml vs 106 ml) oraz wpływu na opory w paskalach na metr (Pa/m).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opory hydrauliczne ogrzewania",
      "grubość ścianki PEX 16",
      "pojemność wodna rury",
      "pole przekroju koła instalacje",
      "koszty pompy obiegowej"
    ],
    "measurementTechnique": "Obliczenia pola przekroju poprzecznego z wykorzystaniem liczby Pi oraz średnicy wewnętrznej (ID), zestawiające rury o ściance 2.0 mm i 2.2 mm.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ścianka 2.0 mm: ID = 12.0 mm, Pojemność = 0.113 l/m, Optymalne opory hydrauliczne.",
        "Ścianka 2.2 mm: ID = 11.6 mm, Pojemność = 0.106 l/m, Spadek pojemności o 6.2%, Wzrost oporów powyżej 150-200 Pa/m."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#webapp-scianka",
    "name": "Kalkulator Przekroju i Oporów Hydraulicznych",
    "description": "Interaktywne narzędzie wizualizujące wpływ zmiany grubości ścianki rury (2.0 mm vs 2.2 mm) na pole przekroju, dynamikę przepływu i koszty eksploatacyjne pompy obiegowej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS Animations, and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-wall-container" id="rk-wall-app">
    
    <div class="rk-wall-header">
        <div class="rk-wall-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg>
            Fizyka Budowli
        </div>
        <h2 class="rk-wall-title">Grubość ścianki PEX a <span>pojemność i opory hydrauliczne</span></h2>
    </div>

    <div class="rk-wall-grid">
        <!-- Karta 1 -->
        <div class="rk-wall-card">
            <div class="rk-wall-card-icon">
                <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>
            </div>
            <h3>Geometria i Pojemność</h3>
            <p>Zmiana grubości ścianki rury z 2,0 na 2,2 mm redukuje wewnętrzne pole przekroju. Pojemność na metrze spada ze <strong>113 ml do 106 ml</strong> (ubytek 6,2%).</p>
            <div class="rk-wall-formula">A = (π × ID²) / 4</div>
        </div>

        <!-- Karta 2 -->
        <div class="rk-wall-card">
            <div class="rk-wall-card-icon">
                <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            </div>
            <h3>Opory Hydrauliczne</h3>
            <p>Mniejsza średnica to wyższa prędkość liniowa płynu. Przekroczenie granicznych oporów <strong>150-200 Pa/m</strong> w pętli zmusza pompę do pracy na wysokim biegu.</p>
        </div>

        <!-- Karta 3 -->
        <div class="rk-wall-card">
            <div class="rk-wall-card-icon" style="color: var(--rk-wall-alert);">
                <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 1v22M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            </div>
            <h3>Koszty Eksploatacji</h3>
            <p>Zmiana geometrii rury bez przeliczenia wymusza korektę <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" class="rk-wall-link">rozdzielacza</a> i podnosi zużycie prądu przez <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" class="rk-wall-link">pompę obiegową</a> o kolejne <strong>150-300 PLN</strong> rocznie.</p>
        </div>
    </div>

    <!-- Symulator Interaktywny -->
    <div class="rk-wall-interactive">
        
        <div class="rk-wall-controls">
            <button class="rk-wall-toggle-btn active" data-wall="2.0" id="btnWall20">
                Ścianka: 2.0 mm
                <div style="font-size: 11px; font-weight: 500; margin-top:4px;">Standardowa pojemność</div>
            </button>
            <button class="rk-wall-toggle-btn" data-wall="2.2" id="btnWall22">
                Ścianka: 2.2 mm
                <div style="font-size: 11px; font-weight: 500; margin-top:4px;">Grubsza ścianka (Market)</div>
            </button>
        </div>

        <div class="rk-wall-dashboard">
            <div class="rk-wall-visuals">
                <!-- Przekrój Rury -->
                <svg class="rk-svg-cross" viewBox="0 0 100 100">
                    <circle cx="50" cy="50" r="45" fill="#f1f5f9" stroke="#94a3b8" stroke-width="2"/>
                    <circle id="svgCrossWall" cx="50" cy="50" r="38" fill="#e2e8f0" stroke="#cbd5e1" stroke-width="1"/>
                    <circle id="svgCrossWater" class="rk-anim-inner-pipe" cx="50" cy="50" r="34" fill="#0ea5e9"/>
                    <!-- Wymiar ID -->
                    <line x1="16" y1="50" x2="84" y2="50" stroke="#ffffff" stroke-width="2" stroke-dasharray="2 2"/>
                    <text x="50" y="45" fill="#ffffff" font-size="12" font-weight="bold" text-anchor="middle" id="svgIdText">ID: 12.0 mm</text>
                </svg>

                <!-- Animacja Przepływu -->
                <svg class="rk-svg-flow" viewBox="0 0 200 60">
                    <path d="M 0 5 L 200 5 M 0 55 L 200 55" stroke="#94a3b8" stroke-width="4" fill="none"/>
                    <path id="svgFlowPipe" d="M 0 15 L 200 15 M 0 45 L 200 45" stroke="#cbd5e1" stroke-width="2" fill="none" class="rk-anim-inner-pipe"/>
                    <path id="svgFlowWater" class="rk-anim-flow-lines flow-state-normal" d="M 0 30 L 200 30" stroke-width="14" fill="none" stroke-linecap="round"/>
                </svg>
            </div>

            <div class="rk-wall-data-grid">
                <div class="rk-wall-data-box" id="boxVolume">
                    <div class="rk-data-label">Pojemność / 1 m</div>
                    <div class="rk-data-val" id="valVol">0,113 <span>Litrów</span></div>
                </div>
                <div class="rk-wall-data-box" id="boxResistance">
                    <div class="rk-data-label">Opory liniowe i Pompa</div>
                    <div class="rk-data-val" id="valRes">Optymalne <span>prędkości</span></div>
                </div>
            </div>
        </div>

    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (DOMAIN LOCK)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-wall-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border:2px solid #ef4444; border-radius:20px; font-weight:800;">
                BŁĄD LICENCJI: Ten interaktywny element jest własnością projekt-ogrzewania.pl
            </div>`;
        return;
    }

    // 2. Logika Symulatora
    const btn20 = document.getElementById('btnWall20');
    const btn22 = document.getElementById('btnWall22');
    
    // SVG Elements
    const svgCrossWater = document.getElementById('svgCrossWater');
    const svgIdText = document.getElementById('svgIdText');
    const svgFlowPipe = document.getElementById('svgFlowPipe');
    const svgFlowWater = document.getElementById('svgFlowWater');
    
    // Data Boxes
    const boxVolume = document.getElementById('boxVolume');
    const boxResistance = document.getElementById('boxResistance');
    const valVol = document.getElementById('valVol');
    const valRes = document.getElementById('valRes');

    if(btn20 && btn22) {
        btn20.addEventListener('click', () => {
            // UI State
            btn22.classList.remove('active');
            btn20.classList.add('active');
            boxResistance.classList.remove('alert-mode');
            
            // SVG Cross Section Update
            svgCrossWater.setAttribute('r', '34');
            svgCrossWater.setAttribute('fill', '#0ea5e9'); // Niebieski
            svgIdText.textContent = 'ID: 12.0 mm';
            
            // SVG Flow Update
            svgFlowPipe.setAttribute('d', 'M 0 15 L 200 15 M 0 45 L 200 45');
            svgFlowWater.className.baseVal = 'rk-anim-flow-lines flow-state-normal';
            
            // Data Update
            valVol.innerHTML = '0,113 <span>Litrów</span>';
            valRes.innerHTML = 'Optymalne <span>prędkości</span>';
        });

        btn22.addEventListener('click', () => {
            // UI State
            btn20.classList.remove('active');
            btn22.classList.add('active');
            boxResistance.classList.add('alert-mode');
            
            // SVG Cross Section Update
            svgCrossWater.setAttribute('r', '27');
            svgCrossWater.setAttribute('fill', '#ef4444'); // Czerwony
            svgIdText.textContent = 'ID: 11.6 mm';
            
            // SVG Flow Update (Zwężenie rury)
            svgFlowPipe.setAttribute('d', 'M 0 22 L 200 22 M 0 38 L 200 38');
            svgFlowWater.className.baseVal = 'rk-anim-flow-lines flow-state-alert';
            
            // Data Update
            valVol.innerHTML = '0,106 <span>Litrów</span>';
            valRes.innerHTML = '> 150 Pa/m <span>(Przeciążenie)</span>';
        });
    }
});
</script>



<style>
:root {
    --rk-dash-dark: #0f172a;
    --rk-dash-panel: #1e293b;
    --rk-dash-primary: #8b5cf6; /* Ekspercki fiolet/indygo dla odmiany */
    --rk-dash-primary-light: #ede9fe;
    --rk-dash-alert: #ef4444; /* Czerwony alarmowy */
    --rk-dash-alert-bg: #450a0a;
    --rk-dash-success: #10b981;
    --rk-dash-success-bg: #064e3b;
    --rk-dash-bg: #ffffff;
    --rk-dash-text: #334155;
    --rk-dash-muted: #94a3b8;
    --rk-dash-border: #e2e8f0;
}

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

/* Header - Pełna szerokość */
.rk-dash-header {
    background: linear-gradient(90deg, var(--rk-dash-dark) 0%, #2e1065 100%);
    padding: 40px 50px;
    color: #ffffff;
    position: relative;
}

.rk-dash-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(167, 139, 250, 0.2);
    color: #c4b5fd;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(167, 139, 250, 0.3);
}

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

.rk-dash-title span { color: #a78bfa; }

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

.rk-dash-link-light {
    color: #c4b5fd;
    text-decoration: none;
    border-bottom: 1px dashed #c4b5fd;
    font-weight: 700;
    transition: 0.3s;
}
.rk-dash-link-light:hover { color: #fff; border-bottom-style: solid; }

/* Ciało kontenera - Split layout (nie kafelki!) */
.rk-dash-body {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    background: #ffffff;
}

/* Lewa strona - Lista konsekwencji (Timeline style) */
.rk-dash-theory {
    padding: 40px 50px;
    border-right: 1px solid var(--rk-dash-border);
    background: #f8fafc;
}

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

.rk-timeline {
    position: relative;
    padding-left: 30px;
}

.rk-timeline::before {
    content: '';
    position: absolute;
    top: 0; left: 11px; bottom: 0;
    width: 2px;
    background: var(--rk-dash-border);
}

.rk-timeline-item {
    position: relative;
    margin-bottom: 30px;
}

.rk-timeline-item:last-child { margin-bottom: 0; }

.rk-timeline-dot {
    position: absolute;
    left: -35px; top: 0;
    width: 24px; height: 24px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid var(--rk-dash-alert);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 0 0 4px #f8fafc;
}

.rk-timeline-dot svg { width: 12px; height: 12px; color: var(--rk-dash-alert); }

.rk-timeline-content h4 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-dash-dark);
}

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

/* Prawa strona - Panel sterowania i symulator (Mroczny tech-look) */
.rk-dash-simulator {
    padding: 40px;
    background: var(--rk-dash-panel);
    color: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.rk-sim-controls {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

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

.rk-slider-labels {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-dash-muted);
    text-transform: uppercase;
}

.rk-slider-val { color: #ffffff; font-size: 15px; font-weight: 900; }

.rk-dash-range {
    -webkit-appearance: none;
    width: 100%; height: 6px;
    border-radius: 3px;
    background: #334155;
    outline: none;
}
.rk-dash-range::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none;
    width: 20px; height: 20px; border-radius: 50%;
    background: var(--rk-dash-primary);
    cursor: pointer; border: 3px solid #ffffff;
    box-shadow: 0 0 10px rgba(139, 92, 246, 0.5);
    transition: 0.1s;
}
.rk-dash-range::-webkit-slider-thumb:active { transform: scale(1.2); }

/* Ekran parametrów bieżących */
.rk-sim-screen {
    background: #0f172a;
    border: 1px solid #334155;
    border-radius: 12px;
    padding: 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    position: relative;
    overflow: hidden;
}

.rk-screen-col { display: flex; flex-direction: column; gap: 5px; }
.rk-screen-label { font-size: 11px; color: var(--rk-dash-muted); text-transform: uppercase; font-weight: 800; }
.rk-screen-value { font-size: 22px; font-weight: 900; font-family: monospace; }
.rk-screen-value span { font-size: 12px; color: #64748b; }

/* SVG Wizualizacja */
.rk-sim-visual {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    background: #0f172a;
    border-radius: 12px;
    border: 1px solid #334155;
    height: 140px;
}

.rk-svg-tank { width: 80px; height: 100px; }
.rk-svg-fan { width: 100px; height: 100px; }

/* Animacje w zależności od stanu */
.state-stable .rk-screen-value.dynamic-cop { color: var(--rk-dash-success); }
.state-stable .rk-fan-blades { animation: spinFan 2s linear infinite; transform-origin: center; }
.state-stable .rk-fan-housing { stroke: var(--rk-dash-success); }
.state-stable .rk-sim-screen { border-color: var(--rk-dash-success); box-shadow: inset 0 0 20px var(--rk-dash-success-bg); }

.state-alert .rk-screen-value.dynamic-cop { color: var(--rk-dash-alert); }
.state-alert .rk-fan-blades { animation: tacticFan 1.5s ease-in-out infinite; transform-origin: center; }
.state-alert .rk-fan-housing { stroke: var(--rk-dash-alert); }
.state-alert .rk-sim-screen { border-color: var(--rk-dash-alert); box-shadow: inset 0 0 20px var(--rk-dash-alert-bg); }

@keyframes spinFan { to { transform: rotate(360deg); } }
@keyframes tacticFan { 
    0% { transform: rotate(0deg); } 
    20% { transform: rotate(180deg); } 
    50% { transform: rotate(180deg); }
    70% { transform: rotate(360deg); }
    100% { transform: rotate(360deg); }
}

.rk-tank-fill { transition: y 0.3s, height 0.3s, fill 0.3s; }
.rk-tank-req-line { transition: y 0.3s; }

@media (max-width: 768px) {
    .rk-dash-header { padding: 30px 20px; }
    .rk-dash-body { grid-template-columns: 1fr; }
    .rk-dash-theory { padding: 30px 20px; border-right: none; border-bottom: 1px solid var(--rk-dash-border); }
    .rk-dash-simulator { padding: 30px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#article-konsekwencje",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/"
    },
    "headline": "Konsekwencje błędnego obliczenia zładu wody – Taktowanie Pompy Ciepła",
    "description": "Niedoszacowanie objętości zładu prowadzi do częstego załączania sprężarki, drastycznego spadku wskaźnika COP z 4.5 do 3.1 i wzrostu rachunków za prąd o 30%.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#dataset-konsekwencje",
    "name": "Wpływ deficytu zładu wody na efektywność sprężarki",
    "description": "Analiza bilansu hydraulicznego instalacji podłogowej względem wymaganej mocy nominalnej źródła ciepła. Prezentuje spadek wskaźnika COP i ryzyko uszkodzeń mechanicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "taktowanie pompy ciepła",
      "minimalny zład wody",
      "żywotność sprężarki",
      "spadek COP",
      "obliczenia zładu CO"
    ],
    "measurementTechnique": "Analiza bilansu hydraulicznego (V_min vs V_rzeczywiste) względem mocy nominalnej źródła ciepła (zakładane min. 20 l/kW).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymóg producenta: Zład minimalny na poziomie 20 litrów na 1 kW mocy pompy ciepła.",
        "Skutek deficytu: Taktowanie sprężarki (cykle 10-15 minutowe), spadek COP z 4.5 do 3.1.",
        "Skutek nagłego zamknięcia pętli: Uderzenia hydrauliczne niszczące zawory na belkach rozdzielacza."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#webapp-konsekwencje",
    "name": "Symulator Taktowania Sprężarki",
    "description": "Interaktywny pulpit pozwalający zasymulować deficyt zładu wody na podstawie mocy pompy ciepła i długości pętli PEX 16. Obrazuje moment wystąpienia taktowania i spadek sprawności.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS Variables, and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dash-container" id="rk-dash-app">
    
    <!-- Header -->
    <div class="rk-dash-header">
        <div class="rk-dash-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>
            Krytyczne Błędy
        </div>
        <h2 class="rk-dash-title">Błędny zład wody a <span>awaria systemu</span></h2>
        <p class="rk-dash-intro">
            Niedoszacowanie pojemności prowadzi do braku wymaganego minimum (np. 20 l/kW mocy nominalnej). Skutkuje to <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" class="rk-dash-link-light">taktowaniem pompy ciepła</a>. Wymiana zniszczonej przedwcześnie sprężarki to koszt rzędu <strong>12 000 PLN</strong>.
        </p>
    </div>

    <!-- Body / Split -->
    <div class="rk-dash-body">
        
        <!-- Kolumna 1: Teoria / Timeline -->
        <div class="rk-dash-theory">
            <h3 class="rk-dash-h3">Skutki taktowania co 10-15 minut:</h3>
            
            <div class="rk-timeline">
                <div class="rk-timeline-item">
                    <div class="rk-timeline-dot"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg></div>
                    <div class="rk-timeline-content">
                        <h3>Drastyczny spadek COP</h3>
                        <p>Krótkie cykle nie pozwalają układowi chłodniczemu osiągnąć nominalnych parametrów. Deklarowany wskaźnik COP spada z poziomu <strong>4,5 do 3,1</strong>.</p>
                    </div>
                </div>

                <div class="rk-timeline-item">
                    <div class="rk-timeline-dot"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><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="rk-timeline-content">
                        <h3>Wzrost rachunków za prąd</h3>
                        <p>Zaburzona praca inwertera i ciągłe rozruchy przekładają się na bezpośredni wzrost kosztów energii elektrycznej o <strong>25-30% w skali roku</strong>.</p>
                    </div>
                </div>

                <div class="rk-timeline-item">
                    <div class="rk-timeline-dot"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg></div>
                    <div class="rk-timeline-content">
                        <h3>Uderzenia hydrauliczne</h3>
                        <p>Nagłe zamykanie obwodów przez <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/" class="rk-dash-link-light" style="color: var(--rk-dash-primary);">siłowniki termoelektryczne</a> niszczy gniazda zaworów na belkach rozdzielacza i uszkadza uszczelnienia.</p>
                    </div>
                </div>
            </div>
        </div>

        <!-- Kolumna 2: Symulator Interfejs -->
        <div class="rk-dash-simulator" id="simWrapper">
            
            <div class="rk-sim-controls">
                <!-- Slider 1: Moc Pompy -->
                <div class="rk-slider-group">
                    <div class="rk-slider-labels">
                        <span>Moc nominalna PC (Q):</span>
                        <span class="rk-slider-val" id="valPowOut">8 kW</span>
                    </div>
                    <input type="range" class="rk-dash-range" id="sliderPower" min="5" max="16" step="1" value="8">
                </div>

                <!-- Slider 2: Długość Rur -->
                <div class="rk-slider-group">
                    <div class="rk-slider-labels">
                        <span>Łączna dł. PEX 16&#215;2.0:</span>
                        <span class="rk-slider-val" id="valLenOut">1000 m</span>
                    </div>
                    <input type="range" class="rk-dash-range" id="sliderPipe" min="400" max="1800" step="50" value="1000">
                </div>
            </div>

            <!-- Parametry Live -->
            <div class="rk-sim-screen">
                <div class="rk-screen-col">
                    <div class="rk-screen-label">Wymagany zład (20 l/kW)</div>
                    <div class="rk-screen-value" id="dispReq">160 <span>L</span></div>
                </div>
                <div class="rk-screen-col">
                    <div class="rk-screen-label">Zład faktyczny (+15L osprzętu)</div>
                    <div class="rk-screen-value" id="dispAct">128 <span>L</span></div>
                </div>
                <div class="rk-screen-col" style="grid-column: span 2;">
                    <div class="rk-screen-label">Stan Pracy (Wskaźnik COP)</div>
                    <div class="rk-screen-value dynamic-cop" id="dispCop">~ 3.1 <span>(Taktowanie)</span></div>
                </div>
            </div>

            <!-- SVG Wizualizacja Zbiornik + Wiatrak -->
            <div class="rk-sim-visual">
                <!-- Zład wody - Zbiornik -->
                <svg class="rk-svg-tank" viewBox="0 0 100 120">
                    <!-- Obudowa -->
                    <path d="M 10 10 L 10 110 Q 10 115 15 115 L 85 115 Q 90 115 90 110 L 90 10" fill="none" stroke="#475569" stroke-width="4"/>
                    <!-- Woda (Dynamiczna) -->
                    <rect id="svgTankWater" class="rk-tank-fill" x="12" y="50" width="76" height="63" fill="#ef4444" opacity="0.8"/>
                    <!-- Linia Wymagana (Dynamiczna) -->
                    <line id="svgTankReq" class="rk-tank-req-line" x1="5" y1="30" x2="95" y2="30" stroke="#f8fafc" stroke-width="2" stroke-dasharray="4 2"/>
                    <text id="svgTankText" x="50" y="25" fill="#f8fafc" font-size="10" font-weight="bold" text-anchor="middle">V min</text>
                </svg>

                <!-- Wiatrak pompy ciepła (Animowany) -->
                <svg class="rk-svg-fan" viewBox="0 0 100 100">
                    <circle class="rk-fan-housing" cx="50" cy="50" r="45" fill="#020617" stroke="#ef4444" stroke-width="4"/>
                    <circle cx="50" cy="50" r="40" fill="none" stroke="#334155" stroke-width="1"/>
                    <g class="rk-fan-blades">
                        <path d="M 50 50 L 50 15 Q 65 15 65 50 Z" fill="#94a3b8"/>
                        <path d="M 50 50 L 50 85 Q 35 85 35 50 Z" fill="#94a3b8"/>
                        <path d="M 50 50 L 85 50 Q 85 65 50 65 Z" fill="#94a3b8"/>
                        <path d="M 50 50 L 15 50 Q 15 35 50 35 Z" fill="#94a3b8"/>
                    </g>
                    <circle cx="50" cy="50" r="8" fill="#cbd5e1"/>
                </svg>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (DOMAIN LOCK)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-dash-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border:2px solid #ef4444; border-radius:20px; font-weight:800;">
                BŁĄD LICENCJI: Ten interfejs jest własnością projekt-ogrzewania.pl
            </div>`;
        return;
    }

    // 2. Logika Symulatora (Dashboard)
    const powerSlider = document.getElementById('sliderPower');
    const pipeSlider = document.getElementById('sliderPipe');
    
    // Outputs
    const valPowOut = document.getElementById('valPowOut');
    const valLenOut = document.getElementById('valLenOut');
    const dispReq = document.getElementById('dispReq');
    const dispAct = document.getElementById('dispAct');
    const dispCop = document.getElementById('dispCop');
    
    // SVG Elements
    const wrapper = document.getElementById('simWrapper');
    const tankWater = document.getElementById('svgTankWater');
    const tankReqLine = document.getElementById('svgTankReq');
    const tankReqText = document.getElementById('svgTankText');

    function updateSimulation() {
        const power = parseInt(powerSlider.value);
        const pipeLen = parseInt(pipeSlider.value);
        
        // Aktualizacja labeli suwaków
        valPowOut.textContent = power + ' kW';
        valLenOut.textContent = pipeLen + ' m';
        
        // Obliczenia
        // Zład wymagany: 20 l / kW
        const reqVol = power * 20; 
        
        // Zład rzeczywisty: dlugosc * 0.113 l/m + 15 l (rozdzielacze, podejścia)
        const actVol = Math.round((pipeLen * 0.113) + 15);
        
        // Wyświetlanie wartości w panelu
        dispReq.innerHTML = reqVol + ' <span>L</span>';
        dispAct.innerHTML = actVol + ' <span>L</span>';
        
        // Logika Taktowania (Zład faktyczny < Wymagany)
        const isTaktowanie = actVol < reqVol;
        
        // Wizualizacja - Wysokość zbiornika (Max ~320L wizualnie)
        // Oś Y w SVG: 10 (góra) do 115 (dno). Wysokość użyteczna = 100px
        const maxVol = 320; 
        
        // Mapowanie wartości na piksele SVG
        const pxPerL = 100 / maxVol;
        
        // Linia wymaganego zładu (y spada od dołu w górę)
        const reqY = 115 - (reqVol * pxPerL);
        tankReqLine.setAttribute('y1', reqY);
        tankReqLine.setAttribute('y2', reqY);
        tankReqText.setAttribute('y', reqY - 5);
        
        // Prostokąt wody
        const actHeight = Math.min(100, actVol * pxPerL);
        const actY = 115 - actHeight;
        tankWater.setAttribute('y', actY);
        tankWater.setAttribute('height', actHeight);

        // Aplikacja klas i kolorów
        if (isTaktowanie) {
            wrapper.className = 'rk-dash-simulator state-alert';
            tankWater.setAttribute('fill', '#ef4444'); // Czerwony płyn
            dispCop.innerHTML = '~ 3.1 <span>(Taktowanie sprężarki)</span>';
        } else {
            wrapper.className = 'rk-dash-simulator state-stable';
            tankWater.setAttribute('fill', '#10b981'); // Zielony płyn
            dispCop.innerHTML = '~ 4.6 <span>(Praca stabilna)</span>';
        }
    }

    if (powerSlider && pipeSlider) {
        powerSlider.addEventListener('input', updateSimulation);
        pipeSlider.addEventListener('input', updateSimulation);
        updateSimulation(); // Init
    }
});
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-panel: #1e293b;
    --rk-calc-brand: #0891b2; /* Cyjan inżynieryjny */
    --rk-calc-brand-light: #cffafe;
    --rk-calc-accent: #38bdf8;
    --rk-calc-hot: #ef4444;
    --rk-calc-cold: #3b82f6;
    --rk-calc-bg: #ffffff;
    --rk-calc-border: #cbd5e1;
    --rk-calc-text: #334155;
}

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

/* Header - Poprawiony układ Flexbox, by tekst nie łamał się pod inne elementy */
.rk-calc-header {
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #164e63 100%);
    padding: 40px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-calc-brand);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.rk-calc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(8, 145, 178, 0.3);
    color: #67e8f9;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(103, 232, 249, 0.3);
}

.rk-calc-title {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    /* Usunięto display:block i width:100% aby naprawić oblewanie */
}
.rk-calc-title span { color: #67e8f9; }

.rk-calc-intro {
    font-size: 15px;
    line-height: 1.7;
    color: #e2e8f0;
    margin: 0;
    /* Usunięto display:block i width:100% */
}
.rk-calc-link {
    color: var(--rk-calc-brand-light);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-calc-brand-light);
    transition: 0.3s;
}
.rk-calc-link:hover { color: #fff; border-bottom-style: solid; }

/* Inżynieryjna Konsola - Zamiast standardowych kafelków */
.rk-calc-console {
    background: var(--rk-calc-panel);
    display: grid;
    grid-template-columns: 320px 1fr;
    border-bottom: 1px solid #334155;
}

/* Panel Suwaków */
.rk-calc-controls {
    padding: 40px;
    border-right: 1px solid #334155;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

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

.rk-calc-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
}
.rk-calc-val-readout {
    color: #ffffff;
    font-weight: 900;
    font-size: 15px;
}

.rk-calc-range {
    -webkit-appearance: none;
    width: 100%; height: 6px;
    border-radius: 3px;
    background: #475569;
    outline: none;
}
.rk-calc-range::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none;
    width: 22px; height: 22px; border-radius: 50%;
    background: var(--rk-calc-brand);
    cursor: pointer; border: 3px solid #ffffff;
    box-shadow: 0 0 10px rgba(8, 145, 178, 0.6);
    transition: transform 0.1s;
}
.rk-calc-range::-webkit-slider-thumb:active { transform: scale(1.15); }

/* Panel Wyświetlacza Digital */
.rk-calc-display-area {
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-digital-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.rk-digital-box {
    background: #0f172a;
    border: 1px solid #334155;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-digital-box::before {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px;
}
.rk-digital-box.t-pipe::before { background: var(--rk-calc-brand); }
.rk-digital-box.t-man::before { background: var(--rk-calc-hot); }
.rk-digital-box.t-total { border-color: var(--rk-calc-brand); box-shadow: inset 0 0 20px rgba(8, 145, 178, 0.1); }
.rk-digital-box.t-total::before { background: var(--rk-calc-brand); height: 100%; opacity: 0.05; }

.rk-digital-label { font-size: 11px; font-weight: 800; color: #64748b; text-transform: uppercase; margin-bottom: 8px; }
.rk-digital-val { font-size: 24px; font-weight: 900; color: #f8fafc; font-family: monospace; }
.rk-digital-val span { font-size: 12px; color: #94a3b8; }
.rk-digital-box.t-total .rk-digital-val { color: var(--rk-calc-brand-light); font-size: 28px; }

/* SVG Dynamiczny Rozdzielacz */
.rk-svg-manifold-wrapper {
    background: #0f172a;
    border-radius: 12px;
    border: 1px solid #334155;
    padding: 20px;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Algorytm Matematyczny - Step by Step */
.rk-math-steps {
    padding: 40px 50px;
    background: #f8fafc;
}

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

.rk-step-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-step-item {
    display: flex;
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-step-num {
    background: var(--rk-calc-brand);
    color: #ffffff;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 900;
}

.rk-step-content {
    padding: 15px 20px;
    flex: 1;
}

.rk-step-content h4 {
    margin: 0 0 5px 0;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-calc-dark);
}

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

.rk-formula-code {
    display: block;
    background: #f1f5f9;
    padding: 8px 12px;
    border-radius: 6px;
    font-family: monospace;
    font-size: 13px;
    color: #0f172a;
    margin-top: 8px;
    border-left: 3px solid var(--rk-calc-brand);
}

@media (max-width: 768px) {
    .rk-calc-header { padding: 30px 20px; }
    .rk-calc-console { grid-template-columns: 1fr; }
    .rk-calc-controls { padding: 30px 20px; border-right: none; border-bottom: 1px solid #334155; }
    .rk-calc-display-area { padding: 30px 20px; }
    .rk-digital-grid { grid-template-columns: 1fr; gap: 10px; }
    .rk-math-steps { padding: 30px 20px; }
    .rk-step-item { flex-direction: column; }
    .rk-step-num { width: 100%; height: 40px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#article-obliczenia",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/"
    },
    "headline": "Jak dokładnie obliczyć całkowitą pojemność wody w pętli ogrzewania podłogowego?",
    "description": "Profesjonalny inżynierski algorytm zgodny z PN-EN 1264-4, uwzględniający pojemność rur PEX oraz wewnętrzną objętość belek rozdzielacza.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#dataset-obliczenia",
    "name": "Algorytm obliczeniowy zładu wody wg PN-EN 1264-4",
    "description": "Wzory i stałe używane do wyznaczania całkowitej pojemności hydraulicznej instalacji ogrzewania podłogowego, bazujące na wymiarach promienia wewnętrznego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pojemność wodna pętli ogrzewania",
      "algorytm obliczania podłogówki",
      "norma PN-EN 1264-4",
      "pojemność rozdzielacza",
      "wzór na objętość walca w rurach"
    ],
    "measurementTechnique": "Algorytm 5-krokowy: wyznaczenie promienia (r), obliczenie objętości walca na metr bieżący, konwersja na litry, mnożenie przez długość pętli i dodanie pojemności osprzętu (0.35l na sekcję).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Promień wewnętrzny rury 16x2.0: 6 mm (0,006 m)",
        "Pojemność rury 16x2.0: 0,113 litra na metr",
        "Pojemność sekcji rozdzielacza: uśrednione 0,35 litra"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#webapp-obliczenia",
    "name": "Kalkulator Całkowitej Pojemności Zładu Wodnego",
    "description": "Interaktywne narzędzie Inżynierskie pozwalające zsumować pojemność rur PEX oraz belek rozdzielacza na podstawie zadanych parametrów długości i ilości sekcji.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS Grid, and JavaScript for dynamic SVG generation",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rk-calc-app">
    
    <div class="rk-calc-header">
        <div class="rk-calc-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><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 17l4 4 4-4"></path></svg>
            Algorytm Projektowy
        </div>
        <h2 class="rk-calc-title">Jak obliczyć całkowitą pojemność <span>zładu w pętli?</span></h2>
        <p class="rk-calc-intro">
            Całkowitą objętość wody oblicza się poprzez pomnożenie długości rury przez jej pojemność jednostkową oraz dodanie pojemności wewnętrznej <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" class="rk-calc-link">belek rozdzielacza</a>. Zgodnie z normą <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/" class="rk-calc-link">PN-EN 1264-4</a>, dla 100 m rury 16&#215;2,0 mm to równe 11,3 litra. Przetestuj to w symulatorze inżynierskim:
        </p>
    </div>

    <div class="rk-calc-console">
        
        <div class="rk-calc-controls">
            <div class="rk-calc-slider-group">
                <div class="rk-calc-label">
                    <span>Łączna dł. rur (L):</span>
                    <span class="rk-calc-val-readout" id="readoutLength">800 m</span>
                </div>
                <input type="range" class="rk-calc-range" id="sliderLength" min="100" max="2500" step="50" value="800">
            </div>

            <div class="rk-calc-slider-group">
                <div class="rk-calc-label">
                    <span>Sekcje rozdzielacza (n):</span>
                    <span class="rk-calc-val-readout" id="readoutManifold">8 szt.</span>
                </div>
                <input type="range" class="rk-calc-range" id="sliderManifold" min="2" max="14" step="1" value="8">
            </div>
        </div>

        <div class="rk-calc-display-area">
            
            <div class="rk-digital-grid">
                <div class="rk-digital-box t-pipe">
                    <div class="rk-digital-label">V_rur (Rurociąg)</div>
                    <div class="rk-digital-val" id="dispPipe">90.4 <span>L</span></div>
                </div>
                <div class="rk-digital-box t-man">
                    <div class="rk-digital-label">V_osprz (Rozdzielacz)</div>
                    <div class="rk-digital-val" id="dispManifold">2.8 <span>L</span></div>
                </div>
                <div class="rk-digital-box t-total">
                    <div class="rk-digital-label">V_całk (Zład Total)</div>
                    <div class="rk-digital-val" id="dispTotal">93.2 <span>L</span></div>
                </div>
            </div>

            <div class="rk-svg-manifold-wrapper" id="svgContainer">
                </div>

        </div>
    </div>

    <div class="rk-math-steps">
        <h3 class="rk-math-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-calc-brand)" stroke-width="2.5"><polyline points="4 7 4 4 20 4 20 7"></polyline><line x1="9" y1="20" x2="15" y2="20"></line><line x1="12" y1="4" x2="12" y2="20"></line></svg>
            Algorytm inżynierski stosowany w programach hydraulicznych
        </h3>
        
        <div class="rk-step-list">
            <div class="rk-step-item">
                <div class="rk-step-num">1</div>
                <div class="rk-step-content">
                    <h3>Wyznaczenie wewnętrznego promienia rury (r)</h3>
                    <p>Na podstawie średnicy zewnętrznej (OD) i grubości ścianki (g), obliczamy promień w metrach.</p>
                    <code class="rk-formula-code">r = (OD - 2g) / 2000 &rarr; r = (16 - 4) / 2000 = 0,006 m</code>
                </div>
            </div>

            <div class="rk-step-item">
                <div class="rk-step-num">2</div>
                <div class="rk-step-content">
                    <h3>Pojemność jednostkowa 1 metra (V₁)</h3>
                    <p>Używamy wzoru na objętość walca (h = 1m). Wynik w m³/m.</p>
                    <code class="rk-formula-code">V₁ = &pi; &times; r&sup2; &times; 1 &rarr; 3.14 &times; (0.006)&sup2; &asymp; 0,000113 m&sup3;/m</code>
                </div>
            </div>

            <div class="rk-step-item">
                <div class="rk-step-num">3</div>
                <div class="rk-step-content">
                    <h3>Konwersja na litry (V<sub>l/m</sub>)</h3>
                    <p>Mnożymy wynik przez 1000, ponieważ 1 m&sup3; to dokładnie 1000 litrów.</p>
                    <code class="rk-formula-code">V(l/m) = 0,000113 &times; 1000 = 0,113 l/m</code>
                </div>
            </div>

            <div class="rk-step-item">
                <div class="rk-step-num">4</div>
                <div class="rk-step-content">
                    <h3>Pojemność rurociągów (V<sub>rur</sub>)</h3>
                    <p>Mnożymy łączną długość wszystkich ułożonych pętli (L) przez pojemność jednostkową.</p>
                    <code class="rk-formula-code">V_rur = L &times; V(l/m)</code>
                </div>
            </div>

            <div class="rk-step-item">
                <div class="rk-step-num">5</div>
                <div class="rk-step-content">
                    <h3>Uwzględnienie osprzętu (V<sub>osprz</sub>)</h3>
                    <p>Dodajemy stałą pojemność belek rozdzielacza (ok. 0,35 litra na każdą parę obwodów 'n&#8217;).</p>
                    <code class="rk-formula-code">V_całk = V_rur + (n &times; 0,35) + V_podejść</code>
                </div>
            </div>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (DOMAIN LOCK)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-calc-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border:2px solid #ef4444; border-radius:20px; font-weight:800;">
                BŁĄD LICENCJI: Ten kalkulator jest własnością projekt-ogrzewania.pl
            </div>`;
        return;
    }

    // 2. Elementy DOM
    const sliderLen = document.getElementById('sliderLength');
    const sliderMan = document.getElementById('sliderManifold');
    
    const readLen = document.getElementById('readoutLength');
    const readMan = document.getElementById('readoutManifold');
    
    const dispPipe = document.getElementById('dispPipe');
    const dispManifold = document.getElementById('dispManifold');
    const dispTotal = document.getElementById('dispTotal');
    
    const svgContainer = document.getElementById('svgContainer');

    // 3. Funkcja generująca SVG Rozdzielacza
    function renderManifoldSVG(n) {
        // Obliczamy szerokość w zależności od ilości portów (n)
        const portSpacing = 30;
        const startX = 30;
        const totalWidth = startX + (n * portSpacing) + 30;
        
        let svgHTML = `<svg viewBox="0 0 ${totalWidth} 140" style="width:100%; height:100%; max-width:${totalWidth}px;">`;
        
        // Rury zasilające PEX wychodzące w dół
        for(let i = 0; i < n; i++) {
            const x = startX + (i * portSpacing);
            // Pętla PEX (Zasilanie i powrót wizualnie)
            svgHTML += `<path d="M ${x-4} 90 L ${x-4} 130" stroke="#94a3b8" stroke-width="4" fill="none"/>`;
            svgHTML += `<path d="M ${x+4} 45 L ${x+4} 130" stroke="#94a3b8" stroke-width="4" fill="none"/>`;
        }

        // Belka powrotna (Niebieska) - Górna (w rzeczywistości bywa różnie, tu dla czytelności)
        svgHTML += `<rect x="10" y="30" width="${totalWidth - 20}" height="20" fill="#1e293b" stroke="#3b82f6" stroke-width="2" rx="4"/>`;
        
        // Belka zasilająca (Czerwona) - Dolna
        svgHTML += `<rect x="10" y="75" width="${totalWidth - 20}" height="20" fill="#1e293b" stroke="#ef4444" stroke-width="2" rx="4"/>`;

        // Zawory i rotametry
        for(let i = 0; i < n; i++) {
            const x = startX + (i * portSpacing);
            // Rotametr góra (Niebieska belka)
            svgHTML += `<rect x="${x-6}" y="10" width="12" height="20" fill="#0f172a" stroke="#cbd5e1" stroke-width="1"/>`;
            svgHTML += `<rect x="${x-4}" y="15" width="8" height="10" fill="#ef4444"/>`; // Pływak
            // Siłownik dół (Czerwona belka)
            svgHTML += `<rect x="${x-7}" y="60" width="14" height="15" fill="#f8fafc" rx="2"/>`;
        }

        svgHTML += `</svg>`;
        svgContainer.innerHTML = svgHTML;
    }

    // 4. Główna funkcja licząca
    function updateCalculator() {
        const L = parseInt(sliderLen.value);
        const n = parseInt(sliderMan.value);
        
        // Aktualizacja etykiet suwaków
        readLen.textContent = L + ' m';
        readMan.textContent = n + ' szt.';
        
        // Matematyka
        const vPipe = L * 0.113;
        const vMan = n * 0.35;
        const vTotal = vPipe + vMan;
        
        // Wyświetlacze
        dispPipe.innerHTML = vPipe.toFixed(1) + ' <span>L</span>';
        dispManifold.innerHTML = vMan.toFixed(1) + ' <span>L</span>';
        dispTotal.innerHTML = vTotal.toFixed(1) + ' <span>L</span>';

        // Renderowanie Grafiki SVG
        renderManifoldSVG(n);
    }

    // 5. Inicjalizacja i Nasłuchiwanie
    if (sliderLen && sliderMan) {
        sliderLen.addEventListener('input', updateCalculator);
        sliderMan.addEventListener('input', updateCalculator);
        updateCalculator();
    }
});
</script>



<style>
:root {
    --rk-lab-dark: #0f172a;
    --rk-lab-panel: #1e293b;
    --rk-lab-brand: #3b82f6; /* Laboratoryjny niebieski */
    --rk-lab-brand-light: #eff6ff;
    --rk-lab-success: #10b981;
    --rk-lab-warning: #f59e0b;
    --rk-lab-danger: #ef4444;
    --rk-lab-danger-bg: #fef2f2;
    --rk-lab-bg: #ffffff;
    --rk-lab-border: #cbd5e1;
    --rk-lab-text: #334155;
    --rk-lab-muted: #64748b;
}

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

/* Header */
.rk-lab-header {
    background: linear-gradient(135deg, var(--rk-lab-dark) 0%, #172554 100%);
    padding: 45px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-lab-brand);
}

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

.rk-lab-title {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}
.rk-lab-title span { color: #93c5fd; }

.rk-lab-intro {
    font-size: 15px;
    line-height: 1.7;
    color: #e2e8f0;
    margin: 0;
}

.rk-lab-link {
    color: #93c5fd;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed #93c5fd;
    transition: 0.3s;
}
.rk-lab-link:hover { color: #ffffff; border-bottom-style: solid; }

/* Sekcja Testowa (Symulator i Tabela) */
.rk-lab-body {
    padding: 40px 50px;
    background: #f8fafc;
}

/* Interaktywny Panel Kontrolny */
.rk-test-panel {
    background: #ffffff;
    border: 1px solid var(--rk-lab-border);
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 40px;
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 30px;
    align-items: center;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.02);
}

.rk-thermometer-box {
    width: 100%;
    height: 120px;
    display: flex;
    justify-content: center;
}

.rk-controls {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-controls-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

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

.rk-temp-display {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-lab-dark);
    font-family: monospace;
    transition: color 0.3s;
}

.rk-slider {
    -webkit-appearance: none;
    width: 100%; height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    outline: none;
}
.rk-slider::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none;
    width: 24px; height: 24px; border-radius: 50%;
    background: var(--rk-lab-brand);
    cursor: pointer; border: 4px solid #ffffff;
    box-shadow: 0 0 10px rgba(59, 130, 246, 0.4);
    transition: transform 0.1s, background 0.3s;
}
.rk-slider::-webkit-slider-thumb:active { transform: scale(1.15); }

/* Tabela jako responsywne kafelki materiałowe */
.rk-mat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.rk-mat-card {
    background: #ffffff;
    border: 2px solid var(--rk-lab-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.rk-mat-header {
    background: #f1f5f9;
    padding: 15px;
    text-align: center;
    border-bottom: 1px solid var(--rk-lab-border);
    transition: background 0.4s;
}

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

.rk-mat-subtitle {
    font-size: 11px;
    font-weight: 700;
    color: var(--rk-lab-muted);
    text-transform: uppercase;
    display: block;
    margin-top: 4px;
}

.rk-mat-body { padding: 0; }

.rk-mat-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 15px;
    border-bottom: 1px solid #f1f5f9;
}
.rk-mat-row:last-child { border-bottom: none; }

.rk-mat-label { font-size: 11px; color: var(--rk-lab-muted); font-weight: 600; }
.rk-mat-val { font-size: 13px; font-weight: 800; color: var(--rk-lab-text); text-align: right; }

/* Statusy zniszczenia cieplnego (Interakcja) */
.rk-mat-card.status-fail {
    border-color: var(--rk-lab-danger);
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.2);
}
.rk-mat-card.status-fail .rk-mat-header {
    background: var(--rk-lab-danger);
}
.rk-mat-card.status-fail .rk-mat-title,
.rk-mat-card.status-fail .rk-mat-subtitle { color: #ffffff; }

.rk-fail-overlay {
    position: absolute;
    top: 60px; left: 0; width: 100%; bottom: 0;
    background: rgba(254, 242, 242, 0.9);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s;
    backdrop-filter: blur(2px);
}
.rk-mat-card.status-fail .rk-fail-overlay { opacity: 1; pointer-events: auto; }

.rk-fail-icon { color: var(--rk-lab-danger); margin-bottom: 8px; }
.rk-fail-text { font-size: 14px; font-weight: 900; color: var(--rk-lab-danger); text-transform: uppercase; }

/* SVG Thermometer Anim */
.rk-thermo-glass { fill: #f8fafc; stroke: #cbd5e1; stroke-width: 3; }
.rk-thermo-liquid { transition: height 0.3s ease-out, y 0.3s ease-out, fill 0.3s; }
.rk-thermo-bulb { transition: fill 0.3s; }

@media (max-width: 768px) {
    .rk-lab-header { padding: 30px 20px; }
    .rk-lab-body { padding: 30px 20px; }
    .rk-test-panel { grid-template-columns: 1fr; padding: 25px; text-align: center; gap: 20px; }
    .rk-thermometer-box { height: 80px; }
    .rk-mat-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-parametry",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Jakie parametry techniczne różnią rury PEX i PERT o średnicy 16 mm?",
    "description": "Szczegółowa tabela parametrów i interaktywny test wytrzymałości termicznej rur PEX-a, PEX-b, PEX-c oraz PERT Typ II (zgodnie z ISO 15875 i ISO 22391).",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-parametry",
    "name": "Specyfikacja techniczna rur instalacyjnych (PEX vs PERT)",
    "description": "Baza danych parametrów termicznych, mechanicznych oraz wytrzymałościowych dla polietylenu sieciowanego i polietylenu o podwyższonej odporności termicznej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "różnica PEX a PERT",
      "maksymalna temperatura rur PEX",
      "stopień sieciowania ISO 15875",
      "wytrzymałość rur do ogrzewania podłogowego",
      "przewodnictwo cieplne rur"
    ],
    "measurementTechnique": "Zestawienie tabelaryczne oparte na wytycznych normatywnych PN-EN ISO 15875 dla PEX oraz PN-EN ISO 22391 dla PERT.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "PEX-a: Temp max 95°C, Sieciowanie >70%, Wytrzymałość 10 bar.",
        "PEX-b: Temp max 95°C, Sieciowanie >65%, Wytrzymałość 10 bar.",
        "PEX-c: Temp max 90°C, Sieciowanie >60%, Wytrzymałość 10 bar.",
        "PERT Typ II: Temp max 70°C, Brak sieciowania (0%), Wytrzymałość 6 bar."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-parametry",
    "name": "Symulator Odporności Termicznej Rur CO",
    "description": "Interaktywny panel badawczy. Pozwala na symulację temperatury czynnika grzewczego i wizualizuje przekroczenie krytycznych punktów pracy dla różnych typów rur (PEX vs PERT).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS Grid, and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-lab-container" id="rk-lab-app">
    
    <!-- Header -->
    <div class="rk-lab-header">
        <div class="rk-lab-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>
            Karta Materiałowa
        </div>
        <h2 class="rk-lab-title">Parametry techniczne: <span>PEX vs PERT 16 mm</span></h2>
        <p class="rk-lab-intro">
            Rury <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/" class="rk-lab-link">PEX (polietylen sieciowany)</a> charakteryzują się wyższą odpornością termiczną i mechaniczną w porównaniu do rur <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/" class="rk-lab-link">PERT (polietylen o podwyższonej odporności termicznej)</a>. Mimo identycznej pojemności wodnej (0,113 l/m), ich zachowanie pod ekstremalnym obciążeniem ciśnieniowym diametralnie się różni.
        </p>
    </div>

    <div class="rk-lab-body">
        
        <!-- Interaktywny Symulator -->
        <div class="rk-test-panel">
            <div class="rk-thermometer-box">
                <svg viewBox="0 0 40 100" style="height: 100%; width: auto;">
                    <!-- Obudowa -->
                    <rect class="rk-thermo-glass" x="15" y="5" width="10" height="70" rx="5"/>
                    <circle class="rk-thermo-glass" cx="20" cy="80" r="12"/>
                    <!-- Skala -->
                    <path d="M15 20h-5M15 40h-5M15 60h-5" stroke="#94a3b8" stroke-width="1.5"/>
                    <!-- Płyn -->
                    <circle id="svgThermoBulb" class="rk-thermo-bulb" cx="20" cy="80" r="8" fill="#10b981"/>
                    <rect id="svgThermoLiquid" class="rk-thermo-liquid" x="17" y="60" width="6" height="20" fill="#10b981"/>
                </svg>
            </div>
            
            <div class="rk-controls">
                <div class="rk-controls-header">
                    <span class="rk-controls-title">Symulacja temp. zasilania</span>
                    <span class="rk-temp-display" id="valTempDisp">40°C</span>
                </div>
                <input type="range" class="rk-slider" id="tempSimulator" min="20" max="110" step="5" value="40">
                <div style="font-size: 12px; color: var(--rk-lab-muted); display: flex; justify-content: space-between;">
                    <span>Pompa Ciepła (20-40°C)</span>
                    <span>Kocioł zasypowy (80-100°C)</span>
                </div>
            </div>
        </div>

        <!-- Tabela Parametrów jako Grid Kafelków -->
        <div class="rk-mat-grid">
            
            <!-- PERT -->
            <div class="rk-mat-card" id="cardPERT" data-max="70">
                <div class="rk-mat-header">
                    <h3 class="rk-mat-title">PERT Typ II</h3>
                    <span class="rk-mat-subtitle">Norma ISO 22391</span>
                </div>
                <div class="rk-mat-body">
                    <div class="rk-mat-row"><span class="rk-mat-label">Sieciowanie</span><span class="rk-mat-val">0% (Brak)</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Temp. max</span><span class="rk-mat-val">70°C</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Ciśnienie (60°C)</span><span class="rk-mat-val">6 bar</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Przewodzenie (λ)</span><span class="rk-mat-val">0,40 W/(m·K)</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Promień gięcia</span><span class="rk-mat-val">5 x OD</span></div>
                </div>
                <div class="rk-fail-overlay">
                    <svg class="rk-fail-icon" width="32" height="32" 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>
                    <span class="rk-fail-text">Degradacja Termiczna</span>
                </div>
            </div>

            <!-- PEX C -->
            <div class="rk-mat-card" id="cardPEXC" data-max="90">
                <div class="rk-mat-header">
                    <h3 class="rk-mat-title">PEX-c</h3>
                    <span class="rk-mat-subtitle">Norma ISO 15875</span>
                </div>
                <div class="rk-mat-body">
                    <div class="rk-mat-row"><span class="rk-mat-label">Sieciowanie</span><span class="rk-mat-val">&gt; 60%</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Temp. max</span><span class="rk-mat-val">90°C</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Ciśnienie (60°C)</span><span class="rk-mat-val">10 bar</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Przewodzenie (λ)</span><span class="rk-mat-val">0,35 W/(m·K)</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Promień gięcia</span><span class="rk-mat-val">5 x OD</span></div>
                </div>
                <div class="rk-fail-overlay">
                    <svg class="rk-fail-icon" width="32" height="32" 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>
                    <span class="rk-fail-text">Utrata właściwości</span>
                </div>
            </div>

            <!-- PEX B -->
            <div class="rk-mat-card" id="cardPEXB" data-max="95">
                <div class="rk-mat-header">
                    <h3 class="rk-mat-title">PEX-b</h3>
                    <span class="rk-mat-subtitle">Norma ISO 15875</span>
                </div>
                <div class="rk-mat-body">
                    <div class="rk-mat-row"><span class="rk-mat-label">Sieciowanie</span><span class="rk-mat-val">&gt; 65%</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Temp. max</span><span class="rk-mat-val">95°C</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Ciśnienie (60°C)</span><span class="rk-mat-val">10 bar</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Przewodzenie (λ)</span><span class="rk-mat-val">0,41 W/(m·K)</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Promień gięcia</span><span class="rk-mat-val">6 x OD</span></div>
                </div>
                <div class="rk-fail-overlay">
                    <svg class="rk-fail-icon" width="32" height="32" 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>
                    <span class="rk-fail-text">Awaria Hydrauliczna</span>
                </div>
            </div>

            <!-- PEX A -->
            <div class="rk-mat-card" id="cardPEXA" data-max="95">
                <div class="rk-mat-header">
                    <h3 class="rk-mat-title">PEX-a</h3>
                    <span class="rk-mat-subtitle">Norma ISO 15875</span>
                </div>
                <div class="rk-mat-body">
                    <div class="rk-mat-row"><span class="rk-mat-label">Sieciowanie</span><span class="rk-mat-val">&gt; 70%</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Temp. max</span><span class="rk-mat-val">95°C</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Ciśnienie (60°C)</span><span class="rk-mat-val">10 bar</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Przewodzenie (λ)</span><span class="rk-mat-val">0,38 W/(m·K)</span></div>
                    <div class="rk-mat-row"><span class="rk-mat-label">Promień gięcia</span><span class="rk-mat-val">5 x OD</span></div>
                </div>
                <div class="rk-fail-overlay">
                    <svg class="rk-fail-icon" width="32" height="32" 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>
                    <span class="rk-fail-text">Awaria Hydrauliczna</span>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (DOMAIN LOCK)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-lab-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border:2px solid #ef4444; border-radius:24px; font-weight:800;">
                BŁĄD LICENCJI: Ten interfejs materiałowy jest własnością projekt-ogrzewania.pl
            </div>`;
        return;
    }

    // 2. Logika Symulatora Termicznego
    const slider = document.getElementById('tempSimulator');
    const tempDisp = document.getElementById('valTempDisp');
    
    // SVG
    const thermoLiquid = document.getElementById('svgThermoLiquid');
    const thermoBulb = document.getElementById('svgThermoBulb');
    
    // Karty materiałów
    const cards = document.querySelectorAll('.rk-mat-card');

    function updateSimulation() {
        const currentTemp = parseInt(slider.value);
        tempDisp.textContent = currentTemp + '°C';

        // Kolor i logika termometru
        let color = '#10b981'; // Green for normal PC temps (20-40)
        if (currentTemp > 45 && currentTemp <= 70) color = '#f59e0b'; // Yellow (Gas boiler)
        if (currentTemp > 70) color = '#ef4444'; // Red (Danger/Solid fuel)

        tempDisp.style.color = color;
        thermoBulb.setAttribute('fill', color);
        thermoLiquid.setAttribute('fill', color);

        // SVG Thermometer Height logic (Min temp = 20, Max = 110)
        // Y range for liquid: from Y=60 (height=20) to Y=10 (height=70)
        const percentage = (currentTemp - 20) / (110 - 20);
        const maxHeight = 70;
        const currentHeight = Math.max(10, percentage * maxHeight);
        const currentY = 80 - currentHeight;

        thermoLiquid.setAttribute('height', currentHeight);
        thermoLiquid.setAttribute('y', currentY);

        // Kafelki - sprawdzanie uszkodzeń
        cards.forEach(card => {
            const maxTemp = parseInt(card.getAttribute('data-max'));
            if (currentTemp > maxTemp) {
                card.classList.add('status-fail');
            } else {
                card.classList.remove('status-fail');
            }
        });
    }

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



<style>
:root {
    --rk-bp-base: #020617; /* Głęboki granat wchodzący w czerń */
    --rk-bp-panel: rgba(15, 23, 42, 0.85); /* Ciemny slate z przezroczystością */
    --rk-bp-primary: #0ea5e9; /* Blueprint Cyan */
    --rk-bp-primary-glow: rgba(14, 165, 233, 0.4);
    --rk-bp-accent: #f59e0b; /* Pomarańcz do akcentów */
    --rk-bp-text: #f8fafc;
    --rk-bp-text-dim: #94a3b8;
    --rk-bp-border: #1e293b;
    --rk-bp-grid: rgba(14, 165, 233, 0.08);
}

.rk-bp-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background-color: var(--rk-bp-base);
    /* Tło typu Blueprint - Siatka */
    background-image: 
        linear-gradient(var(--rk-bp-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--rk-bp-grid) 1px, transparent 1px);
    background-size: 20px 20px;
    border-radius: 24px;
    box-shadow: 0 30px 60px -15px rgba(2, 6, 23, 0.8), 0 0 0 1px var(--rk-bp-border);
    overflow: hidden;
    color: var(--rk-bp-text);
    position: relative;
}

/* Header */
.rk-bp-header {
    padding: 40px 50px;
    background: linear-gradient(180deg, rgba(2,6,23,0.9) 0%, rgba(2,6,23,0) 100%);
    position: relative;
    z-index: 2;
}

.rk-bp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.15);
    color: var(--rk-bp-primary);
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
    border-left: 3px solid var(--rk-bp-primary);
}

.rk-bp-title {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    letter-spacing: -0.5px;
}
.rk-bp-title span { color: var(--rk-bp-primary); }

.rk-bp-intro {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-bp-text-dim);
    max-width: 800px;
    margin: 0;
}

/* Algorytm & Workspace */
.rk-bp-workspace {
    padding: 0 50px 40px;
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

/* Węzły (Nodes) inżynieryjne */
.rk-node {
    background: var(--rk-bp-panel);
    backdrop-filter: blur(10px);
    border: 1px solid var(--rk-bp-border);
    border-radius: 16px;
    padding: 25px;
    position: relative;
}

.rk-node::before {
    content: ''; position: absolute; top: 15px; left: -1px; width: 3px; height: 30px; background: var(--rk-bp-primary);
}

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

.rk-node-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-bp-text);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

.rk-node-formula {
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    color: var(--rk-bp-primary);
    background: rgba(14, 165, 233, 0.1);
    padding: 4px 10px;
    border-radius: 4px;
    font-weight: 700;
}

/* Węzeł 1: Kalkulator OZC */
.rk-input-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

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

.rk-slider-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-bp-text-dim);
}
.rk-slider-val { color: #ffffff; font-weight: 900; font-size: 15px; }

.rk-bp-range {
    -webkit-appearance: none;
    width: 100%; height: 4px;
    background: #334155;
    outline: none;
}
.rk-bp-range::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none;
    width: 18px; height: 18px; border-radius: 50%;
    background: var(--rk-bp-base);
    cursor: pointer; border: 3px solid var(--rk-bp-primary);
    box-shadow: 0 0 10px var(--rk-bp-primary-glow);
    transition: 0.2s;
}
.rk-bp-range::-webkit-slider-thumb:active { transform: scale(1.2); background: var(--rk-bp-primary); }

/* Węzeł 2: Rozdzielacz i Pętle (SVG) */
.rk-flow-dashboard {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 30px;
    align-items: center;
}

.rk-metrics-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-metric-item {
    background: #020617;
    border: 1px solid #1e293b;
    padding: 15px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-metric-label { font-size: 11px; color: var(--rk-bp-text-dim); text-transform: uppercase; font-weight: 800; }
.rk-metric-val { font-size: 22px; font-weight: 900; color: #ffffff; font-family: monospace; }
.rk-metric-val span { font-size: 12px; color: var(--rk-bp-primary); }

.rk-metric-item.highlight { border-color: var(--rk-bp-primary); box-shadow: inset 0 0 20px rgba(14, 165, 233, 0.05); }

/* SVG Rozdzielacz */
.rk-svg-manifold {
    width: 100%;
    height: 160px;
    background: #020617;
    border: 1px solid #1e293b;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Mocne CTA */
.rk-bp-cta {
    background: var(--rk-bp-primary);
    padding: 40px 50px;
    text-align: center;
    color: #ffffff;
    position: relative;
    z-index: 2;
}

.rk-bp-cta-title {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 10px 0;
}

.rk-bp-cta-text {
    font-size: 15px;
    margin: 0 auto 25px auto;
    max-width: 600px;
    opacity: 0.9;
}

.rk-btn-cad {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    color: var(--rk-bp-base);
    font-size: 16px;
    font-weight: 900;
    padding: 18px 36px;
    border-radius: 8px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 20px rgba(0,0,0,0.3);
}

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

/* Animacje SVG */
.anim-flow-water { stroke-dasharray: 4 8; animation: flowPEX 1s linear infinite; }
@keyframes flowPEX { to { stroke-dashoffset: -12; } }
.anim-float { transition: y 0.3s ease-out; }

@media (max-width: 768px) {
    .rk-bp-header { padding: 30px 20px; }
    .rk-bp-workspace { padding: 0 20px 30px; }
    .rk-input-grid { grid-template-columns: 1fr; }
    .rk-flow-dashboard { grid-template-columns: 1fr; }
    .rk-bp-cta { padding: 30px 20px; }
    .rk-btn-cad { width: 100%; justify-content: center; padding: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/"
    },
    "headline": "Jak pojemność wodna rur wpływa na profesjonalny projekt ogrzewania podłogowego?",
    "description": "Powiązanie pojemności rur PEX 16 z Projektowym Obciążeniem Cieplnym (OZC), przepływem masowym i ilością pętli w celu eliminacji szumów i kawitacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#dataset-projekt",
    "name": "Parametry przepływu masowego i podziału pętli",
    "description": "Zależności matematyczne między mocą grzewczą a przepływem dla instalacji ogrzewania płaszczyznowego z rur 16x2.0.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "przepływ masowy czynnika OZC",
      "maksymalna długość pętli",
      "wskazania rotametru podłogówka",
      "kawitacja pompy obiegowej",
      "projekt ogrzewania podłogowego"
    ],
    "measurementTechnique": "Obliczenia inżynieryjne przepływu w oparciu o ciepło właściwe wody (1.163 Wh/kgK) przy delta T 5K oraz podział na pętle wg limitu 2.0 l/min.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wzór na przepływ masowy: m = Q / (cw * deltaT).",
        "Limit prędkości przepływu dla rury 16x2.0: max 0.3 m/s, co daje ok. 2.0 l/min na rotametrze.",
        "Generowane opory dla pętli 100m przy 2.1 l/min: ok. 18 kPa (1.8 m słupa wody)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#webapp-projekt",
    "name": "Kalkulator Podziału Pętli Ogrzewania Podłogowego",
    "description": "Zautomatyzowane narzędzie inżynierskie przeliczające obciążenie cieplne na przepływ masowy, wymaganą ilość rotametrów oraz całkowitą objętość wody w strefie.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-bp-container" id="rk-bp-app">
    
    <!-- Header -->
    <div class="rk-bp-header">
        <div class="rk-bp-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
            Inżynieria Projektowa
        </div>
        <h2 class="rk-bp-title">Projekt podłogówki to nie zgadywanka. <span>To matematyka.</span></h2>
        <p class="rk-bp-intro">
            Pojemność wodna rurociągów PEX 16 bezpośrednio determinuje wymagany przepływ masowy czynnika grzewczego. Na podstawie obliczeń OZC (norma PN-EN 12831) dobieramy rozstaw rur, aby uniknąć szumów w instalacji i zjawiska kawitacji w pompie.
        </p>
    </div>

    <!-- Obszar roboczy / Węzły -->
    <div class="rk-bp-workspace">
        
        <!-- Węzeł 1: Parametry wejściowe -->
        <div class="rk-node">
            <div class="rk-node-header">
                <h3 class="rk-node-title">Krok 1: Wymagania Pomieszczenia (OZC)</h3>
                <div class="rk-node-formula">Q = Area × W/m²</div>
            </div>
            
            <div class="rk-input-grid">
                <div class="rk-slider-group">
                    <div class="rk-slider-label">
                        <span>Powierzchnia salonu:</span>
                        <span class="rk-slider-val" id="valAreaOut">30 m²</span>
                    </div>
                    <input type="range" class="rk-bp-range" id="sliderArea" min="10" max="60" step="1" value="30">
                </div>

                <div class="rk-slider-group">
                    <div class="rk-slider-label">
                        <span>Zapotrzebowanie na ciepło:</span>
                        <span class="rk-slider-val" id="valHeatOut">73 W/m²</span>
                    </div>
                    <input type="range" class="rk-bp-range" id="sliderHeat" min="30" max="120" step="1" value="73">
                </div>
            </div>
        </div>

        <!-- Węzeł 2: Hydraulika i Rozdzielacz -->
        <div class="rk-node">
            <div class="rk-node-header">
                <h3 class="rk-node-title">Krok 2: Bilans Hydrauliczny &#038; Podział na Pętle</h3>
                <div class="rk-node-formula">m = Q / (1.163 × &Delta;T)</div>
            </div>
            
            <div class="rk-flow-dashboard">
                <div class="rk-metrics-list">
                    <div class="rk-metric-item">
                        <span class="rk-metric-label">Całkowite obciążenie (Q)</span>
                        <span class="rk-metric-val" id="dispQ">2200 <span>W</span></span>
                    </div>
                    <div class="rk-metric-item highlight">
                        <span class="rk-metric-label">Przepływ masowy (ΔT=5K)</span>
                        <span class="rk-metric-val" id="dispFlow">6.3 <span>l/min</span></span>
                    </div>
                    <div class="rk-metric-item">
                        <span class="rk-metric-label">Wymagane pętle (Max 2.0 l/min)</span>
                        <span class="rk-metric-val" id="dispLoops" style="color:var(--rk-bp-primary);">4 <span>szt.</span></span>
                    </div>
                    <div class="rk-metric-item">
                        <span class="rk-metric-label">Zład wody (rozstaw 10cm)</span>
                        <span class="rk-metric-val" id="dispVolume">33.9 <span>L</span></span>
                    </div>
                </div>

                <div class="rk-svg-manifold" id="svgManifoldContainer">
                    <!-- Dynamic SVG -->
                </div>
            </div>
        </div>

    </div>

    <!-- Mocne CTA -->
    <div class="rk-bp-cta">
        <h3 class="rk-bp-cta-title">Brak projektu to opory, szumy i wysokie rachunki</h3>
        <p class="rk-bp-cta-text">
            Koszt profesjonalnego projektu ogrzewania to ułamek wartości pompy ciepła, który zwraca się już w pierwszym sezonie grzewczym dzięki optymalizacji pracy układu. Nie buduj na oko.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-cad">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="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 INŻYNIERSKI Z OZC
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (DOMAIN LOCK)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-bp-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#020617; color:#ef4444; border:1px solid #ef4444; font-weight:800;">
                BŁĄD LICENCJI: Ten moduł inżynieryjny należy do projekt-ogrzewania.pl
            </div>`;
        return;
    }

    // 2. Elementy DOM
    const sliderArea = document.getElementById('sliderArea');
    const sliderHeat = document.getElementById('sliderHeat');
    
    const valAreaOut = document.getElementById('valAreaOut');
    const valHeatOut = document.getElementById('valHeatOut');
    
    const dispQ = document.getElementById('dispQ');
    const dispFlow = document.getElementById('dispFlow');
    const dispLoops = document.getElementById('dispLoops');
    const dispVolume = document.getElementById('dispVolume');
    
    const svgContainer = document.getElementById('svgManifoldContainer');

    // Funkcja Renderująca SVG Rozdzielacza
    function renderDynamicManifold(loops, flowPerLoop) {
        // Zabezpieczenie przed zbyt dużą ilością do renderu (max np 8 na ten widok)
        const renderLoops = Math.min(loops, 8);
        const spacing = 35;
        const width = Math.max(100, renderLoops * spacing + 40);
        
        let svg = `<svg viewBox="0 0 ${width} 140" style="width:100%; height:100%; max-width:${width}px;">`;
        
        // Rury powrotne
        for(let i=0; i<renderLoops; i++) {
            let x = 20 + (i * spacing);
            svg += `<path class="anim-flow-water" d="M ${x+5} 40 L ${x+5} 130" fill="none" stroke="#0ea5e9" stroke-width="3"/>`;
        }
        
        // Belka górna (Zasilanie z rotametrami)
        svg += `<rect x="5" y="25" width="${width-10}" height="18" fill="#1e293b" stroke="#ef4444" stroke-width="2" rx="3"/>`;
        
        // Belka dolna (Powrót)
        svg += `<rect x="5" y="80" width="${width-10}" height="18" fill="#1e293b" stroke="#3b82f6" stroke-width="2" rx="3"/>`;

        // Rotametry i zawory
        for(let i=0; i<renderLoops; i++) {
            let x = 20 + (i * spacing);
            
            // Szklana rurka rotametru
            svg += `<rect x="${x-6}" y="5" width="12" height="20" fill="rgba(255,255,255,0.1)" stroke="#cbd5e1" stroke-width="1"/>`;
            
            // Obliczenie pozycji pływaka (flowPerLoop max 2.0)
            // Y: 5 (max flow) do 20 (min flow)
            let flowRatio = Math.min(1, flowPerLoop / 2.5);
            let floatY = 20 - (flowRatio * 10); // wizualny zakres

            svg += `<rect class="anim-float" x="${x-5}" y="${floatY}" width="10" height="6" fill="#ef4444"/>`;
            
            // Siłowniki (dolna belka)
            svg += `<rect x="${x-7}" y="65" width="14" height="15" fill="#e2e8f0" rx="2"/>`;
            
            // Rury zasilające wychodzące w dół z czerwonej belki
            svg += `<path class="anim-flow-water" d="M ${x-5} 98 L ${x-5} 130" fill="none" stroke="#ef4444" stroke-width="3"/>`;
        }

        // Złącze wejścia (czerwone) i wyjścia (niebieskie)
        svg += `<rect x="${width-10}" y="24" width="8" height="20" fill="#ef4444"/>`;
        svg += `<rect x="${width-10}" y="79" width="8" height="20" fill="#3b82f6"/>`;

        svg += `</svg>`;
        svgContainer.innerHTML = svg;
    }

    // Główny Algorytm
    function calculateCAD() {
        const area = parseFloat(sliderArea.value);
        const heatLoad = parseFloat(sliderHeat.value);
        
        valAreaOut.textContent = area + ' m²';
        valHeatOut.textContent = heatLoad + ' W/m²';
        
        // 1. Zapotrzebowanie całkowite (Q)
        const Q = area * heatLoad;
        
        // 2. Przepływ masowy w l/min
        // m = Q / (cw * deltaT), cw = 1.163 Wh/kgK, deltaT = 5K
        // m w kg/h = Q / (1.163 * 5) = Q / 5.815
        // l/min = (Q / 5.815) / 60 = Q / 348.9
        const flowTotal = Q / 348.9;
        
        // 3. Ilość pętli (limit ok 2.0 l/min na pętlę przy rurze 16x2.0 dla uniknięcia hałasu)
        const loops = Math.max(1, Math.ceil(flowTotal / 2.0));
        const flowPerLoop = flowTotal / loops;

        // 4. Całkowita długość i objętość
        // Rozstaw 10cm = 10 mb rury na 1 m2
        const pipeLen = area * 10;
        const volume = pipeLen * 0.113;

        // Wyświetlanie wyników
        dispQ.innerHTML = Math.round(Q) + ' <span>W</span>';
        dispFlow.innerHTML = flowTotal.toFixed(1) + ' <span>l/min</span>';
        dispLoops.innerHTML = loops + ' <span>szt.</span>';
        dispVolume.innerHTML = volume.toFixed(1) + ' <span>L</span>';

        // Renderowanie SVG
        renderDynamicManifold(loops, flowPerLoop);
    }

    if (sliderArea && sliderHeat) {
        sliderArea.addEventListener('input', calculateCAD);
        sliderHeat.addEventListener('input', calculateCAD);
        calculateCAD(); // Init
    }
});
</script>



<style>
:root {
    --rk-sum-dark: #020617;
    --rk-sum-panel: #0f172a;
    --rk-sum-primary: #10b981; /* Emerald/Green for success/summary */
    --rk-sum-primary-light: #d1fae5;
    --rk-sum-accent: #3b82f6; /* Blue for water */
    --rk-sum-warning: #f59e0b;
    --rk-sum-bg: #f8fafc;
    --rk-sum-border: #cbd5e1;
    --rk-sum-text: #334155;
    --rk-sum-text-dim: #64748b;
}

.rk-summary-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    overflow: hidden;
}

/* Header z ekspertem */
.rk-summary-header {
    background: linear-gradient(135deg, var(--rk-sum-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    display: flex;
    align-items: center;
    gap: 30px;
    border-bottom: 4px solid var(--rk-sum-primary);
    position: relative;
    overflow: hidden;
}

.rk-summary-header::after {
    content: ''; position: absolute; right: 0; top: 0; width: 300px; height: 100%;
    background: radial-gradient(circle at right, rgba(16, 185, 129, 0.15) 0%, transparent 70%);
}

.rk-expert-avatar {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 3px solid var(--rk-sum-primary);
    box-shadow: 0 0 20px rgba(16, 185, 129, 0.4);
    object-fit: cover;
    position: relative;
    z-index: 2;
}

.rk-header-content {
    position: relative;
    z-index: 2;
}

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

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

.rk-header-content p {
    color: #94a3b8;
    font-size: 14px;
    margin: 0;
    font-weight: 500;
}

/* Sekcja z zakładkami i wiedzą */
.rk-summary-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #ffffff;
}

.rk-rules-list {
    padding: 30px;
    border-right: 1px solid var(--rk-sum-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #f8fafc;
}

.rk-rule-btn {
    background: #ffffff;
    border: 1px solid var(--rk-sum-border);
    padding: 18px 20px;
    border-radius: 12px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-rule-btn:hover {
    border-color: var(--rk-sum-primary);
    transform: translateX(4px);
}

.rk-rule-btn.active {
    background: var(--rk-sum-primary-light);
    border-color: var(--rk-sum-primary);
    box-shadow: inset 4px 0 0 var(--rk-sum-primary);
}

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

.rk-rule-btn.active .rk-rule-icon {
    background: var(--rk-sum-primary);
    color: #ffffff;
}

.rk-rule-text h3 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-sum-dark);
}

.rk-rule-text p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-sum-text-dim);
    line-height: 1.5;
}

/* Panel Detali (Prawy) */
.rk-rule-details {
    padding: 40px;
    position: relative;
}

.rk-detail-panel {
    display: none;
    animation: fadeScale 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

@keyframes fadeScale {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.rk-detail-panel h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-sum-dark);
}

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

.rk-sum-link {
    color: var(--rk-sum-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-sum-accent);
    transition: 0.3s;
}
.rk-sum-link:hover { border-bottom-style: solid; color: #1d4ed8; }

.rk-detail-svg {
    width: 100%;
    height: 160px;
    background: var(--rk-sum-dark);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 4px 20px rgba(0,0,0,0.5);
}

/* Narzędzie Szybkiego Szacowania (Kalkulator) */
.rk-quick-calc {
    background: var(--rk-sum-panel);
    padding: 35px 50px;
    border-top: 1px solid #1e293b;
    color: #ffffff;
}

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

.rk-calc-header h4 {
    margin: 0; font-size: 18px; font-weight: 900; color: #ffffff;
    display: flex; align-items: center; gap: 10px;
}

.rk-calc-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 40px;
    align-items: center;
}

.rk-calc-input-area {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-calc-label { font-size: 13px; font-weight: 700; color: #94a3b8; display: flex; justify-content: space-between; }
.rk-calc-label span { color: #ffffff; font-size: 16px; font-weight: 900; }

.rk-sum-range {
    -webkit-appearance: none; width: 100%; height: 6px; border-radius: 3px; background: #334155; outline: none;
}
.rk-sum-range::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%;
    background: var(--rk-sum-primary); cursor: pointer; border: 3px solid #ffffff; transition: 0.1s;
}
.rk-sum-range::-webkit-slider-thumb:active { transform: scale(1.15); }

.rk-calc-results {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.rk-result-box {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    padding: 15px;
    border-radius: 12px;
    text-align: center;
}

.rk-result-box.highlight { border-color: var(--rk-sum-primary); background: rgba(16, 185, 129, 0.1); }

.rk-res-val { display: block; font-size: 22px; font-weight: 900; color: #ffffff; margin-bottom: 5px; }
.rk-result-box.highlight .rk-res-val { color: var(--rk-sum-primary); }
.rk-res-lab { display: block; font-size: 11px; color: #94a3b8; text-transform: uppercase; font-weight: 700; line-height: 1.4; }

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

.rk-author-photo-small {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    border: 3px solid var(--rk-sum-primary);
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.2);
    object-fit: cover;
    flex-shrink: 0;
}

.rk-author-info {
    flex-grow: 1;
}

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

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

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

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

.rk-author-links a:hover {
    color: #1d4ed8;
    text-decoration: underline;
}

/* Animacje SVG */
.anim-check-draw { stroke-dasharray: 100; stroke-dashoffset: 100; animation: drawCheck 1s forwards; }
@keyframes drawCheck { to { stroke-dashoffset: 0; } }

.anim-pulse-ring { animation: pulseRing 2s infinite; transform-origin: center; }
@keyframes pulseRing { 0% { transform: scale(0.8); opacity: 1; } 100% { transform: scale(1.5); opacity: 0; } }

.anim-water-wave { animation: waveWater 3s linear infinite; }
@keyframes waveWater { 0% { transform: translateX(0); } 100% { transform: translateX(-20px); } }

@media (max-width: 768px) {
    .rk-summary-header { flex-direction: column; text-align: center; padding: 30px 20px; }
    .rk-expert-avatar { width: 70px; height: 70px; }
    .rk-summary-body { grid-template-columns: 1fr; }
    .rk-rules-list { border-right: none; border-bottom: 1px solid var(--rk-sum-border); padding: 20px; }
    .rk-rule-details { padding: 25px 20px; }
    .rk-calc-grid { grid-template-columns: 1fr; gap: 25px; }
    .rk-quick-calc { padding: 30px 20px; }
    .rk-calc-results { grid-template-columns: 1fr; }
    .rk-summary-author { flex-direction: column; text-align: center; padding: 30px 20px; align-items: center; }
    .rk-author-links { justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#article-summary-final",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/"
    },
    "headline": "Inżynierskie podsumowanie: Zład wody w pętli PEX 16",
    "description": "Kompaktowe zestawienie najważniejszych parametrów i narzędzie do błyskawicznego szacowania zładu wodnego w ogrzewaniu podłogowym. Twórca i CEO portalu: Robert Kucharski.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "CEO & Główny Projektant HVAC",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#dataset-summary",
    "name": "Wskaźniki materiałowo-pojemnościowe dla PEX 16x2.0",
    "description": "Twarde dane przeliczeniowe łączące metraż budynku z szacunkowym zładem wody i zapotrzebowaniem na chemię instalacyjną (inhibitory).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie instalacji pex",
      "szybki kalkulator podłogówki",
      "ilość inhibitora korozji",
      "zład całkowity instalacji",
      "złote zasady ogrzewania"
    ],
    "measurementTechnique": "Szacowanie oparte na średnim wskaźniku 8 mb rury 16x2.0 na 1m2 powierzchni oraz normatywnym stężeniu inhibitora na poziomie 1%.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Kluczowa pojemność: 0,113 l/m dla rury 16x2.0",
        "Szacunkowe zużycie rury: ~8m na 1m2 (przy zróżnicowanym rozstawie)",
        "Stężenie ochronne: 1 litr inhibitora na 100 litrów wody demineralizowanej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#webapp-summary",
    "name": "Kalkulator Szybkiego Szacowania Inwestycji",
    "description": "Moduł podsumowujący. Przelicza powierzchnię domu na orientacyjną długość rur, zład wody oraz wymaganą ilość profesjonalnej chemii zabezpieczającej.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Forms",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-summary-container" id="rk-summary-app">
    
    <div class="rk-summary-header">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-expert-avatar" loading="lazy">
        <div class="rk-header-content">
            <div class="rk-header-badge">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Wnioski Eksperta
            </div>
            <h2>Inżynierskie podsumowanie: Zład wody w pętli PEX 16</h2>
            <p>Zebrałem dla Ciebie 3 najważniejsze reguły projektowe, które decydują o bezawaryjnej pracy systemu przez dekady. Błędy na tym etapie są nieodwracalne.</p>
        </div>
    </div>

    <div class="rk-summary-body">
        
        <div class="rk-rules-list">
            <button class="rk-rule-btn active" data-panel="det-1">
                <div class="rk-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg></div>
                <div class="rk-rule-text">
                    <h3>Pojemność to fundament</h3>
                    <p>0,113 litra na metr dla 16&#215;2.0</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="det-2">
                <div class="rk-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg></div>
                <div class="rk-rule-text">
                    <h3>Ochrona Pompy Ciepła</h3>
                    <p>Zład chroni przed taktowaniem</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="det-3">
                <div class="rk-rule-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10 2v7.31"></path><path d="M14 9.3V1.99"></path><path d="M8.5 2h7"></path><path d="M14 9.3a6.5 6.5 0 1 1-4 0"></path><path d="M5.52 16h12.96"></path></svg></div>
                <div class="rk-rule-text">
                    <h3>Chemia i Jakość Wody</h3>
                    <p>pH i woda demineralizowana</p>
                </div>
            </button>
        </div>

        <div class="rk-rule-details">
            
            <div class="rk-detail-panel active" id="det-1">
                <h4>Nie projektuj &#8222;na oko&#8221;</h4>
                <p>Każda pętla to konkretna pojemność i opór. Zmiana grubości ścianki (z 2.0 na 2.2 mm) to spadek objętości do 0,106 l/m, co błyskawicznie zmienia dynamikę całego <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" class="rk-sum-link">rozdzielacza</a> i narusza projektowe <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-sum-link">obliczenia OZC</a>.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <circle cx="100" cy="50" r="30" fill="none" stroke="#334155" stroke-width="2"/>
                        <circle cx="100" cy="50" r="26" fill="none" stroke="#10b981" stroke-width="4"/>
                        <circle cx="100" cy="50" r="24" fill="#0ea5e9"/>
                        <path class="anim-check-draw" d="M 90 50 L 98 58 L 115 40" fill="none" stroke="#ffffff" stroke-width="4" stroke-linecap="round"/>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="det-2">
                <h4>Stabilność źródła ciepła</h4>
                <p>Niedoszacowany zład wodny to najczęstsza przyczyna uszkodzeń nowoczesnych sprężarek. Jeśli brakuje litrów w układzie (względem wymogów <a href="https://projekt-ogrzewania.pl/kociol-gazowy/" class="rk-sum-link">kotła</a> lub PC), niezbędny jest montaż <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" class="rk-sum-link">bufora ciepła</a> lub sprzęgła.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <circle class="anim-pulse-ring" cx="100" cy="50" r="20" fill="none" stroke="#ef4444" stroke-width="2"/>
                        <rect x="80" y="30" width="40" height="40" fill="#1e293b" stroke="#f59e0b" stroke-width="2" rx="4"/>
                        <path d="M 85 45 L 95 45 L 90 60 Z" fill="#f59e0b"/>
                        <path d="M 105 45 L 115 45 L 110 60 Z" fill="#f59e0b"/>
                        <text x="100" y="85" fill="#f59e0b" font-size="10" text-anchor="middle" font-weight="bold">STOP TAKTOWANIU</text>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="det-3">
                <h4>Zabezpieczenie przed korozją</h4>
                <p>Nigdy nie wlewaj kranówki! Instalację napełniaj wyłącznie <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/" class="rk-sum-link">wodą demineralizowaną</a>. Znając dokładną pojemność (wyliczoną ze wzorów), dodaj precyzyjnie 1% inhibitora korozji (np. 2L na 200L wody).</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <rect x="70" y="30" width="60" height="50" fill="none" stroke="#cbd5e1" stroke-width="3" rx="4"/>
                        <path class="anim-water-wave" d="M 70 50 Q 80 40 90 50 T 110 50 T 130 50 L 130 80 L 70 80 Z" fill="#3b82f6" opacity="0.8"/>
                        <circle cx="100" cy="65" r="5" fill="#10b981"/>
                        <text x="100" y="20" fill="#10b981" font-size="12" text-anchor="middle" font-weight="bold">+ 1% INHIBITOR</text>
                    </svg>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-quick-calc">
        <div class="rk-calc-header">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-sum-primary)" stroke-width="2.5"><rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="8" y1="6" x2="16" y2="6"></line><line x1="16" y1="14" x2="16.01" y2="14"></line><line x1="12" y1="14" x2="12.01" y2="14"></line><line x1="8" y1="14" x2="8.01" y2="14"></line><line x1="16" y1="18" x2="16.01" y2="18"></line><line x1="12" y1="18" x2="12.01" y2="18"></line><line x1="8" y1="18" x2="8.01" y2="18"></line></svg>
                Szybki estymator materiałowy
            </h4>
            <span style="font-size:12px; color:#64748b;">(Dla rury PEX 16&#215;2.0)</span>
        </div>

        <div class="rk-calc-grid">
            
            <div class="rk-calc-input-area">
                <div class="rk-calc-label">
                    Powierzchnia domu:
                    <span id="sumAreaOut">120 m²</span>
                </div>
                <input type="range" class="rk-sum-range" id="sumAreaSlider" min="50" max="300" step="10" value="120">
                <p style="font-size: 11px; color:#64748b; margin:0;">*Przyjmując średnio 8 mb rury na 1m².</p>
            </div>

            <div class="rk-calc-results">
                <div class="rk-result-box">
                    <span class="rk-res-val" id="resPipe">960 <span style="font-size:14px;color:#64748b;">m</span></span>
                    <span class="rk-res-lab">Szacunkowa dł. rur</span>
                </div>
                <div class="rk-result-box highlight">
                    <span class="rk-res-val" id="resWater">108.5 <span style="font-size:14px;color:var(--rk-sum-primary);">L</span></span>
                    <span class="rk-res-lab">Zład wody w pętlach</span>
                </div>
                <div class="rk-result-box">
                    <span class="rk-res-val" id="resChem">1.1 <span style="font-size:14px;color:#64748b;">L</span></span>
                    <span class="rk-res-lab">Wymagany inhibitor (1%)</span>
                </div>
            </div>

        </div>
    </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (DOMAIN LOCK)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-summary-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border:1px solid #ef4444; border-radius:24px; font-weight:800;">
                BŁĄD LICENCJI: Kod podsumowania jest własnością projekt-ogrzewania.pl
            </div>`;
        return;
    }

    // 2. Logika Zakładek (Złote Zasady)
    const btns = document.querySelectorAll('.rk-rule-btn');
    const panels = document.querySelectorAll('.rk-detail-panel');

    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            // Reset
            btns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Set Active
            btn.classList.add('active');
            const target = document.getElementById(btn.getAttribute('data-panel'));
            if(target) {
                // Restart animation
                void target.offsetWidth;
                target.classList.add('active');
            }
        });
    });

    // 3. Logika Szybkiego Estymatora
    const slider = document.getElementById('sumAreaSlider');
    const areaOut = document.getElementById('sumAreaOut');
    const resPipe = document.getElementById('resPipe');
    const resWater = document.getElementById('resWater');
    const resChem = document.getElementById('resChem');

    function updateEstimator() {
        const area = parseInt(slider.value);
        areaOut.textContent = area + ' m²';

        // Obliczenia:
        // Średnio 8 mb rury na 1m2 (mieszany rozstaw)
        const pipeLen = area * 8;
        // Zład wody dla 16x2.0 = 0.113 l/m
        const waterVol = pipeLen * 0.113;
        // Chemia (1% z całkowitej objętości)
        const chemVol = waterVol * 0.01;

        resPipe.innerHTML = pipeLen + ' <span style="font-size:14px;color:#64748b;">m</span>';
        resWater.innerHTML = waterVol.toFixed(1) + ' <span style="font-size:14px;color:var(--rk-sum-primary);">L</span>';
        resChem.innerHTML = chemVol.toFixed(1) + ' <span style="font-size:14px;color:#64748b;">L</span>';
    }

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



<style>
:root {
    --rk-diag-dark: #09090b;
    --rk-diag-panel: #18181b;
    --rk-diag-surface: #27272a;
    --rk-diag-accent: #f59e0b; /* Bursztynowy - ostrzegawczy */
    --rk-diag-accent-dim: #78350f;
    --rk-diag-danger: #ef4444;
    --rk-diag-success: #10b981;
    --rk-diag-text: #e4e4e7;
    --rk-diag-muted: #a1a1aa;
    --rk-diag-border: #3f3f46;
}

.rk-diag-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-diag-dark);
    border-radius: 24px;
    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.6);
    border: 1px solid var(--rk-diag-border);
    overflow: hidden;
    color: var(--rk-diag-text);
}

/* Header */
.rk-diag-header {
    background: linear-gradient(180deg, #1f2937 0%, var(--rk-diag-dark) 100%);
    padding: 40px 50px;
    border-bottom: 1px solid var(--rk-diag-border);
    position: relative;
}

.rk-diag-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.15);
    color: var(--rk-diag-accent);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.rk-diag-title {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    color: #ffffff;
}

.rk-diag-title span { color: var(--rk-diag-accent); }

.rk-diag-intro {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-diag-muted);
    max-width: 800px;
    margin: 0;
}

/* Layout Inspektora (Zakładki Pionowe) */
.rk-diag-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    min-height: 500px;
}

/* Lewy Panel - Zakładki */
.rk-diag-sidebar {
    background: var(--rk-diag-panel);
    border-right: 1px solid var(--rk-diag-border);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-diag-tab {
    background: transparent;
    border: 1px solid transparent;
    padding: 15px;
    border-radius: 12px;
    color: var(--rk-diag-muted);
    text-align: left;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-diag-tab:hover {
    background: var(--rk-diag-surface);
    color: #ffffff;
}

.rk-diag-tab.active {
    background: var(--rk-diag-accent-dim);
    border-color: var(--rk-diag-accent);
    color: #ffffff;
    box-shadow: inset 4px 0 0 var(--rk-diag-accent);
}

.rk-tab-title { font-size: 14px; font-weight: 800; }
.rk-tab-sub { font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.8; }

/* Prawy Panel - Treść i Wizualizacje */
.rk-diag-content-wrapper {
    position: relative;
    background: var(--rk-diag-dark);
}

.rk-diag-panel {
    display: none;
    padding: 40px;
    animation: diagFadeIn 0.4s ease-out;
}

.rk-diag-panel.active {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

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

/* Nagłówek Panelu */
.rk-panel-header h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 900;
    color: #ffffff;
}

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

.rk-diag-link {
    color: var(--rk-diag-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-diag-accent);
    transition: 0.3s;
}
.rk-diag-link:hover { color: #fcd34d; border-bottom-style: solid; }

/* Statystyki Błędu */
.rk-error-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-stat-box {
    background: var(--rk-diag-panel);
    border: 1px solid var(--rk-diag-border);
    padding: 15px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-stat-box.alert { border-color: var(--rk-diag-danger); background: rgba(239, 68, 68, 0.1); }
.rk-stat-box.correct { border-color: var(--rk-diag-success); background: rgba(16, 185, 129, 0.1); }

.rk-stat-label { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--rk-diag-muted); }
.rk-stat-val { font-size: 20px; font-weight: 900; font-family: monospace; }
.rk-stat-box.alert .rk-stat-val { color: var(--rk-diag-danger); }
.rk-stat-box.correct .rk-stat-val { color: var(--rk-diag-success); }

/* Kontener SVG */
.rk-svg-stage {
    background: #000000;
    border: 1px solid var(--rk-diag-border);
    border-radius: 12px;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.rk-svg-stage::after {
    content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at center, transparent 30%, rgba(0,0,0,0.6) 100%);
    pointer-events: none;
}

/* Animacje specyficzne dla paneli */
/* Panel 1: Rury i objętość */
.rk-anim-fill-bad { transition: height 1s cubic-bezier(0.4, 0, 0.2, 1); fill: var(--rk-diag-danger); }
.rk-anim-fill-good { transition: height 1s cubic-bezier(0.4, 0, 0.2, 1); fill: var(--rk-diag-success); }
.rk-diag-panel.active .rk-anim-fill-bad { height: 80px; }
.rk-diag-panel.active .rk-anim-fill-good { height: 60px; }

/* Panel 2: Ciśnienie */
.rk-anim-needle { transform-origin: 50px 70px; transform: rotate(-45deg); transition: transform 1.5s cubic-bezier(0.34, 1.56, 0.64, 1); }
.rk-diag-panel.active .rk-anim-needle { transform: rotate(55deg); }
.rk-anim-vessel { transform-origin: center; transition: transform 1.5s ease-out; }
.rk-diag-panel.active .rk-anim-vessel { transform: scale(1.15); }

/* Panel 3: Korozja */
.rk-anim-drop { opacity: 0; }
.rk-diag-panel.active .rk-anim-drop { animation: acidDrop 2s infinite; }
@keyframes acidDrop {
    0% { transform: translateY(-20px); opacity: 0; }
    30% { opacity: 1; }
    60% { transform: translateY(30px); opacity: 0; }
    100% { opacity: 0; }
}
.rk-anim-rust { opacity: 0; transition: opacity 2s 1s ease-in; fill: #991b1b; }
.rk-diag-panel.active .rk-anim-rust { opacity: 1; }

@media (max-width: 768px) {
    .rk-diag-header { padding: 30px 20px; }
    .rk-diag-layout { grid-template-columns: 1fr; display: flex; flex-direction: column; }
    .rk-diag-sidebar { border-right: none; border-bottom: 1px solid var(--rk-diag-border); flex-direction: row; overflow-x: auto; padding: 15px; }
    .rk-diag-tab { flex: 0 0 200px; padding: 12px; }
    .rk-diag-panel { padding: 25px 20px; }
    .rk-error-stats { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#article-zlad",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/"
    },
    "headline": "Jakie błędy najczęściej popełniają instalatorzy przy szacowaniu objętości zładu?",
    "description": "Analiza krytycznych błędów hydraulicznych: uśrednianie pojemności rur, ignorowanie średnic podejść zasilających oraz błędne dozowanie inhibitorów korozji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#dataset-zlad",
    "name": "Baza najczęstszych błędów szacowania zładu wodnego w instalacjach CO",
    "description": "Zestawienie techniczne konsekwencji wynikających z błędów projektowych i wykonawczych przy obliczaniu pojemności instalacji.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy instalatorów podłogówki",
      "pojemność rury zasilającej PEX 32",
      "korozja wżerowa rozdzielacza",
      "stężenie inhibitora korozji",
      "norma VDI 2035"
    ],
    "measurementTechnique": "Analiza porównawcza założeń uśrednionych (na oko) z rzeczywistymi parametrami geometrycznymi i chemicznymi wymaganymi przez normy branżowe.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Uśrednianie pojemności do 0.15 l/m zamiast 0.113 l/m (błąd rzędu 25%).",
        "Błąd 2: Pomijanie rur zasilających np. PEX 32x3.0 (ID 26 mm = 0.531 l/m), co powoduje zły dobór naczynia wzbiorczego.",
        "Błąd 3: Błędne pH i złe stężenie inhibitorów prowadzące do korozji wżerowej elementów mosiężnych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#webapp-zlad",
    "name": "Audytor Błędów Hydraulicznych",
    "description": "Interaktywny symulator diagnostyczny prezentujący wizualizacje skutków błędnego szacowania pojemności zładu (skoki ciśnienia, korozja mosiądzu).",
    "applicationCategory": "DiagnosticApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and CSS Animations",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-diag-container" id="rk-diag-app">
    
    <!-- Nagłówek -->
    <div class="rk-diag-header">
        <div class="rk-diag-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>
            Audyt Wykonawczy
        </div>
        <h2 class="rk-diag-title">3 krytyczne błędy przy <span>szacowaniu zładu</span></h2>
        <p class="rk-diag-intro">
            Szacowanie parametrów instalacji &#8222;na oko&#8221; i ignorowanie zasad fizyki budowli to plaga wśród instalatorów. Niewielkie odchylenia w obliczeniach prowadzą do destabilizacji hydraulicznej, zniszczenia osprzętu i utraty gwarancji na źródło ciepła.
        </p>
    </div>

    <!-- Układ z zakładkami -->
    <div class="rk-diag-layout">
        
        <!-- Sidebar Zakładki -->
        <div class="rk-diag-sidebar">
            <button class="rk-diag-tab active" data-target="panel-1">
                <span class="rk-tab-sub">Błąd #1</span>
                <span class="rk-tab-title">Mit &#8222;0,15 litra na metr&#8221;</span>
            </button>
            <button class="rk-diag-tab" data-target="panel-2">
                <span class="rk-tab-sub">Błąd #2</span>
                <span class="rk-tab-title">Ignorowanie zasilania</span>
            </button>
            <button class="rk-diag-tab" data-target="panel-3">
                <span class="rk-tab-sub">Błąd #3</span>
                <span class="rk-tab-title">Chemia i Korozja</span>
            </button>
        </div>

        <!-- Treść Paneli -->
        <div class="rk-diag-content-wrapper">
            
            <!-- PANEL 1: Uśrednianie pojemności -->
            <div class="rk-diag-panel active" id="panel-1">
                <div class="rk-panel-header">
                    <h3>Mylenie profili i uśrednianie</h3>
                    <p class="rk-panel-text">
                        Najczęstszym błędem jest przyjmowanie uśrednionego przelicznika pojemności <strong>0,15 l/m</strong> dla każdej rury 16 mm. W rurach PEX/PERT rzeczywista pojemność to 0,113 l/m. Przy marketowych rurach 16&#215;2,2 pojemność spada do 0,106 l/m. Wyliczenie układu z błędem rzędu 25% całkowicie burzy równoważenie hydrauliczne wg normy PN-EN 1264.
                    </p>
                </div>
                
                <div class="rk-error-stats">
                    <div class="rk-stat-box alert">
                        <span class="rk-stat-label">Błędne założenie &#8222;na oko&#8221;</span>
                        <span class="rk-stat-val">0,150 L/m</span>
                    </div>
                    <div class="rk-stat-box correct">
                        <span class="rk-stat-label">Rzeczywistość (16&#215;2.0)</span>
                        <span class="rk-stat-val">0,113 L/m</span>
                    </div>
                </div>

                <div class="rk-svg-stage">
                    <svg viewBox="0 0 200 120" style="width: 100%; height: 100%;">
                        <!-- Rura Błędna -->
                        <text x="60" y="20" fill="#a1a1aa" font-size="10" text-anchor="middle">Obliczenia &#8222;na oko&#8221;</text>
                        <rect x="40" y="30" width="40" height="80" fill="none" stroke="#3f3f46" stroke-width="2"/>
                        <rect class="rk-anim-fill-bad" x="41" y="110" width="38" height="0" transform="scale(1,-1) translate(0,-220)"/>
                        
                        <!-- Rura Prawidłowa -->
                        <text x="140" y="20" fill="#a1a1aa" font-size="10" text-anchor="middle">Stan faktyczny</text>
                        <rect x="120" y="30" width="40" height="80" fill="none" stroke="#3f3f46" stroke-width="2"/>
                        <rect class="rk-anim-fill-good" x="121" y="110" width="38" height="0" transform="scale(1,-1) translate(0,-220)"/>
                        
                        <!-- Linia różnicy -->
                        <line x1="30" y1="50" x2="170" y2="50" stroke="#ef4444" stroke-width="1" stroke-dasharray="4 4"/>
                        <text x="100" y="45" fill="#ef4444" font-size="9" text-anchor="middle">Brakujące 25%</text>
                    </svg>
                </div>
            </div>

            <!-- PANEL 2: Zasilanie i Ciśnienie -->
            <div class="rk-diag-panel" id="panel-2">
                <div class="rk-panel-header">
                    <h3>Brak uwzględnienia rur zasilających</h3>
                    <p class="rk-panel-text">
                        Rozdzielacze bywają oddalone od maszynowni o kilkanaście metrów. Zasilanie rurą PEX 32&#215;3,0 mm (ID = 26 mm) to potężny zład: <strong>0,531 litra na każdy metr</strong>! Pominięcie tych grubych odcinków skutkuje niedowymiarowaniem <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/" class="rk-diag-link">naczynia wzbiorczego przeponowego</a>, co wywołuje groźne skoki ciśnienia w układzie zamkniętym.
                    </p>
                </div>

                <div class="rk-error-stats">
                    <div class="rk-stat-box alert">
                        <span class="rk-stat-label">Skutek błędu</span>
                        <span class="rk-stat-val">Wyrzuty z zaworu</span>
                    </div>
                    <div class="rk-stat-box correct">
                        <span class="rk-stat-label">Pojemność PEX 32&#215;3.0</span>
                        <span class="rk-stat-val">0,531 L/m</span>
                    </div>
                </div>

                <div class="rk-svg-stage">
                    <svg viewBox="0 0 200 120" style="width: 100%; height: 100%;">
                        <!-- Naczynie wzbiorcze -->
                        <path class="rk-anim-vessel" d="M30 40 Q50 30 70 40 L70 80 Q50 90 30 80 Z" fill="#b91c1c" stroke="#f87171" stroke-width="2"/>
                        <path d="M50 35 L50 20 L130 20" fill="none" stroke="#a1a1aa" stroke-width="3"/>
                        
                        <!-- Manometr -->
                        <circle cx="140" cy="70" r="30" fill="#18181b" stroke="#3f3f46" stroke-width="4"/>
                        <!-- Skala -->
                        <path d="M 120 70 A 20 20 0 0 1 160 70" fill="none" stroke="#10b981" stroke-width="4"/>
                        <path d="M 154 56 A 20 20 0 0 1 160 70" fill="none" stroke="#ef4444" stroke-width="4"/>
                        <!-- Wskazówka animowana -->
                        <line class="rk-anim-needle" x1="140" y1="70" x2="140" y2="45" stroke="#ffffff" stroke-width="2" stroke-linecap="round"/>
                        <circle cx="140" cy="70" r="3" fill="#a1a1aa"/>
                    </svg>
                </div>
            </div>

            <!-- PANEL 3: Chemia i Korozja -->
            <div class="rk-diag-panel" id="panel-3">
                <div class="rk-panel-header">
                    <h3>Nieprawidłowe dozowanie chemii</h3>
                    <p class="rk-panel-text">
                        Zabezpieczenie instalacji wymaga precyzji. Przeszacowanie zładu oznacza wlanie zbyt dużej ilości chemii. Natomiast uzupełnienie układu zwykłą kranówką zaburza pH (powinno wynosić 8,2 &#8211; 9,5 wg normy VDI 2035). Efekt? Błyskawiczna <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-ogrzewania-podlogowego-mosiezny-czy-ze-stali-nierdzewnej/" class="rk-diag-link">korozja wżerowa elementów mosiężnych</a> i zapychanie rotametrów.
                    </p>
                </div>

                <div class="rk-error-stats">
                    <div class="rk-stat-box alert">
                        <span class="rk-stat-label">Woda kranowa (Błąd)</span>
                        <span class="rk-stat-val">pH &lt; 7.0 (Korozja)</span>
                    </div>
                    <div class="rk-stat-box correct">
                        <span class="rk-stat-label">Zalecenie wg VDI 2035</span>
                        <span class="rk-stat-val"><a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/" style="color:inherit; text-decoration:none;">Woda demin. (pH 8.5)</a></span>
                    </div>
                </div>

                <div class="rk-svg-stage">
                    <svg viewBox="0 0 200 120" style="width: 100%; height: 100%;">
                        <!-- Kropla chemii -->
                        <path class="rk-anim-drop" d="M100 20 Q105 35 105 45 A 5 5 0 0 1 95 45 Q95 35 100 20 Z" fill="#10b981"/>
                        
                        <!-- Belka Mosiężna -->
                        <rect x="40" y="60" width="120" height="30" fill="#ca8a04" rx="4"/>
                        <rect x="40" y="60" width="120" height="5" fill="#facc15" opacity="0.5"/>
                        
                        <!-- Oznaki Korozji Wżerowej -->
                        <g class="rk-anim-rust">
                            <circle cx="60" cy="70" r="3"/>
                            <circle cx="65" cy="75" r="2"/>
                            <circle cx="100" cy="65" r="4"/>
                            <circle cx="110" cy="72" r="2"/>
                            <circle cx="140" cy="80" r="3"/>
                        </g>
                        
                        <text x="100" y="110" fill="#ef4444" font-size="10" font-weight="bold" text-anchor="middle">ROZWÓJ KOROZJI WŻEROWEJ</text>
                    </svg>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (DOMAIN LOCK)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-diag-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#09090b; color:#ef4444; border:1px solid #ef4444; border-radius:24px; font-weight:800;">
                BŁĄD LICENCJI: Ten komponent audytowy jest własnością projekt-ogrzewania.pl
            </div>`;
        return;
    }

    // 2. Logika Zakładek (Tabs)
    const tabs = document.querySelectorAll('.rk-diag-tab');
    const panels = document.querySelectorAll('.rk-diag-panel');

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

            // Set active state for clicked tab
            tab.classList.add('active');
            
            // Show corresponding panel
            const targetId = tab.getAttribute('data-target');
            const targetPanel = document.getElementById(targetId);
            if(targetPanel) {
                // Mały trick wymuszający reflow, by animacje CSS w panelu zadziałały od nowa
                void targetPanel.offsetWidth;
                targetPanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-faq2-dark: #0f172a;
    --rk-faq2-brand: #0d9488; /* Ekspercki Teal (Morski) */
    --rk-faq2-brand-light: #ccfbf1;
    --rk-faq2-accent: #0284c7; /* Niebieski detal */
    --rk-faq2-bg: #ffffff;
    --rk-faq2-surface: #f8fafc;
    --rk-faq2-border: #cbd5e1;
    --rk-faq2-text: #334155;
    --rk-faq2-muted: #64748b;
}

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

/* Sekcja Nagłówka */
.rk-faq2-header {
    background: linear-gradient(135deg, var(--rk-faq2-dark) 0%, #134e4a 100%);
    padding: 40px 50px;
    color: #ffffff;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.rk-faq2-badge {
    background: rgba(204, 251, 241, 0.15);
    color: #5eead4;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
    border: 1px solid rgba(94, 234, 212, 0.3);
    display: flex;
    align-items: center;
    gap: 8px;
}

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

.rk-faq2-title span { color: #5eead4; }

/* Akordeon i Kontent */
.rk-faq2-body {
    padding: 40px 50px;
    background: var(--rk-faq2-surface);
}

.rk-faq2-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-faq2-item {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    border: 1px solid var(--rk-faq2-border);
    transition: all 0.3s ease;
}

.rk-faq2-item.active {
    border-color: var(--rk-faq2-brand);
    box-shadow: 0 10px 20px -5px rgba(13, 148, 136, 0.2);
}

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

.rk-faq2-item.active .rk-faq2-question {
    background: var(--rk-faq2-brand-light);
    color: #0f766e;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.rk-faq2-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--rk-faq2-surface);
    color: var(--rk-faq2-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s, color 0.3s;
}

.rk-faq2-item.active .rk-faq2-icon {
    background: var(--rk-faq2-brand);
    color: #ffffff;
    transform: rotate(45deg);
}

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

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

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

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

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

.rk-faq2-link {
    color: var(--rk-faq2-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px dotted rgba(13, 148, 136, 0.5);
    transition: all 0.3s;
}

.rk-faq2-link:hover {
    color: #0f766e;
    border-bottom-style: solid;
}

/* Interaktywny Widget SVG */
.rk-faq2-widget {
    background: var(--rk-faq2-dark);
    border-radius: 12px;
    padding: 15px;
    height: 160px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 2px solid #1e293b;
    box-shadow: inset 0 4px 15px rgba(0,0,0,0.4);
}

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

/* --- Animacje i Style Widgetów --- */
/* Widget 1: Pojemność 2.0 vs 2.2 */
.rk-w1-switch {
    background: #1e293b; border-radius: 20px; display: flex; padding: 4px; margin-bottom: 10px; width: 90%;
}
.rk-w1-btn {
    flex: 1; border: none; background: transparent; color: #94a3b8; font-size: 10px; font-weight: 800; padding: 4px; border-radius: 16px; cursor: pointer; transition: 0.3s;
}
.rk-w1-btn.active { background: var(--rk-faq2-brand); color: #fff; }
.rk-w1-pipe-wall { transition: stroke-width 0.4s ease; }
.rk-w1-water { transition: r 0.4s ease; }
.rk-w1-drop { animation: w1Drop 1.5s infinite; }
@keyframes w1Drop { 0% { transform: translateY(-10px); opacity: 0; } 50% { opacity: 1; } 100% { transform: translateY(15px); opacity: 0; } }

/* Widget 2: Glikol vs Woda */
.rk-w2-flow { stroke-dasharray: 8 16; animation: w2Flow 1s linear infinite; }
.rk-faq2-item.active .rk-w2-flow { stroke: var(--rk-faq2-brand); }
@keyframes w2Flow { to { stroke-dashoffset: -24; } }
.rk-faq2-item.active .rk-w2-gear { animation: w2Spin 3s linear infinite; transform-origin: center; }
@keyframes w2Spin { to { transform: rotate(360deg); } }

/* Widget 3: Naczynie Wzbiorcze */
.rk-w3-balloon { transform-origin: bottom center; transition: transform 2s ease-in-out; }
.rk-faq2-item.active .rk-w3-balloon { transform: scale(1.15); fill: #ef4444; }
.rk-w3-arrow { opacity: 0; transition: opacity 0.5s 1.5s; }
.rk-faq2-item.active .rk-w3-arrow { opacity: 1; animation: w3Float 1s infinite alternate; }
@keyframes w3Float { to { transform: translateY(-3px); } }

/* Widget 4: Demineralizowana */
.rk-w4-scale { opacity: 0; transition: opacity 2s ease; }
.rk-faq2-item.active .rk-w4-scale { opacity: 1; }
.rk-w4-clean { stroke-dasharray: 5 10; animation: w4CleanFlow 2s linear infinite; stroke: #38bdf8; }
@keyframes w4CleanFlow { to { stroke-dashoffset: -15; } }

/* Widget 5: Wodomierz */
.rk-w5-dial { transform-origin: center; transition: transform 2.5s cubic-bezier(0.2, 0.8, 0.2, 1); }
.rk-faq2-item.active .rk-w5-dial { transform: rotate(270deg); }

/* Responsywność */
@media (max-width: 768px) {
    .rk-faq2-header, .rk-faq2-body { padding: 30px 20px; }
    .rk-faq2-title { font-size: 22px; }
    .rk-faq2-question { font-size: 14px; padding: 18px 20px; }
    .rk-faq2-content { grid-template-columns: 1fr; gap: 25px; padding: 20px; }
    .rk-faq2-widget { max-width: 250px; margin: 0 auto; width: 100%; height: 140px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#article-faq2",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania o pojemność rur PEX 16",
    "description": "Szczegółowe odpowiedzi na pytania dotyczące obliczania zładu wody, wpływu glikolu, doboru naczynia wzbiorczego i weryfikacji pomiarów w instalacjach PEX/PERT.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#faq-zlad",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Ile dokładnie litrów wody mieści pętla rury PEX 16 o długości 100 metrów?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Standardowa pętla rury PEX 16x2,0 mm o długości 100 metrów mieści w sobie dokładnie 11,3 litra wody. W przypadku rury o ściance 2,2 mm objętość ta wynosi 10,6 litra, co należy bezwzględnie uwzględnić podczas równoważenia hydraulicznego rozdzielacza."
        }
      },
      {
        "@type": "Question",
        "name": "Czy rodzaj medium grzewczego, np. glikol, zmienia objętość zładu w rurze PEX 16?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Fizyczna objętość geometryczna rury pozostaje niezmienna i wynosi 0,113 l/m, jednak zastosowanie roztworu glikolu zmienia gęstość i lepkość kinematyczną medium. Wpływa to na konieczność zwiększenia mocy pompy obiegowej o około 15-20% ze względu na wyższe opory przepływu."
        }
      },
      {
        "@type": "Question",
        "name": "Jak pojemność wodna rury 16 mm wpływa na dobór naczynia wzbiorczego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Pojemność jednostkowa 0,113 l/m pozwala wyliczyć całkowitą masę wody, która pod wpływem temperatury zwiększa swoją objętość właściwą. Precyzyjne zsumowanie zładu zapobiega skokom ciśnienia w układzie i chroni zawór bezpieczeństwa o ciśnieniu otwarcia 3 bar przed ciągłym zrzucaniem wody."
        }
      },
      {
        "@type": "Question",
        "name": "Czy do napełnienia instalacji z rurami PEX 16 lepsza jest woda z kranu czy demineralizowana?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zdecydowanie najlepszym wyborem jest woda demineralizowana, która chroni wewnętrzne ścianki rur PEX i PERT przed odkładaniem się kamienia kotłowego. Zastosowanie zwykłej wody kranowej o wysokiej twardości ogólnej drastycznie obniża sprawność wymiany ciepła i może prowadzić do zapychania rotametrów."
        }
      },
      {
        "@type": "Question",
        "name": "Jak sprawdzić, czy instalator nie popełnił błędu przy obliczaniu pojemności instalacji?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Najprostszą metodą weryfikacji jest kontrola ilości wody wtłoczonej do układu za pomocą wodomierza podłączonego do zaworu napełniającego podczas próby szczelności. Rzeczywiste wskazanie licznika powinno pokrywać się z obliczeniami projektowymi, dopuszczając maksymalny błąd pomiarowy na poziomie 5%."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#dataset-faq2",
    "name": "Parametry Fizykochemiczne Zładu w Instalacjach Płaszczyznowych",
    "description": "Baza danych obejmująca wpływ grubości ścianki, rodzaju medium oraz jakości wody na wydajność hydrauliczną rur PEX/PERT 16.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": { "@type": "Person", "name": "Robert Kucharski" },
    "keywords": [
      "pojemność pętli 100m",
      "glikol a opory przepływu",
      "dobór naczynia wzbiorczego",
      "woda demineralizowana w CO",
      "weryfikacja pojemności instalacji"
    ],
    "measurementTechnique": "Przeliczenia geometryczne pojemności wewnętrznej rurociągów oraz analiza kinematyczna oporów dla roztworów glikolowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "100m rury 16x2.0 mm = 11,3 litra objętości.",
        "100m rury 16x2.2 mm = 10,6 litra objętości.",
        "Dodatek glikolu = +15-20% zapotrzebowania na moc pompy obiegowej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#webapp-faq2",
    "name": "Interaktywny Asystent Hydrauliczny FAQ",
    "description": "Interfejs edukacyjny pozwalający na wizualizację kluczowych zagadnień fizyki budowli w zakresie zładu wodnego, gęstości czynnika oraz wzrostu ciśnienia.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "creator": { "@type": "Person", "name": "Robert Kucharski" }
  }
]
</script>

<div class="rk-faq2-container" id="rk-faq2-app">
    <div class="rk-faq2-header">
        <div class="rk-faq2-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>
            Baza Inżynierska
        </div>
        <h2 class="rk-faq2-title">FAQ – Najczęściej zadawane pytania o <span>pojemność rur PEX 16</span></h2>
    </div>

    <div class="rk-faq2-body">
        <div class="rk-faq2-list">
            
            <!-- Pytanie 1 -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>1. Ile dokładnie litrów wody mieści pętla rury PEX 16 o długości 100 metrów?</span>
                    <div class="rk-faq2-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Standardowa pętla rury PEX 16&#215;2,0 mm o długości 100 metrów mieści w sobie dokładnie <strong>11,3 litra wody</strong>. W przypadku marketowej rury o ściance 2,2 mm objętość ta wynosi <strong>10,6 litra</strong>. Tę różnicę należy bezwzględnie uwzględnić podczas równoważenia hydraulicznego <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" class="rk-faq2-link">rozdzielacza</a>.
                            </div>
                            <div class="rk-faq2-widget">
                                <div class="rk-w1-switch">
                                    <button class="rk-w1-btn active" id="btnW1-20">16&#215;2.0 (11.3L)</button>
                                    <button class="rk-w1-btn" id="btnW1-22">16&#215;2.2 (10.6L)</button>
                                </div>
                                <svg class="rk-faq2-svg" viewBox="0 0 100 80">
                                    <!-- Rura zewn -->
                                    <circle cx="50" cy="45" r="30" fill="none" stroke="#64748b" stroke-width="2"/>
                                    <!-- Scianka rury (zmienna szerokosc) -->
                                    <circle cx="50" cy="45" r="26" fill="none" stroke="#f8fafc" stroke-width="4" id="w1Wall"/>
                                    <!-- Woda w srodku -->
                                    <circle cx="50" cy="45" r="24" fill="#0ea5e9" id="w1Water"/>
                                    <path class="rk-w1-drop" d="M47 38 Q50 34 53 38 A4 4 0 0 1 47 38 Z" fill="#ffffff" opacity="0.8"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 2 -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>2. Czy rodzaj medium grzewczego, np. glikol, zmienia objętość zładu w rurze?</span>
                    <div class="rk-faq2-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Fizyczna objętość geometryczna rury pozostaje niezmienna i wynosi <strong>0,113 l/m</strong>. Jednak zastosowanie <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/" class="rk-faq2-link">roztworu glikolu</a> zmienia gęstość i lepkość kinematyczną medium. Wpływa to na konieczność zwiększenia mocy <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" class="rk-faq2-link">pompy obiegowej</a> o około 15-20% ze względu na znacząco wyższe opory przepływu.
                            </div>
                            <div class="rk-faq2-widget">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 100">
                                    <path d="M 10 50 L 90 50" fill="none" stroke="#334155" stroke-width="20" stroke-linecap="round"/>
                                    <path class="rk-w2-flow" d="M 15 50 L 85 50" fill="none" stroke="#475569" stroke-width="6" stroke-linecap="round"/>
                                    <g transform="translate(50,50)" class="rk-w2-gear">
                                        <circle cx="0" cy="0" r="10" fill="#cbd5e1"/>
                                        <path d="M-2-14h4v4h-4zM-2 10h4v4h-4zM10-2h4v4h-4zM-14-2h4v4h-4z" fill="#cbd5e1"/>
                                        <circle cx="0" cy="0" r="4" fill="#0f172a"/>
                                    </g>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 3 -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>3. Jak pojemność wodna rury 16 mm wpływa na dobór naczynia wzbiorczego?</span>
                    <div class="rk-faq2-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Pojemność jednostkowa 0,113 l/m pozwala wyliczyć całkowitą masę wody w układzie. Woda pod wpływem temperatury <strong>zwiększa swoją objętość właściwą</strong>. Precyzyjne zsumowanie zładu pozwala na właściwy dobór <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/" class="rk-faq2-link">naczynia wzbiorczego</a>, co zapobiega skokom ciśnienia i chroni zawór bezpieczeństwa (3 bar) przed ciągłym wyrzutem wody.
                            </div>
                            <div class="rk-faq2-widget">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 100">
                                    <path d="M40 80 h20 v10 h-20 z" fill="#64748b"/>
                                    <circle class="rk-w3-balloon" cx="50" cy="50" r="25" fill="#0ea5e9"/>
                                    <g class="rk-w3-arrow" stroke="#ffffff" stroke-width="3" stroke-linecap="round" fill="none">
                                        <path d="M45 40 L50 30 L55 40 M50 30 V50"/>
                                    </g>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 4 -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>4. Do napełnienia instalacji z rur PEX lepsza woda z kranu czy demineralizowana?</span>
                    <div class="rk-faq2-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Zdecydowanie najlepszym wyborem jest <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/" class="rk-faq2-link">woda demineralizowana</a> (często z inhibitorem korozji). Chroni ona wewnętrzne ścianki rur przed odkładaniem się kamienia kotłowego. Zastosowanie zwykłej wody kranowej o wysokiej twardości drastycznie <strong>obniża sprawność wymiany ciepła</strong> i w konsekwencji prowadzi do zapychania się rotametrów na belce rozdzielacza.
                            </div>
                            <div class="rk-faq2-widget">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 100">
                                    <!-- Rura -->
                                    <rect x="10" y="30" width="80" height="40" fill="none" stroke="#64748b" stroke-width="4" rx="4"/>
                                    <!-- Czysta woda -->
                                    <path class="rk-w4-clean" d="M 15 50 L 85 50" fill="none" stroke-width="8" stroke-linecap="round"/>
                                    <!-- Osad z kranu -->
                                    <g class="rk-w4-scale" fill="#fcd34d">
                                        <circle cx="25" cy="65" r="4"/><circle cx="45" cy="67" r="3"/>
                                        <circle cx="65" cy="66" r="4"/><circle cx="80" cy="64" r="2"/>
                                        <circle cx="35" cy="35" r="3"/><circle cx="75" cy="34" r="2"/>
                                    </g>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Pytanie 5 -->
            <div class="rk-faq2-item">
                <button class="rk-faq2-question">
                    <span>5. Jak sprawdzić błędy instalatora przy obliczaniu pojemności?</span>
                    <div class="rk-faq2-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></div>
                </button>
                <div class="rk-faq2-answer-wrapper">
                    <div class="rk-faq2-answer-inner">
                        <div class="rk-faq2-content">
                            <div class="rk-faq2-text">
                                Najprostszą i najbardziej wiarygodną metodą weryfikacji jest <strong>kontrola ilości wody wtłoczonej do układu</strong> za pomocą precyzyjnego wodomierza podłączonego do zaworu napełniającego podczas <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="rk-faq2-link">próby szczelności</a>. Rzeczywiste wskazanie licznika na koniec musi pokrywać się z wyliczeniami projektowymi (dopuszcza się maksymalny błąd pomiarowy i rozbieżność na poziomie 5%).
                            </div>
                            <div class="rk-faq2-widget">
                                <svg class="rk-faq2-svg" viewBox="0 0 100 100">
                                    <circle cx="50" cy="50" r="35" fill="none" stroke="#64748b" stroke-width="6"/>
                                    <circle cx="50" cy="50" r="28" fill="#1e293b"/>
                                    <!-- Skala -->
                                    <path d="M50 22v4M78 50h-4M50 78v-4M22 50h4" stroke="#94a3b8" stroke-width="2"/>
                                    <!-- Wskazówka -->
                                    <line class="rk-w5-dial" x1="50" y1="50" x2="50" y2="28" stroke="#ef4444" stroke-width="3" stroke-linecap="round"/>
                                    <circle cx="50" cy="50" r="4" fill="#cbd5e1"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (DOMAIN LOCK)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-faq2-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0f172a; color:#ef4444; border:2px solid #ef4444; border-radius:20px; font-weight:800;">
                BŁĄD LICENCJI: Ten komponent jest własnością projekt-ogrzewania.pl
            </div>`;
        return;
    }

    // 2. Logika Akordeonu
    const faqItems = document.querySelectorAll('.rk-faq2-item');
    faqItems.forEach(item => {
        const btn = item.querySelector('.rk-faq2-question');
        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            // Zamykamy wszystkie
            faqItems.forEach(i => i.classList.remove('active'));
            
            // Otwieramy kliknięty, o ile nie był już otwarty
            if (!isActive) {
                item.classList.add('active');
            }
        });
    });
    
    // Otwórz pierwszy element na start
    if(faqItems.length > 0) {
        faqItems[0].classList.add('active');
    }

    // 3. Logika wewnętrzna widgetu 1 (Toggle 2.0 vs 2.2 mm)
    const btn20 = document.getElementById('btnW1-20');
    const btn22 = document.getElementById('btnW1-22');
    const wall = document.getElementById('w1Wall');
    const water = document.getElementById('w1Water');

    if(btn20 && btn22 && wall && water) {
        btn20.addEventListener('click', function() {
            btn22.classList.remove('active');
            this.classList.add('active');
            wall.style.strokeWidth = '4'; // cienka ścianka (2.0)
            water.style.r = '24';         // więcej wody
        });

        btn22.addEventListener('click', function() {
            btn20.classList.remove('active');
            this.classList.add('active');
            wall.style.strokeWidth = '8'; // gruba ścianka marketowa (2.2)
            water.style.r = '22';         // mniej wody
        });
    }
});
</script>



<style>
:root {
    --rk-cs2-dark: #0a0a0a;
    --rk-cs2-panel: #171717;
    --rk-cs2-brand: #2563eb;
    --rk-cs2-brand-glow: rgba(37, 99, 235, 0.4);
    --rk-cs2-danger: #dc2626;
    --rk-cs2-success: #16a34a;
    --rk-cs2-text: #f4f4f5;
    --rk-cs2-muted: #a1a1aa;
    --rk-cs2-border: #27272a;
}

.rk-cs2-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-cs2-dark);
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8);
    border: 1px solid var(--rk-cs2-border);
    overflow: hidden;
    color: var(--rk-cs2-text);
}

/* Sekcja Nagłówkowa */
.rk-cs2-header {
    padding: 40px 50px 30px;
    position: relative;
    background: radial-gradient(circle at 100% 0%, rgba(37, 99, 235, 0.15) 0%, var(--rk-cs2-dark) 50%);
    border-bottom: 1px solid var(--rk-cs2-border);
}

.rk-cs2-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(37, 99, 235, 0.2);
    color: #60a5fa;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(96, 165, 250, 0.3);
}

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

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

.rk-cs2-meta-box {
    background: var(--rk-cs2-panel);
    border: 1px solid var(--rk-cs2-border);
    padding: 12px 15px;
    border-radius: 10px;
}

.rk-meta-label { font-size: 11px; color: var(--rk-cs2-muted); text-transform: uppercase; font-weight: 700; display: block; margin-bottom: 4px; }
.rk-meta-val { font-size: 14px; font-weight: 800; color: #ffffff; display: block; }

/* Sekcja Tekstowa */
.rk-cs2-content {
    padding: 30px 50px;
    font-size: 15px;
    line-height: 1.7;
    color: #d4d4d8;
    background: var(--rk-cs2-panel);
}

.rk-cs2-content strong { color: #ffffff; }

.rk-cs2-link {
    color: #60a5fa;
    text-decoration: none;
    border-bottom: 1px dashed #60a5fa;
    font-weight: 700;
    transition: 0.3s;
}
.rk-cs2-link:hover { color: #93c5fd; border-bottom-style: solid; }

/* Interaktywny Dashboard Before/After */
.rk-cs2-dashboard {
    padding: 40px 50px;
    background: var(--rk-cs2-dark);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Przełącznik Stanu */
.rk-cs2-toggle-wrapper {
    display: flex;
    background: var(--rk-cs2-panel);
    border-radius: 12px;
    padding: 6px;
    border: 1px solid var(--rk-cs2-border);
    position: relative;
}

.rk-cs2-toggle-btn {
    flex: 1;
    padding: 15px;
    border: none;
    background: transparent;
    color: var(--rk-cs2-muted);
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 2;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-cs2-toggle-btn.active[data-state="before"] {
    background: rgba(220, 38, 38, 0.1);
    color: #fca5a5;
    box-shadow: inset 0 0 0 1px var(--rk-cs2-danger);
}

.rk-cs2-toggle-btn.active[data-state="after"] {
    background: rgba(22, 163, 74, 0.1);
    color: #86efac;
    box-shadow: inset 0 0 0 1px var(--rk-cs2-success);
}

/* Ekran Danych i SVG */
.rk-cs2-screen {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 30px;
    align-items: center;
}

.rk-cs2-metrics {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-metric-card {
    background: var(--rk-cs2-panel);
    border: 1px solid var(--rk-cs2-border);
    padding: 15px 20px;
    border-radius: 12px;
    transition: all 0.4s ease;
}

.rk-metric-card .label { font-size: 11px; color: var(--rk-cs2-muted); text-transform: uppercase; font-weight: 800; margin-bottom: 5px; display: block; }
.rk-metric-card .val { font-size: 20px; font-weight: 900; font-family: monospace; transition: color 0.4s; }

/* SVG Stage */
.rk-cs2-svg-stage {
    background: #000000;
    border: 1px solid var(--rk-cs2-border);
    border-radius: 16px;
    height: 220px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.rk-cs2-svg-stage::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at center, transparent 20%, rgba(0,0,0,0.8) 100%);
    pointer-events: none;
}

/* SVG Elements & Animations */
.anim-hp-status { transition: stroke 0.4s, fill 0.4s; }
.anim-fan { transform-origin: 30px 110px; transition: transform 0.2s; }
.anim-separator { transition: opacity 0.5s, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); }
.anim-water-flow { stroke-dasharray: 6 12; transition: stroke 0.4s; }

/* State: BEFORE */
.state-before .anim-hp-status { stroke: var(--rk-cs2-danger); }
.state-before .anim-hp-fill { fill: rgba(220, 38, 38, 0.1); }
.state-before .anim-separator { opacity: 0; transform: translateY(-20px); }
.state-before .anim-water-flow { stroke: var(--rk-cs2-danger); animation: flowBad 0.5s linear infinite; }
.state-before .anim-fan { animation: fanBad 1s ease-in-out infinite; }

.state-before #card1 { border-color: var(--rk-cs2-danger); box-shadow: inset 4px 0 0 var(--rk-cs2-danger); }
.state-before #card1 .val { color: #fca5a5; }

/* State: AFTER */
.state-after .anim-hp-status { stroke: var(--rk-cs2-success); }
.state-after .anim-hp-fill { fill: rgba(22, 163, 74, 0.1); }
.state-after .anim-separator { opacity: 1; transform: translateY(0); }
.state-after .anim-water-flow { stroke: var(--rk-cs2-success); animation: flowGood 1.5s linear infinite; }
.state-after .anim-fan { animation: fanGood 2s linear infinite; }

.state-after #card1 { border-color: var(--rk-cs2-success); box-shadow: inset 4px 0 0 var(--rk-cs2-success); }
.state-after #card1 .val { color: #86efac; }
.state-after #card2 { border-color: var(--rk-cs2-brand); box-shadow: inset 4px 0 0 var(--rk-cs2-brand); }
.state-after #card2 .val { color: #93c5fd; }

@keyframes flowBad { to { stroke-dashoffset: -18; } }
@keyframes flowGood { to { stroke-dashoffset: -18; } }
@keyframes fanBad { 0% { transform: rotate(0deg); } 20% { transform: rotate(180deg); } 100% { transform: rotate(180deg); } }
@keyframes fanGood { to { transform: rotate(360deg); } }

@media (max-width: 768px) {
    .rk-cs2-header { padding: 30px 20px; }
    .rk-cs2-meta-grid { grid-template-columns: 1fr 1fr; }
    .rk-cs2-content { padding: 25px 20px; }
    .rk-cs2-dashboard { padding: 30px 20px; }
    .rk-cs2-screen { grid-template-columns: 1fr; }
    .rk-cs2-toggle-btn { font-size: 12px; padding: 12px 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#article-real-case",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/"
    },
    "headline": "Case Study: Optymalizacja zładu wody w domu 165 m² z pompą ciepła 7 kW",
    "description": "Realny przypadek z Podkarpacia (kwiecień 2026), gdzie weryfikacja projektu uchroniła inwestora przed awarią. Zastosowanie rur PEX 16x2.2 mm wywołało deficyt zładu, skorygowany sprzęgłem 35L.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#dataset-real-case",
    "name": "Bilans zładu wody przed i po korekcie projektowej (Sanok 2026)",
    "description": "Zestawienie parametrów wyjściowych błędnego montażu (rury 16x2.2 mm) i działań korygujących (montaż sprzęgła hydraulicznego 35L) dla pompy 7 kW.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "sprzęgło hydrauliczne w instalacji ogrzewania podłogowego",
      "taktowanie pompy ciepła",
      "zład wody PEX 16x2.2",
      "współczynnik COP",
      "projekt ogrzewania podkarpackie"
    ],
    "measurementTechnique": "Weryfikacja hydrauliczna pojemności rurociągu (1450m x 0.106 l/m = 153.7L) w stosunku do wymagań min. zładu dla źródła 7 kW.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan pierwotny: Zład z podłogi 153.7L (zamiast zakładanych 163.8L). Skutek: Taktowanie.",
        "Działanie korygujące: Dodanie sprzęgła hydraulicznego o pojemności 35L (Koszt: 1150 PLN).",
        "Wynik: COP ustabilizowane na poziomie 4.35 przy temp. zewn. -20°C."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#webapp-real-case",
    "name": "Symulator Interwencji Projektowej",
    "description": "Wizualizacja wpływu sprzęgła hydraulicznego 35L na stabilizację pracy pompy ciepła przy wykrytym deficycie zładu w rurach 16x2.2 mm.",
    "applicationCategory": "DiagnosticApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS Variables, and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs2-container" id="rk-cs2-app">
    
    <!-- Metryczka -->
    <div class="rk-cs2-header">
        <div class="rk-cs2-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
            Case Study (Realny Projekt)
        </div>
        <h2 class="rk-cs2-title">Weryfikacja błędu instalatora przed zalaniem jastrychu</h2>
        
        <div class="rk-cs2-meta-grid">
            <div class="rk-cs2-meta-box">
                <span class="rk-meta-label">Data audytu</span>
                <span class="rk-meta-val">14 Kwietnia 2026</span>
            </div>
            <div class="rk-cs2-meta-box">
                <span class="rk-meta-label">Inwestor / Lok.</span>
                <span class="rk-meta-val">P. Tomasz / Sanok</span>
            </div>
            <div class="rk-cs2-meta-box">
                <span class="rk-meta-label">Powierzchnia</span>
                <span class="rk-meta-val">165 m²</span>
            </div>
            <div class="rk-cs2-meta-box">
                <span class="rk-meta-label">Źródło ciepła</span>
                <span class="rk-meta-val"><a href="https://projekt-ogrzewania.pl/pompa-ciepla/" style="color:inherit;text-decoration:none;">Pompa 7 kW</a></span>
            </div>
        </div>
    </div>

    <!-- Treść merytoryczna -->
    <div class="rk-cs2-content">
        W projekcie energooszczędnego domu parterowego w okolicach Sanoka (woj. podkarpackie), precyzyjne wyliczenie pojemności rur <strong>zapobiegło kosztownej awarii</strong>. Instalator planował montaż układu bezpośredniego bez bufora, zakładając zład na podstawie uproszczonych tabel. <br><br>
        Przeprowadzona przeze mnie weryfikacja wykazała, że użycie <strong>1450 m</strong> marketowych rur o ściance 2,2 mm (zamiast standardowych 2,0 mm) obniżyło fizyczny zład w podłodze ze 163,8 do <strong>153,7 litra</strong>. Przy wymogach pompy ciepła, generowało to niebezpieczny deficyt medium obiegowego. Zobacz, jak interwencja inżynierska uratowała sprzęt:
    </div>

    <!-- Dashboard Interaktywny -->
    <div class="rk-cs2-dashboard state-before" id="cs2-workspace">
        
        <div class="rk-cs2-toggle-wrapper">
            <button class="rk-cs2-toggle-btn active" data-state="before" id="btn-cs2-before">
                Stan Pierwotny (Błąd Instalatora)
            </button>
            <button class="rk-cs2-toggle-btn" data-state="after" id="btn-cs2-after">
                Korekta Projektowa (Sukces)
            </button>
        </div>

        <div class="rk-cs2-screen">
            <!-- Statystyki -->
            <div class="rk-cs2-metrics">
                <div class="rk-metric-card" id="card1">
                    <span class="label">Status Pompy 7 kW</span>
                    <span class="val" id="val-status">Taktowanie (Błąd)</span>
                </div>
                <div class="rk-metric-card" id="card2">
                    <span class="label">Pojemność zładu całkowita</span>
                    <span class="val" id="val-zlad">153.7 L <span style="font-size:12px;color:var(--rk-cs2-muted);">/ min. 160 L</span></span>
                </div>
                <div class="rk-metric-card" id="card3">
                    <span class="label">Współczynnik COP (@ -20°C)</span>
                    <span class="val" id="val-cop" style="color:#ffffff;">~ 3.10</span>
                </div>
            </div>

            <!-- SVG Stage -->
            <div class="rk-cs2-svg-stage">
                <svg viewBox="0 0 300 160" style="width:100%; height:100%;">
                    <!-- Linie rur (tło) -->
                    <path d="M 60 120 L 250 120 M 60 135 L 250 135" fill="none" stroke="#27272a" stroke-width="6" stroke-linecap="round"/>
                    
                    <!-- Pompa Ciepła (Lewa strona) -->
                    <rect class="anim-hp-status anim-hp-fill" x="10" y="40" width="60" height="100" stroke-width="3" rx="4"/>
                    <circle cx="40" cy="55" r="10" fill="#27272a"/>
                    <!-- Wiatrak PC -->
                    <g class="anim-fan">
                        <line x1="40" y1="55" x2="40" y2="47" stroke="#a1a1aa" stroke-width="2"/>
                        <line x1="40" y1="55" x2="40" y2="63" stroke="#a1a1aa" stroke-width="2"/>
                        <line x1="40" y1="55" x2="32" y2="55" stroke="#a1a1aa" stroke-width="2"/>
                        <line x1="40" y1="55" x2="48" y2="55" stroke="#a1a1aa" stroke-width="2"/>
                    </g>

                    <!-- Pętle podłogówki (Prawa strona) -->
                    <path class="anim-water-flow" d="M 60 120 L 150 120 Q 250 120 250 80 Q 250 40 150 40 Q 130 40 130 60 Q 130 80 230 80 Q 250 80 250 135 L 60 135" fill="none" stroke-width="3" stroke-linecap="round"/>

                    <!-- Zarys miejsca na sprzęgło (Kropkowany) -->
                    <rect x="90" y="50" width="30" height="60" fill="none" stroke="#3f3f46" stroke-width="2" stroke-dasharray="4 4" rx="2"/>
                    
                    <!-- Sprzęgło Hydrauliczne 35L (Pojawia się po kliknięciu) -->
                    <g class="anim-separator">
                        <rect x="90" y="50" width="30" height="60" fill="#1e3a8a" stroke="#60a5fa" stroke-width="2" rx="4"/>
                        <text x="105" y="83" fill="#ffffff" font-size="10" font-weight="bold" text-anchor="middle">+35L</text>
                        <!-- Rurki podłączeniowe do sprzęgła -->
                        <line x1="100" y1="110" x2="100" y2="120" stroke="#60a5fa" stroke-width="4"/>
                        <line x1="110" y1="110" x2="110" y2="135" stroke="#60a5fa" stroke-width="4"/>
                    </g>
                </svg>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (DOMAIN LOCK)
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        document.getElementById('rk-cs2-app').innerHTML = `
            <div style="padding:40px; text-align:center; background:#0a0a0a; color:#dc2626; border:1px solid #dc2626; border-radius:20px; font-weight:800;">
                BŁĄD LICENCJI: Studium Przypadku chronione prawami autorskimi projekt-ogrzewania.pl
            </div>`;
        return;
    }

    // 2. Logika Toggle (Before/After)
    const workspace = document.getElementById('cs2-workspace');
    const btnBefore = document.getElementById('btn-cs2-before');
    const btnAfter = document.getElementById('btn-cs2-after');
    
    const valStatus = document.getElementById('val-status');
    const valZlad = document.getElementById('val-zlad');
    const valCop = document.getElementById('val-cop');

    if(btnBefore && btnAfter) {
        btnBefore.addEventListener('click', () => {
            btnAfter.classList.remove('active');
            btnBefore.classList.add('active');
            
            // Zmiana klas stanu głównego kontenera
            workspace.classList.remove('state-after');
            workspace.classList.add('state-before');
            
            // Zmiana tekstów
            valStatus.textContent = 'Taktowanie (Deficyt)';
            valZlad.innerHTML = '153.7 L <span style="font-size:12px;color:var(--rk-cs2-muted);">/ min. 160 L</span>';
            valCop.textContent = '~ 3.10';
        });

        btnAfter.addEventListener('click', () => {
            btnBefore.classList.remove('active');
            btnAfter.classList.add('active');
            
            // Zmiana klas stanu głównego kontenera
            workspace.classList.remove('state-before');
            workspace.classList.add('state-after');
            
            // Zmiana tekstów
            valStatus.innerHTML = 'Stabilna Praca <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/" style="color:inherit;text-decoration:none;">(Sprzęgło)</a>';
            valZlad.innerHTML = '188.7 L <span style="font-size:12px;color:var(--rk-cs2-muted);">/ Bezpieczne</span>';
            valCop.textContent = '4.35';
        });
    }
});
</script>



<style>
:root {
    --rk-vol-dark: #0f172a;
    --rk-vol-primary: #0284c7;
    --rk-vol-primary-hover: #0369a1;
    --rk-vol-accent: #38bdf8;
    --rk-vol-success: #059669;
    --rk-vol-warning: #ea580c;
    --rk-vol-danger: #dc2626;
    --rk-vol-bg: #ffffff;
    --rk-vol-surface: #f8fafc;
    --rk-vol-border: #e2e8f0;
    --rk-vol-text: #334155;
}

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

/* Sekcja Nagłówkowa */
.rk-vol-header {
    padding: 40px 50px;
    background: linear-gradient(145deg, var(--rk-vol-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-vol-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at 80% 20%, rgba(56, 189, 248, 0.15) 0%, transparent 50%);
    pointer-events: none;
}

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

.rk-vol-quote {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    color: #cbd5e1;
    max-width: 750px;
    margin: 0 auto;
    font-style: italic;
    border-left: 4px solid var(--rk-vol-accent);
    padding-left: 20px;
    text-align: left;
}

/* Zawartość tekstowa */
.rk-vol-content {
    padding: 40px 50px 20px;
    color: var(--rk-vol-text);
    line-height: 1.7;
    font-size: 16px;
}

.rk-vol-content p {
    margin-bottom: 20px;
}

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

/* Interaktywny Symulator Zładu */
.rk-vol-sim-box {
    background: var(--rk-vol-surface);
    border-radius: 20px;
    padding: 30px;
    margin: 0 50px 40px;
    border: 1px solid var(--rk-vol-border);
}

.rk-vol-sim-box h3 {
    margin: 0 0 25px 0;
    font-size: 22px;
    color: var(--rk-vol-dark);
    text-align: center;
}

.rk-vol-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

/* Toggle Typu Rury */
.rk-vol-toggle-group {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 6px;
    position: relative;
}

.rk-vol-toggle-btn {
    flex: 1;
    padding: 12px;
    border: none;
    background: transparent;
    color: #64748b;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s ease;
    z-index: 1;
}

.rk-vol-toggle-btn.active {
    color: var(--rk-vol-primary);
    background: #ffffff;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

/* Suwak Długości */
.rk-vol-slider-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-vol-slider-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-weight: 700;
    color: var(--rk-vol-dark);
    font-size: 14px;
}

.rk-vol-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #cbd5e1;
    outline: none;
    transition: background 0.3s;
}

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

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

/* Dashboard Wyników z Animacją */
.rk-vol-dashboard {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--rk-vol-border);
    border-radius: 16px;
    padding: 25px;
    gap: 30px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.02);
}

.rk-vol-svg-container {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
}

.rk-anim-pump-rotor {
    transform-origin: center;
    transition: animation-duration 0.5s ease;
}

@keyframes spinRotor {
    100% { transform: rotate(360deg); }
}

.rk-vol-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    width: 100%;
}

.rk-vol-data-card {
    background: var(--rk-vol-surface);
    padding: 15px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-vol-primary);
}

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

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

.rk-vol-data-value span { font-size: 14px; color: #94a3b8; }

.status-optimal { border-left-color: var(--rk-vol-success); }
.status-optimal .rk-vol-data-value { color: var(--rk-vol-success); }

.status-warning { border-left-color: var(--rk-vol-warning); }
.status-warning .rk-vol-data-value { color: var(--rk-vol-warning); }

/* CTA */
.rk-vol-cta {
    padding: 40px 50px;
    background: var(--rk-vol-surface);
    text-align: center;
    border-top: 1px solid var(--rk-vol-border);
}

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

.rk-vol-cta-btn:hover {
    transform: translateY(-4px);
    background: var(--rk-vol-primary-hover);
    box-shadow: 0 15px 25px -5px rgba(2, 132, 199, 0.5);
}

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

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-vol-header { padding: 30px 20px; }
    .rk-vol-content { padding: 30px 20px 10px; }
    .rk-vol-sim-box { margin: 0 20px 30px; padding: 20px; }
    .rk-vol-cta { padding: 30px 20px; }
    
    .rk-vol-controls { grid-template-columns: 1fr; gap: 20px; }
    .rk-vol-dashboard { flex-direction: column; text-align: center; }
    .rk-vol-data-grid { grid-template-columns: 1fr; }
    .rk-vol-data-card { border-left: none; border-bottom: 4px solid var(--rk-vol-primary); }
    .rk-vol-cta-btn { width: 100%; justify-content: center; font-size: 16px; padding: 16px; }
}
</style>

<!-- JSON-LD -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#article-zlad",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/"
    },
    "headline": "Podsumowanie fizyki zładu wodnego w ogrzewaniu podłogowym",
    "description": "Zrozumienie i dokładne wyliczenie objętości zładu w rurach PEX/PERT 16 to wymóg czystej inżynierii. Oszczędność na etapie projektu generuje problemy wykonawcze.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#dataset-zlad",
    "name": "Wpływ grubości ścianki rury polietylenowej na zład wodny i pracę pompy",
    "description": "Zestawienie parametrów hydraulicznych rur PEX 16x2.0 (0,113 l/m) oraz 16x2.2 (0,106 l/m) w kontekście oporów instalacji.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zład wody w podłogówce",
      "pojemność rury PEX 16",
      "opory hydrauliczne ogrzewania",
      "taktowanie pompy ciepła",
      "optymalizacja instalacji grzewczej"
    ],
    "measurementTechnique": "Obliczenia geometryczne objętości walca w funkcji grubości ścianki rury.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura PEX 16x2.0: Pojemność 0,113 litra na metr bieżący.",
        "Rura PEX 16x2.2: Pojemność 0,106 litra na metr bieżący (wzrost oporów hydraulicznych)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#webapp-zlad",
    "name": "Symulator Zładu i Obciążenia Pompy Obiegowej",
    "description": "Interaktywny kalkulator pozwalający na przeliczenie pojemności wodnej instalacji z uwzględnieniem różnic w grubości ścianki rury (2.0 mm vs 2.2 mm).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-vol-container" id="zlad-sum-app">
    
    <div class="rk-vol-header">
        <h2>Podsumowanie fizyki zładu wodnego w ogrzewaniu podłogowym</h2>
        <div class="rk-vol-quote">
            &#8222;Zrozumienie i dokładne wyliczenie objętości zładu w rurach PEX/PERT 16 to nie teoretyczny kaprys, a wymóg czystej inżynierii. Oszczędność na etapie projektu to prosta droga do problemów, których po zalaniu betonu nie da się naprawić.&#8221;
        </div>
    </div>

    <div class="rk-vol-content">
        <p>Każdy metr rury to dokładnie <strong>0,113 litra</strong> (lub <strong>0,106 litra</strong> dla rur marketowych o ściance 2,2 mm) płynu, który musi zostać precyzyjnie wprawiony w ruch przez pompę obiegową i zbalansowany na rotametrach. Ignorowanie tych, wydawałoby się małych, wartości prowadzi do destabilizacji termicznej, generuje niepotrzebne koszty eksploatacyjne i bezpośrednio skraca żywotność nowoczesnych pomp ciepła z powodu taktowania sprężarki.</p>
    </div>

    <!-- Symulator -->
    <div class="rk-vol-sim-box">
        <h3>Interaktywny Symulator Zładu Instalacji</h3>
        
        <div class="rk-vol-controls">
            <div class="rk-vol-toggle-group" id="pipeTypeToggle">
                <button class="rk-vol-toggle-btn active" data-cap="0.113" data-wall="2.0">Standard PEX 16&#215;2.0</button>
                <button class="rk-vol-toggle-btn" data-cap="0.106" data-wall="2.2">Zastępcza 16&#215;2.2</button>
            </div>
            
            <div class="rk-vol-slider-wrap">
                <div class="rk-vol-slider-header">
                    <span>Łączna długość rur w domu:</span>
                    <span id="valLenOut">1000 m</span>
                </div>
                <input type="range" class="rk-vol-range" id="pipeLenSlider" min="100" max="2500" step="50" value="1000">
            </div>
        </div>

        <div class="rk-vol-dashboard">
            <div class="rk-vol-svg-container">
                <!-- Animowana pompa -->
                <svg viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <circle cx="50" cy="50" r="45" stroke="#e2e8f0" stroke-width="8"/>
                    <circle cx="50" cy="50" r="35" fill="#f8fafc" stroke="var(--rk-vol-primary)" stroke-width="4"/>
                    <g class="rk-anim-pump-rotor" id="svgPumpRotor" style="animation: spinRotor 3s linear infinite;">
                        <path d="M50 15 V40 M85 50 H60 M50 85 V60 M15 50 H40" stroke="var(--rk-vol-primary)" stroke-width="6" stroke-linecap="round"/>
                        <circle cx="50" cy="50" r="10" fill="var(--rk-vol-dark)"/>
                    </g>
                </svg>
            </div>
            
            <div class="rk-vol-data-grid">
                <div class="rk-vol-data-card" id="cardVolume">
                    <div class="rk-vol-data-label">Całkowity zład wody</div>
                    <div class="rk-vol-data-value"><span id="valVolOut">113.0</span> <span>Litrów</span></div>
                </div>
                <div class="rk-vol-data-card status-optimal" id="cardPump">
                    <div class="rk-vol-data-label">Obciążenie pompy</div>
                    <div class="rk-vol-data-value" style="font-size: 20px;" id="valPumpOut">Optymalne / Zrównoważone</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-vol-cta">
        <h4 style="margin: 0 0 15px 0; font-size: 20px; color: var(--rk-vol-dark); font-weight: 800;">Chcesz unikać błędów, które kosztują tysiące?</h4>
        <p style="margin: 0 auto 25px auto; max-width: 600px; color: #64748b;">Dołącz do inwestorów, którzy budują na solidnych fundamentach inżynierskich. Poznaj zaawansowane poradniki i <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" style="color: var(--rk-vol-primary); font-weight: 700;">narzędzia doboru</a>.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-vol-cta-btn">
            CZYTAJ BLOG INŻYNIERSKI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie Domenowe - DOMAIN LOCK
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('zlad-sum-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Kontener podsumowujący oraz struktura JSON-LD są własnością serwisu Projekt-Ogrzewania.pl. Wykryto próbę kradzieży kodu na nieautoryzowanej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // Logika Kalkulatora / Symulatora
    const slider = document.getElementById('pipeLenSlider');
    const valLenOut = document.getElementById('valLenOut');
    const valVolOut = document.getElementById('valVolOut');
    const valPumpOut = document.getElementById('valPumpOut');
    const cardPump = document.getElementById('cardPump');
    const rotor = document.getElementById('svgPumpRotor');
    const btns = document.querySelectorAll('.rk-vol-toggle-btn');
    
    let currentCap = 0.113; // startowa pojemność (16x2.0)
    
    function updateDashboard() {
        const length = parseInt(slider.value);
        valLenOut.textContent = length + ' m';
        
        // Obliczenia Zładu
        const totalVol = (length * currentCap).toFixed(1);
        valVolOut.textContent = totalVol;
        
        // Logika Obciążenia (Symulacja problemu rury 2.2mm)
        if (currentCap === 0.106) {
            // Mniejsza średnica = większe opory, woda płynie szybciej by oddać moc
            cardPump.className = 'rk-vol-data-card status-warning';
            valPumpOut.textContent = 'Zwiększone opory (Spadek COP)';
            rotor.style.animationDuration = '1s'; // Pompa musi pracować na wyższym biegu
        } else {
            // Standardowa średnica 2.0
            cardPump.className = 'rk-vol-data-card status-optimal';
            valPumpOut.textContent = 'Optymalne / Zrównoważone';
            rotor.style.animationDuration = '3s'; // Spokojna praca
        }
    }

    // Eventy dla Toggle
    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            currentCap = parseFloat(this.getAttribute('data-cap'));
            updateDashboard();
        });
    });

    // Eventy dla Slidera
    slider.addEventListener('input', updateDashboard);
    
    // Inicjalizacja
    updateDashboard();
});
</script>



<style>
:root {
    --rk-dl-dark: #082f49; /* Głęboki, wodny granat */
    --rk-dl-panel: #0f172a;
    --rk-dl-accent: #0ea5e9; /* Jasny błękit (woda) */
    --rk-dl-hover: #0284c7;
    --rk-dl-bg: #f0f9ff;
    --rk-dl-border: #bae6fd;
    --rk-dl-text: #334155;
    --rk-dl-white: #ffffff;
    --rk-dl-muted: #64748b;
}

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

/* Tło z motywem wodnym (fale SVG) */
.rk-dl-hub-container::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 200px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%230ea5e9" fill-opacity="0.05" d="M0,192L48,197.3C96,203,192,213,288,229.3C384,245,480,267,576,250.7C672,235,768,181,864,165.3C960,149,1056,171,1152,192C1248,213,1344,235,1392,245.3L1440,256L1440,0L1392,0C1344,0,1248,0,1152,0C1056,0,960,0,864,0C768,0,672,0,576,0C480,0,384,0,288,0C192,0,96,0,48,0L0,0Z"></path></svg>') no-repeat top center;
    background-size: cover;
    z-index: 0;
    pointer-events: none;
}

/* NAGŁÓWEK SEKCI */
.rk-dl-header {
    padding: 40px 50px 20px;
    position: relative;
    z-index: 2;
    text-align: center;
}

.rk-dl-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-dl-dark);
    color: #7dd3fc;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    box-shadow: 0 4px 10px rgba(8, 47, 73, 0.2);
}

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

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

/* GŁÓWNY WORKSPACE */
.rk-dl-workspace {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    padding: 30px 50px 50px;
    position: relative;
    z-index: 2;
    align-items: center;
}

/* WIZUALIZACJA / PODGLĄD */
.rk-dl-preview-wrapper {
    position: relative;
    border-radius: 16px;
    padding: 10px;
    background: #ffffff;
    border: 2px dashed var(--rk-dl-border);
    cursor: zoom-in;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 20px rgba(0,0,0,0.03);
}

.rk-dl-preview-wrapper:hover {
    transform: translateY(-5px) scale(1.02);
    border-color: var(--rk-dl-accent);
    box-shadow: 0 20px 30px rgba(14, 165, 233, 0.15);
}

.rk-dl-preview-img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.rk-dl-hover-overlay {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    background: rgba(8, 47, 73, 0.85);
    color: #ffffff;
    padding: 12px 20px;
    border-radius: 50px;
    font-weight: 800;
    font-size: 13px;
    opacity: 0;
    transition: all 0.3s;
    pointer-events: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-dl-preview-wrapper:hover .rk-dl-hover-overlay {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* ZAWWARTOŚĆ PRAWEGO PANELU */
.rk-dl-info-box {
    display: flex;
    flex-direction: column;
}

.rk-dl-info-box h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-dl-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-dl-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    font-size: 15px;
    color: var(--rk-dl-text);
    line-height: 1.5;
    background: var(--rk-dl-bg);
    padding: 12px 15px;
    border-radius: 12px;
    border-left: 3px solid var(--rk-dl-accent);
}

.rk-dl-feature-item strong {
    color: var(--rk-dl-dark);
    font-weight: 800;
    display: block;
    margin-bottom: 2px;
}

.rk-dl-icon-water {
    width: 24px;
    height: 24px;
    color: var(--rk-dl-accent);
    flex-shrink: 0;
    margin-top: 2px;
    animation: waterPulse 2s infinite;
}

@keyframes waterPulse {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.1); opacity: 0.8; }
    100% { transform: scale(1); opacity: 1; }
}

/* PRZYCISK POBIERANIA */
.rk-dl-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-dl-accent);
    color: var(--rk-dl-white);
    text-decoration: none !important;
    padding: 20px 35px;
    border-radius: 16px;
    font-weight: 900;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 25px -5px rgba(14, 165, 233, 0.5);
    border: 2px solid transparent;
}

.rk-dl-btn-massive:hover {
    background: var(--rk-dl-hover);
    transform: translateY(-4px);
    box-shadow: 0 15px 35px -5px rgba(14, 165, 233, 0.6);
    border-color: #e0f2fe;
}

.rk-dl-btn-icon {
    background: rgba(255,255,255,0.2);
    padding: 8px;
    border-radius: 8px;
    display: flex;
}

/* STOPKA MODUŁU */
.rk-dl-footer {
    padding: 20px 50px;
    background: var(--rk-dl-dark);
    font-size: 13px;
    color: #bae6fd;
    text-align: center;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-dl-footer a {
    color: #ffffff;
    font-weight: 800;
    text-decoration: none;
    border-bottom: 1px dotted #0ea5e9;
    transition: color 0.3s;
}

.rk-dl-footer a:hover {
    color: #0ea5e9;
    border-bottom-style: solid;
}

@media (max-width: 800px) {
    .rk-dl-header { padding: 30px 20px 20px; }
    .rk-dl-header h2 { font-size: 24px; }
    .rk-dl-workspace { grid-template-columns: 1fr; padding: 20px 20px 40px; gap: 30px; }
    .rk-dl-footer { flex-direction: column; gap: 15px; padding: 20px; text-align: center; }
    .rk-dl-btn-massive { width: 100%; padding: 18px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#infografika-download",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/"
    },
    "headline": "Ile wody mieści się w 1 metrze rury PEX 16? (Infografika PDF)",
    "description": "Zestawienie inżynierskie w formacie PDF. Tabela objętości wody, algorytmy obliczeniowe i lista krytycznych błędów instalatorskich. Pobierz darmową ściągę.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2025/02/Infografika-Ile-wody-miesci-sie-w-1-metrze-rury-PEX-PERT-16.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "CEO & Główny Projektant HVAC",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-16",
    "dateModified": "2026-05-16"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#dataset-tabela",
    "name": "Tabela pojemności wodnej rur PEX/PERT 16",
    "description": "Zbiór danych określający dokładną objętość wody w litrach dla rur o średnicy zewnętrznej 16 mm (grubość ścianki 2.0 mm) dla długości od 1 do 100 metrów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika pex 16",
      "pojemność wodna rury pdf",
      "zład wody tabela",
      "kalkulator podłogówki materiały",
      "zestawienie hydrauliczne"
    ],
    "measurementTechnique": "Przeliczenie pola przekroju wewnętrznego (ID=12mm) na pojemność jednostkową wynoszącą 0,113 litra na 1 metr.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Parametry hydrauliczne rurociągów płaszczyznowych"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/#download-hub",
    "name": "Centrum Pobierania: Zład Wody PEX",
    "description": "Interaktywny moduł z wizualizacją parametrów i możliwością pobrania dokumentacji technicznej PDF prosto na telefon instalatora.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="rk-dl-hub-container" id="rk-download-app">
    
    <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 Wykonawców
        </div>
        <h2>Pobierz darmową infografikę i zestawienie w PDF</h2>
        <p>Zabierz wiedzę inżynierską bezpośrednio na plac budowy. Tabela objętości dla rur 1-100m, przekroje hydrauliczne i lista błędów w jednym dokumencie wysokiej jakości.</p>
    </div>

    <div class="rk-dl-workspace">
        
        <div class="rk-dl-preview-wrapper" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2025/02/Infografika-Ile-wody-miesci-sie-w-1-metrze-rury-PEX-PERT-16.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/02/Infografika-Ile-wody-miesci-sie-w-1-metrze-rury-PEX-PERT-16.webp" alt="Infografika Ile wody mieści się w 1 metrze rury PEX PERT 16" class="rk-dl-preview-img" loading="lazy">
            <div class="rk-dl-hover-overlay">
                <svg width="18" height="18" 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><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Powiększ obraz
            </div>
        </div>

        <div class="rk-dl-info-box">
            <h3>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-dl-accent)" 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>
                Co znajdziesz w dokumencie?
            </h3>
            
            <ul class="rk-dl-feature-list">
                <li class="rk-dl-feature-item">
                    <svg class="rk-dl-icon-water" 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>
                        <strong>Tabela pojemności wodnej</strong>
                        Szybki przelicznik zładu dla pętli od 1 do 100 metrów ułatwiający dobór naczynia przeponowego.
                    </div>
                </li>
                <li class="rk-dl-feature-item">
                    <svg class="rk-dl-icon-water" 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>
                    <div>
                        <strong>Checklista 3 krytycznych błędów</strong>
                        Jak unikać taktowania pompy ciepła i błędnego dozowania inhibitorów korozji.
                    </div>
                </li>
                <li class="rk-dl-feature-item">
                    <svg class="rk-dl-icon-water" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line></svg>
                    <div>
                        <strong>Optymalizacja pod Smartfony</strong>
                        Format PDF specjalnie dostosowany do czytania na ekranach telefonów.
                    </div>
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2025/02/Infografika-Ile-wody-miesci-sie-w-1-metrze-rury-PEX-PERT-16.pdf" class="rk-dl-btn-massive" target="_blank" rel="nofollow noopener noreferrer">
                <div class="rk-dl-btn-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                </div>
                Pobierz ściągę (PDF)
            </a>
        </div>

    </div>

    <div class="rk-dl-footer">
        <div>© 2026 Projekt-Ogrzewania.pl | Autor: <strong>Robert Kucharski</strong> (CEO)</div>
        <div>Szukasz rzetelnych wyliczeń? <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" target="_blank">Zamów inżynierski projekt podłogówki</a></div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA (Domain Lock) ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const container = document.getElementById('rk-download-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 10px;">🔒</div>
                    <div style="font-size: 18px; font-weight: 800; color: #ef4444; text-transform: uppercase;">Zasoby Chronione Prawem Autorskim</div>
                    <p style="color: #cbd5e1; font-size: 14px;">Ta sekcja pobierania i pliki PDF są wyłączną własnością serwisu Projekt-Ogrzewania.pl.</p>
                </div>
            `;
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">Ile wody mieści się w 1 metrze rury PEX / PERT 16.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ile metrów podłogówki na jednej pętli?</title>
		<link>https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 01 Feb 2025 22:18:09 +0000</pubDate>
				<category><![CDATA[Budowa i remonty]]></category>
		<category><![CDATA[Domowe systemy grzewcze]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[długość pętli]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[porady ekspertów]]></category>
		<category><![CDATA[projektowanie ogrzewania]]></category>
		<category><![CDATA[remonty]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2053</guid>

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

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

/* Subtelne tło dekoracyjne */
.premium-hero-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.05) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    transform: translate(30%, -30%);
    z-index: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('pipe-section-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <p style="margin: 15px 0;">Treść skopiowana bez zezwolenia</p>
                    <p>Odwiedź <strong>Projekt-Ogrzewania.pl</strong>, aby korzystać z oryginalnych narzędzi i artykułów Roberta Kucharskiego.</p>
                </div>
            `;
            return;
        }
    }

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            <div id="result-20-banner" class="result-banner">
                <div class="res-title" id="res-title">Analiza hydrauliczna</div>
                <p class="res-desc" id="res-desc">Wybierz parametry powyżej, aby zobaczyć rekomendację inżynierską.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('pipe20-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <p style="margin: 15px 0;">Narzędzie skopiowane nielegalnie</p>
                    <p>Zapraszamy na <strong>Projekt-Ogrzewania.pl</strong> w celu skorzystania z oryginalnych narzędzi.</p>
                </div>
            `;
            return;
        }
    }

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

.legend-title {
    font-weight: 800;
    margin-bottom: 15px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
    text-align: left;
}

.legend-item {
    display: flex;
    align-items: center;
    padding: 14px 20px;
    margin-bottom: 8px;
    background: var(--bg-light);
    border-radius: 12px;
    border: 1px solid #f1f5f9;
    font-size: 15px;
    color: #334155;
    transition: 0.2s;
}

.legend-item:hover {
    background: #f1f5f9;
    border-color: #e2e8f0;
}

.legend-item:last-child {
    margin-bottom: 0;
}

.legend-symbol {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-style: italic;
    font-weight: 700;
    font-size: 20px;
    color: var(--primary);
    width: 55px;
    flex-shrink: 0;
}

.legend-desc {
    line-height: 1.5;
}

/* Sekcja z treścią artykułu wewnątrz kontenera */
.formula-article-text {
    padding: 0 40px 30px 40px;
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
}

.formula-article-text ul {
    margin: 20px 0;
    padding-left: 20px;
}

.formula-article-text li {
    margin-bottom: 10px;
}

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

.formula-article-text a:hover {
    color: #1d4ed8;
    border-bottom-style: solid;
}

.formula-footer {
    padding: 20px 40px;
    background: #ffffff;
    border-top: 1px solid #f1f5f9;
    text-align: center;
    font-size: 13px;
    color: #64748b;
}

@media (max-width: 600px) {
    .formula-header { padding: 25px 20px; }
    .formula-content { padding: 30px 20px; gap: 25px; }
    .math-display { font-size: 34px; padding: 20px 30px; gap: 10px; }
    .math-sub { font-size: 16px; top: 3px; }
    .legend-item { padding: 12px 15px; font-size: 14px; }
    .formula-article-text { padding: 0 20px 25px 20px; }
    .formula-footer { padding: 15px 20px; }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "Wzór na zapotrzebowanie rury do ogrzewania podłogowego na 1 m²",
  "description": "Definicja i legenda symboli do wzoru obliczającego długość rury ogrzewania podłogowego w przeliczeniu na metry kwadratowe.",
  "license": "https://projekt-ogrzewania.pl/",
  "variableMeasured": [
    {
      "@type": "PropertyValue",
      "name": "L",
      "description": "Długość rury (w metrach bieżących) przypadająca na 1 m² ogrzewanej powierzchni."
    },
    {
      "@type": "PropertyValue",
      "name": "a",
      "description": "Rozstaw rur grzewczych (odległość między rurami) wyrażony w metrach (np. 0,1 m)."
    },
    {
      "@type": "PropertyValue",
      "name": "1,1",
      "description": "Współczynnik korygujący dodający 10% zapasu na tzw. podejścia do rozdzielacza."
    }
  ],
  "creator": {
    "@type": "Person",
    "name": "Robert Kucharski",
    "sameAs": [
      "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
      "https://www.linkedin.com/in/robert-kucharski-38069b48/"
    ]
  }
}
</script>

<div class="premium-formula-box" id="formula-app-pipe">
    <div class="formula-header">
        <h2>Jak obliczyć ile rury przypada na 1 m² powierzchni?</h2>
        <p>W projektowaniu instalacji płaszczyznowych przyjmuje się uniwersalny wzór, który pozwala precyzyjnie oszacować zapotrzebowanie materiałowe.</p>
    </div>

    <div class="formula-content">
        <div class="math-display">
            <span>L</span>
            <span style="color: var(--primary); font-style: normal;">=</span>
            <div class="math-fraction">
                <span class="math-numerator">1</span>
                <span class="math-denominator">a</span>
            </div>
            <span style="color: var(--primary); font-style: normal;">&middot;</span>
            <span>1,1</span>
        </div>

        <div class="legend-box">
            <div class="legend-title">Legenda symboli:</div>
            <div class="legend-item">
                <div class="legend-symbol">L</div>
                <div class="legend-desc"><strong>Długość rury</strong> (w metrach bieżących) niezbędna do pokrycia 1 m² powierzchni podłogi.</div>
            </div>
            <div class="legend-item">
                <div class="legend-symbol">a</div>
                <div class="legend-desc"><strong>Rozstaw rur</strong> wyrażony w metrach (np. 0,1 m dla rozstawu co 10 cm).</div>
            </div>
            <div class="legend-item">
                <div class="legend-symbol">1,1</div>
                <div class="legend-desc"><strong>Współczynnik bezpieczeństwa</strong> doliczający 10% zapasu rury na tzw. podejścia odbiegów do rozdzielacza.</div>
            </div>
        </div>
    </div>

    <div class="formula-article-text">
        <p>Dla standardowych rozstawów wartości w praktyce instalacyjnej prezentują się następująco:</p>
        <ul>
            <li>Rozstaw <strong>10 cm</strong>: ok. <strong>10 metrów bieżących</strong> rury na 1 m².</li>
            <li>Rozstaw <strong>15 cm</strong>: ok. <strong>6,7 metrów bieżących</strong> rury na 1 m².</li>
            <li>Rozstaw <strong>20 cm</strong>: ok. <strong>5 metrów bieżących</strong> rury na 1 m².</li>
        </ul>
        <p>Jeśli planujesz <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/" target="_blank" rel="noreferrer noopener">rozstaw rur ogrzewania podłogowego przy pompie ciepła</a>, najczęściej stosujemy układ co 10 cm, co oznacza, że jedna zalecana pętla 80 m obsłuży maksymalnie <strong>7-8 m²</strong> powierzchni w danym pomieszczeniu. To kluczowa informacja, by już na etapie planowania nie popełnić krytycznego błędu, jakim jest <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" target="_blank" rel="noreferrer noopener">za długa pętla podłogówki</a>.</p>
    </div>

    <div class="formula-footer">
        Opracowanie techniczne: <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>
    </div>
</div>

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



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

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

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

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

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

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

.compare-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.compare-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px -5px rgba(0,0,0,0.08);
}

/* Wyróżnienie karty ZALECANEJ */
.compare-card.recommended {
    border: 2px solid var(--success);
    box-shadow: 0 20px 40px -10px rgba(22, 163, 74, 0.15);
    transform: scale(1.03);
    z-index: 2;
    background: linear-gradient(to bottom, #ffffff, #f0fdf4);
}

.compare-card.recommended:hover {
    transform: scale(1.03) translateY(-5px);
}

.compare-card.warning {
    border-top: 4px solid var(--warning);
}

.compare-card.industrial {
    border-top: 4px solid #64748b;
}

.card-badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--success);
    color: white;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    white-space: nowrap;
    box-shadow: 0 4px 6px rgba(22, 163, 74, 0.2);
}

.card-title {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 5px;
    color: var(--primary);
}

.card-subtitle {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 25px;
    display: block;
}

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

.feature-item {
    display: flex;
    flex-direction: column;
    padding: 14px 0;
    border-bottom: 1px solid #f1f5f9;
}

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

.feature-label {
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
    font-weight: 600;
}

.feature-val {
    font-size: 17px;
    font-weight: 800;
    color: var(--primary);
}

.compare-card.recommended .feature-val {
    color: #166534;
}

.feature-val a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    transition: 0.2s;
}

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

@media (max-width: 900px) {
    .compare-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .compare-card.recommended {
        transform: scale(1);
    }
    .compare-card.recommended:hover {
        transform: translateY(-5px);
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Porównanie parametrów technicznych pętli grzewczych",
    "description": "Zestawienie kluczowych parametrów hydraulicznych dla rur 16x2 mm i 20x2 mm, uwzględniające optymalne oraz graniczne długości pętli, opory i pojemności wodne w roku 2026.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Rura 16x2 mm (Zalecane)",
        "value": "Długość: 80m, Opór: 18 kPa, Rozdzielacz: Stal INOX",
        "description": "Optymalne parametry dla instalacji w domach jednorodzinnych gwarantujące równowagę hydrauliczną."
      },
      {
        "@type": "PropertyValue",
        "name": "Rura 16x2 mm (Graniczne)",
        "value": "Długość: 100m, Opór: 28 kPa, Rozdzielacz: Mosiężny",
        "description": "Maksymalne dopuszczalne parametry wymagające precyzyjnego doboru pompy obiegowej."
      },
      {
        "@type": "PropertyValue",
        "name": "Rura 20x2 mm (Przemysłowe)",
        "value": "Długość: 130m, Opór: 22 kPa",
        "description": "Parametry dedykowane dla obiektów wielkopowierzchniowych i hal przemysłowych."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="premium-compare-box" id="comparison-app">
    <div class="compare-header">
        <h2>Porównanie parametrów technicznych pętli</h2>
        <p>Poniższe zestawienie przedstawia kluczowe parametry hydrauliczne i projektowe dla najpopularniejszych rozwiązań stosowanych w nowoczesnych instalacjach w 2026 roku.</p>
    </div>

    <div class="compare-grid">
        
        <div class="compare-card recommended">
            <div class="card-badge">⭐ Najlepszy Wybór</div>
            <div class="card-title">Rura 16x2 mm</div>
            <span class="card-subtitle">Wariant Optymalny (Zalecany)</span>
            
            <ul class="feature-list">
                <li class="feature-item">
                    <span class="feature-label">Długość pętli</span>
                    <span class="feature-val">80 m</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Max. powierzchnia (co 10 cm)</span>
                    <span class="feature-val">7,5 m²</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Opór hydrauliczny (ok.)</span>
                    <span class="feature-val">18 kPa</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Pojemność wodna</span>
                    <span class="feature-val">8,8 litra</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Zalecany rozdzielacz</span>
                    <span class="feature-val">
                        <a target="_blank" rel="noreferrer noopener" href="https://projekt-ogrzewania.pl/produkt/rozdzielacz-ze-stali-nierdzewnej-inox-do-ogrzewania-podlogowego-z-rotametrami/">Stal INOX</a>
                    </span>
                </li>
            </ul>
        </div>

        <div class="compare-card warning">
            <div class="card-title">Rura 16x2 mm</div>
            <span class="card-subtitle">Wariant Graniczny (Maksymalny)</span>
            
            <ul class="feature-list">
                <li class="feature-item">
                    <span class="feature-label">Długość pętli</span>
                    <span class="feature-val">100 m</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Max. powierzchnia (co 10 cm)</span>
                    <span class="feature-val">9,5 m²</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Opór hydrauliczny (ok.)</span>
                    <span class="feature-val" style="color: var(--warning)">28 kPa</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Pojemność wodna</span>
                    <span class="feature-val">11,0 litra</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Zalecany rozdzielacz</span>
                    <span class="feature-val">
                        <a target="_blank" rel="noreferrer noopener" href="https://projekt-ogrzewania.pl/produkt/rozdzielacz-mosiezny-do-ogrzewania-podlogowego-z-rotametrami/">Mosiężny</a>
                    </span>
                </li>
            </ul>
        </div>

        <div class="compare-card industrial">
            <div class="card-title">Rura 20x2 mm</div>
            <span class="card-subtitle">Wariant Przemysłowy / Hale</span>
            
            <ul class="feature-list">
                <li class="feature-item">
                    <span class="feature-label">Długość pętli</span>
                    <span class="feature-val">130 m</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Max. powierzchnia (co 10 cm)</span>
                    <span class="feature-val">12,5 m²</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Opór hydrauliczny (ok.)</span>
                    <span class="feature-val">22 kPa</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Pojemność wodna</span>
                    <span class="feature-val">20,8 litra</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Zalecany rozdzielacz</span>
                    <span class="feature-val" style="color: #64748b">Przemysłowy</span>
                </li>
            </ul>
        </div>

    </div>
</div>

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



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

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

/* Sekcja z treścią artykułu i wzorami */
.calc-theory-box {
    background: #ffffff;
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
    margin-bottom: 30px;
}

.calc-theory-box h2 {
    margin: 0 0 20px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
    line-height: 1.3;
}

.calc-theory-box p {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 20px;
}

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

.calc-theory-box a:hover {
    color: #1d4ed8;
    border-bottom-style: solid;
}

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

.step-list li {
    position: relative;
    padding-left: 45px;
    margin-bottom: 25px;
    font-size: 16px;
    line-height: 1.6;
    color: #334155;
}

.step-list li::before {
    content: counter(step-counter);
    counter-increment: step-counter;
    position: absolute;
    left: 0;
    top: -2px;
    width: 28px;
    height: 28px;
    background: #e0f2fe;
    color: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 14px;
}

body { counter-reset: step-counter; }

.math-highlight {
    background: #f1f5f9;
    padding: 15px 20px;
    border-radius: 12px;
    border-left: 4px solid var(--accent);
    margin: 15px 0;
    font-family: 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    color: #1e293b;
    display: inline-block;
}

/* Właściwy Kalkulator */
.adv-calc {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    border: 1px solid var(--border-color);
}

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

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

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

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

.type-selector.two-cols { grid-template-columns: repeat(2, 1fr); }

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

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

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

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

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

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

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

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

/* STOPKA */
.footer-cta {
    padding: 25px 40px;
    background: #eff6ff;
    border-top: 1px solid #dbeafe;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.cta-text-side {
    font-size: 13px; color: #475569; line-height: 1.5;
}

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

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Algorytm obliczeniowy długości pętli i przepływów",
    "description": "Procedura inżynierska wyznaczania liczby pętli ogrzewania podłogowego, oparta o OZC, przepływ masowy i optymalizację oporów hydraulicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Parametry termodynamiczne i hydrauliczne pętli grzewczej",
    "description": "Zmienne wykorzystywane do obliczania zapotrzebowania na moc, przepływu masowego i wymaganej długości rury PEX/PERT.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "OZC",
        "description": "Obciążenie cieplne budynku (W/m²)"
      },
      {
        "@type": "PropertyValue",
        "name": "Delta T (ΔT)",
        "description": "Różnica temperatury pomiędzy zasilaniem a powrotem (K)"
      },
      {
        "@type": "PropertyValue",
        "name": "Przepływ masowy (m)",
        "description": "Ilość wody (kg/h) potrzebna do przeniesienia żądanej mocy cieplnej Q."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Kalkulator Inżynierski Podłogówki - Podział Pętli i Przepływy",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Kalkulator symulujący podział instalacji na pętle z uwzględnieniem mocy cieplnej (OZC), przepływów na rotametrach oraz granicznych oporów hydraulicznych.",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Obliczanie przepływu czynnika (l/min) dla pokoju",
      "Automatyczny podział na pętle do 80 metrów",
      "Estymacja przepływu na pojedynczym rotametrze",
      "Obliczanie całkowitej mocy grzewczej (W)"
    ]
  }
]
</script>

<div class="premium-calc-container" id="adv-loop-calc-app">
    
    <div class="calc-theory-box">
        <h2>Kalkulator długości pętli – Algorytm obliczeniowy krok po kroku</h2>
        <p>Jako inżynier, przy każdym profesjonalnym projekcie wykonuję precyzyjną procedurę obliczeniową. Poniżej przedstawiam algorytm, który możesz wykorzystać do wstępnego oszacowania parametrów hydraulicznych i termicznych Twojego układu:</p>
        
        <ul class="step-list">
            <li><strong>Obliczenie OZC (Obciążenia Cieplnego):</strong> Na podstawie normy <strong>PN-EN 12831</strong> wyznaczamy zapotrzebowanie na moc (np. 50 W/m² dla nowego domu). Dowiedz się więcej: <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" target="_blank" rel="noreferrer noopener">projektowe obciążenie cieplne OZC</a>.</li>
            <li><strong>Wyznaczenie przepływu masowego (m):</strong>
                <div class="math-highlight">Q = m &middot; c<sub>p</sub> &middot; &Delta;T</div>
                <br>Przykład: Dla pokoju o zapotrzebowaniu 1000 W i parametrze &Delta;T = 5 K, przepływ wynosi około 172 kg/h (czyli ok. 0,17 m³/h).
            </li>
            <li><strong>Dobór rozstawu rur:</strong> Uwzględniając <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">opór cieplny R m²K/W</a> wybranej okładziny (płytki vs panele), decydujemy o gęstości rur.</li>
            <li><strong>Podział na pętle:</strong> Dzielimy całkowitą wyliczoną długość przez graniczną wartość <strong>80 m</strong> (aby uniknąć wysokich oporów). Wynik zaokrąglamy w górę (np. 130 m / 80 m = 2 pętle po 65 m).</li>
        </ul>
    </div>

    <div class="adv-calc">
        <div class="calc-grid">
            <div class="config-side">
                <span class="section-title">1. Parametry geometryczne i termiczne</span>
                
                <div class="input-wrap">
                    <div class="input-label-row"><label>Powierzchnia pomieszczenia</label><span class="val-badge"><span id="val-area">20</span> m²</span></div>
                    <input type="range" id="input-area" min="5" max="100" step="1" value="20">
                </div>
                
                <div class="input-wrap">
                    <div class="input-label-row"><label>Zapotrzebowanie (OZC)</label><span class="val-badge"><span id="val-ozc">50</span> W/m²</span></div>
                    <input type="range" id="input-ozc" min="30" max="100" step="5" value="50">
                    <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Od 30 W/m² (domy pasywne) do 100 W/m² (starsze budownictwo).</div>
                </div>

                <span class="section-title">2. Parametry układu hydraulicznego</span>
                
                <div class="input-label-row" style="margin-bottom: 12px;"><label>Różnica temperatur (&Delta;T)</label></div>
                <div class="type-selector">
                    <div class="type-btn active" id="dt-5">5 K<span>Pompa ciepła</span></div>
                    <div class="type-btn" id="dt-7">7 K<span>Kocioł gaz. / Standard</span></div>
                    <div class="type-btn" id="dt-10">10 K<span>Stare układy</span></div>
                </div>

                <div class="input-label-row" style="margin-bottom: 12px;"><label>Rozstaw rur (gęstość)</label></div>
                <div class="type-selector two-cols" style="margin-bottom: 0;">
                    <div class="type-btn" id="roz-10">10 cm<span>Gęsty</span></div>
                    <div class="type-btn active" id="roz-15">15 cm<span>Optymalny</span></div>
                </div>
            </div>

            <div class="result-side">
                <div class="main-score-box">
                    <span class="score-label">Podział na rozdzielaczu</span>
                    <span class="score-num" id="res-loops">2</span>
                    <span class="score-label" id="res-loops-txt">Pętle Grzewcze</span>
                </div>

                <div class="tech-grid">
                    <div class="tech-item"><span>Wymagana moc dla pokoju (Q):</span><strong id="res-power">--</strong></div>
                    <div class="tech-item"><span>Całkowita długość rury:</span><strong id="res-total-len">--</strong></div>
                    <div class="tech-item"><span>Długość pojedynczej pętli:</span><strong id="res-single-len" class="highlight-val">--</strong></div>
                    <div class="tech-item"><span>Całkowity przepływ:</span><strong id="res-total-flow">--</strong></div>
                    <div class="tech-item" style="border: none;"><span>Ustawienie rotametru (na 1 pętlę):</span><strong id="res-rotameter" class="highlight-val" style="font-size: 18px;">--</strong></div>
                </div>
            </div>
        </div>
        
        <div class="footer-cta">
            <div class="cta-text-side">
                <strong>Zrozumiałeś algorytm?</strong> Zastosuj go do każdego pomieszczenia. A jeśli chcesz mieć gwarancję, że cała fizyka układu (wraz z oporami i doborem pompy) została wyliczona bezbłędnie...
            </div>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">ZAMÓW PROJEKT U INŻYNIERA →</a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA (Domain Lock)
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('adv-loop-calc-app');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; font-family: sans-serif;">' +
                '<span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>' +
                '<p style="margin-top:0; font-size: 24px; font-weight: 900; margin-bottom: 10px;">Algorytm chroniony</p>' +
                '<p style="font-size: 16px; margin-bottom: 25px;">To narzędzie jest własnością serwisu <a href="https://projekt-ogrzewania.pl/" style="color: #dc2626; font-weight: bold; text-decoration: underline;">Projekt-Ogrzewania.pl</a></p>' +
                '<a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: #ffffff; text-decoration: none; border-radius: 12px; font-weight: 800;">ZOBACZ ORYGINAŁ</a>' +
                '</div>';
        }
        return; 
    }

    // Stan aplikacji
    var state = {
        area: 20,
        ozc: 50,
        deltaT: 5,
        spacing: 0.15,
        maxLoopLength: 80 // Celujemy w max 80m jak w treści
    };

    // Funkcja aktualizująca fizykę
    function calculatePhysics() {
        // 1. Zapotrzebowanie cieplne Q (W)
        var qTotal = state.area * state.ozc;
        
        // 2. Przepływ masowy (m) -> Q = m * cp * dT -> m [kg/h] = Q / (1.163 * dT)
        var massFlow = qTotal / (1.163 * state.deltaT);
        var flowLpm = massFlow / 60; // litry na minutę
        
        // 3. Zapotrzebowanie na rurę (wzór L = (Area/Rozstaw) * 1.1)
        var totalLength = (state.area / state.spacing) * 1.1;
        
        // 4. Podział na pętle
        var loops = Math.ceil(totalLength / state.maxLoopLength);
        if (loops < 1) loops = 1;

        // 5. Parametry na pętlę
        var lengthPerLoop = totalLength / loops;
        var flowPerLoop = flowLpm / loops;

        // Aktualizacja UI
        document.getElementById('res-loops').innerText = loops;
        document.getElementById('res-loops-txt').innerText = loops === 1 ? 'Pętla Grzewcza' : (loops > 4 ? 'Pętli Grzewczych' : 'Pętle Grzewcze');
        
        document.getElementById('res-power').innerText = Math.round(qTotal) + ' W';
        document.getElementById('res-total-len').innerText = Math.round(totalLength) + ' m';
        document.getElementById('res-single-len').innerText = Math.round(lengthPerLoop) + ' m';
        
        document.getElementById('res-total-flow').innerText = flowLpm.toFixed(2) + ' l/min';
        document.getElementById('res-rotameter').innerText = flowPerLoop.toFixed(2) + ' l/min';
    }

    // Event Listenery - Suwaki
    document.getElementById('input-area').addEventListener('input', function(e) {
        state.area = parseFloat(e.target.value);
        document.getElementById('val-area').innerText = state.area;
        calculatePhysics();
    });

    document.getElementById('input-ozc').addEventListener('input', function(e) {
        state.ozc = parseFloat(e.target.value);
        document.getElementById('val-ozc').innerText = state.ozc;
        calculatePhysics();
    });

    // Event Listenery - Przyciski Delta T
    var dtBtns = { 'dt-5': 5, 'dt-7': 7, 'dt-10': 10 };
    Object.keys(dtBtns).forEach(function(id) {
        var btn = document.getElementById(id);
        if(btn) {
            btn.addEventListener('click', function() {
                Object.keys(dtBtns).forEach(function(k){ document.getElementById(k).classList.remove('active'); });
                this.classList.add('active');
                state.deltaT = dtBtns[id];
                calculatePhysics();
            });
        }
    });

    // Event Listenery - Przyciski Rozstaw
    var rozBtns = { 'roz-10': 0.10, 'roz-15': 0.15 };
    Object.keys(rozBtns).forEach(function(id) {
        var btn = document.getElementById(id);
        if(btn) {
            btn.addEventListener('click', function() {
                Object.keys(rozBtns).forEach(function(k){ document.getElementById(k).classList.remove('active'); });
                this.classList.add('active');
                state.spacing = rozBtns[id];
                calculatePhysics();
            });
        }
    });

    // Uruchomienie pierwsze
    calculatePhysics();
});
</script>



<style>
:root {
    --primary-hvac: #0f172a;
    --accent-hvac: #2563eb;
    --bg-tip: #f1f5f9;
}

.expert-tip-wrapper {
    max-width: 850px;
    margin: 50px auto 40px auto;
}

.expert-tip-wrapper h2 {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary-hvac);
    margin: 0 0 20px 0;
    text-align: center;
}

.expert-tip-container {
    background: var(--bg-tip);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    gap: 25px;
    align-items: center;
    border-left: 6px solid var(--accent-hvac);
    position: relative;
    font-family: 'Inter', -apple-system, sans-serif;
    text-align: left;
}

.expert-tip-photo-wrap {
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    position: relative;
}

.expert-tip-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.expert-tip-photo-wrap::after {
    content: '📏';
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: #ffffff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.expert-tip-content {
    flex-grow: 1;
}

.expert-tip-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: var(--accent-hvac);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.expert-tip-text {
    font-size: 16px;
    line-height: 1.6;
    color: var(--primary-hvac);
    font-style: italic;
    margin: 0;
}

.expert-tip-signature {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
}

@media (max-width: 600px) {
    .expert-tip-container { flex-direction: column; text-align: center; padding: 25px; }
    .expert-tip-photo-wrap { margin-bottom: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Planując instalację, kluczowe jest zrozumienie, ile metrów podłogówki na jednej pętli faktycznie może obsłużyć Twój system. Przekroczenie magicznej barierze 100 metrów przy rurze 16 mm to nie tylko błąd montażowy, to wyrok na sprawność pompy ciepła i Twój komfort cieplny.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Inżynier HVAC & Główny Projektant",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ],
      "worksFor": {
        "@type": "Organization",
        "name": "Projekt-Ogrzewania.pl"
      }
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Zbiór danych projektowych: Limity długości pętli grzewczych",
    "description": "Zestawienie inżynierskich norm spadku ciśnienia i temperatury dla różnych długości obiegów ogrzewania podłogowego rur PEX/PERT.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": "Spadek ciśnienia (kPa) vs Długość rury (m)",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Logika Projektowa Roberta Kucharskiego",
    "description": "Interaktywny algorytm wyznaczania granicznych oporów hydraulicznych w zależności od metrów bieżących pętli grzewczej.",
    "applicationCategory": "DesignApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    }
  }
]
</script>

<div class="expert-tip-wrapper">
    <h2><span style="margin-right:10px">💡</span>Złota zasada inżyniera HVAC</h2>
    
    <div class="expert-tip-container" id="expert-tip-hvac">
        <div class="expert-tip-photo-wrap">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="expert-tip-photo" loading="lazy">
        </div>
        <div class="expert-tip-content">
            <span class="expert-tip-label">Inżynierski punkt widzenia</span>
            <p class="expert-tip-text">
                "Pytanie o to, <strong>ile metrów podłogówki na jednej pętli</strong> ułożyć, to w rzeczywistości pytanie o hydraulikę i opory przepływu. Moja rada? Nigdy nie daj się namówić na pętle 16 mm o długości 120-130 metrów tylko po to, by 'oszczędzić' na sekcjach rozdzielacza. Optymalne 80 metrów to gwarancja, że system będzie cichy, a podłoga nagrzeje się równomiernie nawet przy niskim parametrze zasilania z pompy ciepła."
            </p>
            <span class="expert-tip-signature">— Robert Kucharski, CEO Projekt-Ogrzewania.pl</span>
        </div>
    </div>

    <noscript>
        <div style="padding: 20px; background: #f1f5f9; border-radius: 20px; margin-top: 20px; font-family: sans-serif;">
            <p style="font-size: 14px; font-weight: bold; color: #0f172a;">Rekomendacja Roberta Kucharskiego:</p>
            <p style="font-size: 14px; color: #475569;">Dla rury 16x2 mm optymalna długość to 80-90 m. Przekroczenie 100 m drastycznie zwiększa opory hydrauliczne i obniża wydajność systemu.</p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('expert-tip-hvac');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; width: 100%; border: 2px solid #dc2626;">
                    <span style="font-size: 32px; margin-bottom: 15px;">🔒</span>
                    <div style="font-size: 20px; font-weight: bold; margin-bottom: 10px;">Treść chroniona prawem autorskim</div>
                    <p style="font-size: 14px; color: #7f1d1d;">Ten moduł ekspercki jest własnością Projekt-Ogrzewania.pl i nie może być powielany na innych domenach.</p>
                </div>
            `;
            container.style.borderLeft = 'none';
            container.style.background = 'transparent';
            container.style.padding = '0';
        }
    }
});
</script>



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

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

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

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

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

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

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

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

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

.module-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 1px;
    padding: 20px 25px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-light);
    display: flex;
    align-items: center;
    gap: 10px;
}

.scenario-tabs {
    display: flex;
    background: #f1f5f9;
    padding: 15px 25px 0 25px;
    gap: 10px;
    border-bottom: 1px solid var(--border-color);
}

.tab-btn {
    padding: 12px 20px;
    background: #e2e8f0;
    border: none;
    border-radius: 10px 10px 0 0;
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: all 0.2s ease;
    flex: 1;
    text-align: center;
}

.tab-btn.active {
    background: #ffffff;
    color: var(--accent);
    border: 1px solid var(--border-color);
    border-bottom: 1px solid #ffffff;
    margin-bottom: -1px;
    box-shadow: 0 -4px 10px rgba(0,0,0,0.02);
}

.scenario-display {
    padding: 30px 25px;
}

.metrics-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

.metric-card {
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    display: flex;
    flex-direction: column;
}

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

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

.metric-value.highlight {
    color: var(--accent);
}

.scenario-desc-box {
    padding: 20px;
    border-radius: 12px;
    background: #f0f9ff;
    border-left: 4px solid var(--accent);
    font-size: 14px;
    line-height: 1.6;
    color: #334155;
    transition: all 0.3s ease;
}

@media (max-width: 768px) {
    .scenario-content { padding: 25px 20px 10px 20px; }
    .interactive-scenario-module { margin: 0 20px 25px 20px; }
    .scenario-tabs { flex-direction: column; padding: 15px; gap: 5px; }
    .tab-btn { border-radius: 8px; margin-bottom: 0 !important; border: 1px solid transparent; }
    .tab-btn.active { border: 1px solid var(--accent); box-shadow: none; }
    .metrics-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Zależność parametrów pętli grzewczych od przeznaczenia budynku",
    "description": "Zbiór danych definiujących różnice w projektowaniu ogrzewania podłogowego dla specyficznych stref: domów szkieletowych, łazienek oraz instalacji zewnętrznych (podjazdy).",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Długość pętli (Dom szkieletowy)",
        "value": "60-70 m",
        "description": "Zalecana krótsza pętla ze względu na wymóg szybkiej reakcji na zmiany temperatury przy niskiej bezwładności budynku."
      },
      {
        "@type": "PropertyValue",
        "name": "Rozstaw rur (Łazienka)",
        "value": "7,5 - 10 cm",
        "description": "Zagęszczony układ rur w celu osiągnięcia normatywnej temperatury 24°C."
      },
      {
        "@type": "PropertyValue",
        "name": "Czynnik grzewczy (Podjazdy)",
        "value": "Glikol",
        "description": "Ciecz o wysokiej lepkości stosowana na zewnątrz, wymagająca instalacji mocniejszych pomp obiegowych."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator Profilu Grzewczego (Przeznaczenie Obiektu)",
    "description": "Interaktywne narzędzie inżynierskie demonstrujące, jak zmieniają się kluczowe parametry pętli ogrzewania płaszczyznowego w zależności od strefy (bezwładność, rozstaw, czynnik, obciążenie pompy).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Dynamiczna zmiana parametrów hydraulicznych na podstawie wybranej strefy",
      "Weryfikacja czynnika grzewczego (Woda vs Glikol)",
      "Analiza obciążenia pompy obiegowej i bezwładności cieplnej"
    ]
  }
]
</script>

<div class="premium-scenario-box" id="scenario-app-container">
    <div class="scenario-header">
        <h2>Jak zaplanować rozmieszczenie pętli w budynkach o różnym przeznaczeniu?</h2>
    </div>
    
    <div class="scenario-content">
        <p>Projektując <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/" target="_blank" rel="noreferrer noopener">ogrzewanie podłogowe w domu szkieletowym</a>, musimy pamiętać o mniejszej bezwładności systemu. Tutaj pętle powinny być jeszcze krótsze (ok. <strong>60-70 m</strong>), aby system szybciej reagował na zmiany temperatury. Z kolei w łazienkach, gdzie wymagana temperatura to <strong>24°C</strong> (zgodnie z rozporządzeniem), stosujemy rozstaw <strong>10 cm</strong> lub nawet <strong>7,5 cm</strong>, co drastycznie skraca powierzchnię obsługiwaną przez jedną pętlę. Szczególnym przypadkiem są <a href="https://projekt-ogrzewania.pl/podgrzewane-podjazdy-chodniki-parkingi-i-tarasy-komfort-zima-ktorego-potrzebujesz/" target="_blank" rel="noreferrer noopener">podgrzewane podjazdy i parkingi</a>. Tam pętle mogą być dłuższe, a jako czynnik stosuje się <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/" target="_blank" rel="noreferrer noopener">glikol w ogrzewaniu podlogowym</a>, co zwiększa lepkość cieczy i wymusza użycie mocniejszych pomp.</p>
    </div>

    <div class="interactive-scenario-module">
        <div class="module-title">⚙️ Symulator Profilu Grzewczego (Strefy)</div>
        
        <div class="scenario-tabs">
            <button class="tab-btn active" data-tab="szkielet">Dom Szkieletowy</button>
            <button class="tab-btn" data-tab="lazienka">Strefa Łazienki</button>
            <button class="tab-btn" data-tab="podjazd">Podjazd / Parking</button>
        </div>

        <div class="scenario-display">
            <div class="metrics-grid">
                <div class="metric-card">
                    <span class="metric-label">Zalecana długość pętli</span>
                    <span class="metric-value highlight" id="sim-length">60 - 70 m</span>
                </div>
                <div class="metric-card">
                    <span class="metric-label">Rozstaw rur (Gęstość)</span>
                    <span class="metric-value" id="sim-spacing">10 - 15 cm</span>
                </div>
                <div class="metric-card">
                    <span class="metric-label">Czynnik grzewczy</span>
                    <span class="metric-value" id="sim-fluid">Woda kotłowa / Demineralizowana</span>
                </div>
                <div class="metric-card">
                    <span class="metric-label">Wymagania pompy obiegowej</span>
                    <span class="metric-value" id="sim-pump">Standardowa</span>
                </div>
            </div>

            <div class="scenario-desc-box" id="sim-desc">
                <strong>Inżynierski punkt widzenia:</strong> Budynki szkieletowe cechują się bardzo niską akumulacyjnością cieplną (brak grubych, murowanych ścian). Wymusza to zaprojektowanie systemu o krótkich pętlach, aby instalacja mogła błyskawicznie reagować na nagłe zmiany zapotrzebowania (np. nagłe zyski od nasłonecznienia). Długa pętla spowodowałaby przegrzewanie pomieszczeń.
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('scenario-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <p style="margin: 15px 0;">Moduł zablokowany</p>
                    <p>Skopiowano bez autoryzacji. Oryginalne narzędzia inżynierskie znajdziesz na <strong>Projekt-Ogrzewania.pl</strong>.</p>
                </div>
            `;
            return;
        }
    }

    // Baza danych profili
    const profiles = {
        szkielet: {
            length: "60 - 70 m",
            spacing: "10 - 15 cm",
            fluid: "Woda / Woda demineralizowana",
            pump: "Standardowa (Energooszczędna)",
            color: "var(--accent)",
            bg: "#f0f9ff",
            desc: "<strong>Inżynierski punkt widzenia:</strong> Budynki szkieletowe cechują się bardzo niską akumulacyjnością cieplną (brak grubych ścian). Wymusza to zaprojektowanie systemu o krótkich pętlach, aby instalacja mogła błyskawicznie reagować na nagłe zmiany zapotrzebowania (np. duże nasłonecznienie). Długa pętla powodowałaby bezwładne przegrzewanie."
        },
        lazienka: {
            length: "40 - 60 m",
            spacing: "7,5 - 10 cm",
            fluid: "Woda / Woda demineralizowana",
            pump: "Standardowa",
            color: "var(--warning)",
            bg: "#fff7ed",
            desc: "<strong>Inżynierski punkt widzenia:</strong> Łazienka to strefa o najwyższym wymogu termicznym (24°C). Musimy maksymalnie zagęścić rury (często 7,5 cm), co sprawia, że jedna pętla obsługuje bardzo małą powierzchnię (np. 4-5 m²). Zbyt długa rura przy tak gęstym układzie stłumiłaby przepływ."
        },
        podjazd: {
            length: "100 - 150 m",
            spacing: "15 - 20 cm",
            fluid: "Glikol (Roztwór 30-50%)",
            pump: "Wysokiej wydajności (Przemysłowa)",
            color: "#64748b",
            bg: "#f8fafc",
            desc: "<strong>Inżynierski punkt widzenia:</strong> Instalacje przeciwoblodzeniowe na zewnątrz muszą być zalane roztworem glikolu. Glikol ma znacznie wyższą lepkość kinematyczną niż woda. Generuje to gigantyczne opory hydrauliczne, dlatego absolutnie niezbędne jest zastosowanie zewnętrznych wymienników ciepła i bardzo mocnych pomp o dużej wysokości podnoszenia."
        }
    };

    // Logika przełączania
    const tabs = document.querySelectorAll('.tab-btn');
    const elLength = document.getElementById('sim-length');
    const elSpacing = document.getElementById('sim-spacing');
    const elFluid = document.getElementById('sim-fluid');
    const elPump = document.getElementById('sim-pump');
    const elDesc = document.getElementById('sim-desc');

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Reset active tabs
            tabs.forEach(t => t.classList.remove('active'));
            this.classList.add('active');

            // Get data
            const key = this.getAttribute('data-tab');
            const data = profiles[key];

            // Update UI
            elLength.textContent = data.length;
            elSpacing.textContent = data.spacing;
            elFluid.textContent = data.fluid;
            elPump.textContent = data.pump;
            elDesc.innerHTML = data.desc;

            // Apply styles
            elLength.style.color = data.color;
            elDesc.style.borderLeftColor = data.color;
            elDesc.style.backgroundColor = data.bg;
        });
    });
});
</script>



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

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

.impact-header {
    background: #ffffff;
    padding: 35px 40px 15px 40px;
}

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

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

.impact-content ul {
    margin: 20px 0;
    padding-left: 0;
    list-style: none;
}

.impact-content li {
    margin-bottom: 15px;
    padding-left: 28px;
    position: relative;
}

.impact-content li::before {
    content: "➔";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--accent);
    font-weight: 900;
}

.impact-content strong {
    color: var(--primary);
}

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

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

/* Moduł Interaktywny - Symulator Skutków */
.interactive-impact-module {
    margin: 0 40px 40px 40px;
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    overflow: hidden;
}

.module-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 1px;
    padding: 20px 25px;
    border-bottom: 1px solid var(--border-color);
    background: #ffffff;
    display: flex;
    align-items: center;
    gap: 10px;
}

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

.config-panel {
    padding: 30px 25px;
    background: #ffffff;
    border-right: 1px solid var(--border-color);
}

.config-group {
    margin-bottom: 25px;
}

.config-group:last-child {
    margin-bottom: 0;
}

.config-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--primary);
}

.val-display {
    color: var(--accent);
    font-weight: 900;
}

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

.results-panel {
    padding: 30px 25px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.res-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
}

.res-info {
    display: flex;
    flex-direction: column;
}

.res-label {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    color: #64748b;
    margin-bottom: 4px;
}

.res-val {
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
}

.res-icon {
    font-size: 24px;
}

/* Dynamiczne kolory */
.status-good { border-left: 4px solid var(--success); }
.status-warn { border-left: 4px solid var(--warning); }
.status-bad { border-left: 4px solid var(--danger); }

.cost-highlight { color: var(--danger); }

@media (max-width: 768px) {
    .impact-header { padding: 25px 25px 10px 25px; }
    .impact-content { padding: 0 25px 25px 25px; }
    .interactive-impact-module { margin: 0 20px 25px 20px; }
    .impact-grid { grid-template-columns: 1fr; }
    .config-panel { border-right: none; border-bottom: 1px solid var(--border-color); }
    .res-card { flex-direction: column; align-items: flex-start; gap: 10px; }
    .res-icon { display: none; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Wpływ długości pętli na koszty sprzętu i hydraulikę",
    "description": "Zestawienie korelacji pomiędzy projektowaną długością pętli a rozmiarem rozdzielacza, kosztami inwestycyjnymi, efektywnością SCOP oraz trudnością równoważenia hydraulicznego rotametrów.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Rozmiar rozdzielacza i szafki",
        "description": "Ilość sekcji rośnie odwrotnie proporcjonalnie do zakładanej długości pojedynczej pętli (zwiększając koszty osprzętu)."
      },
      {
        "@type": "PropertyValue",
        "name": "Koszt sekcji rozdzielacza",
        "value": "150-250 PLN",
        "description": "Szacunkowy koszt dodania jednego obwodu grzewczego (zawór, rotametr, złączki)."
      },
      {
        "@type": "PropertyValue",
        "name": "Zrównoważenie hydrauliczne",
        "description": "Dla pętli powyżej 100m i pętli o skrajnie różnej długości, regulacja przepływów staje się krytycznie trudna."
      },
      {
        "@type": "PropertyValue",
        "name": "SCOP Pompy Ciepła",
        "description": "Krótsze pętle pozwalają obniżyć temperaturę zasilania (30-35°C), co diametralnie podnosi współczynnik efektywności urządzenia."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator Skutków Projektowych Podłogówki",
    "description": "Interaktywny analizator ukazujący, jak założenia projektowe (średnia długość pętli) rzutują na koszty rozdzielacza, równoważenie układu i SCOP pompy ciepła dla zadanej długości całej instalacji.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Estymacja wielkości rozdzielacza i szafki",
      "Kalkulacja szacunkowych kosztów sekcyjnych",
      "Wizualna ocena ryzyka równoważenia hydraulicznego",
      "Ocena wpływu decyzji na temperaturę zasilania i efektywność pompy ciepła"
    ]
  }
]
</script>

<div class="premium-impact-box" id="impact-app-container">
    <div class="impact-header">
        <h2>Jak to wpływa na projekt ogrzewania podłogowego i wybór urządzeń?</h2>
    </div>
    
    <div class="impact-content">
        <p>Długość pętli to fundament, na którym opiera się cały <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">profesjonalny projekt ogrzewania podłogowego</a>. Błędne założenie "zrobimy pętle po 120 metrów" rzutuje na:</p>
        
        <ul>
            <li><strong>Dobór rozdzielacza:</strong> Każda dodatkowa pętla to konieczność zakupu większego <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">rozdzielacza do podłogówki</a>. Koszt dodatkowej sekcji to ok. <strong>150-250 PLN</strong>, ale jest to inwestycja, która zapobiega problemom z hydrauliką.</li>
            <li><strong>Wielkość szafki:</strong> Więcej pętli wymaga większej <a href="https://projekt-ogrzewania.pl/produkt/szafka-podtynkowa-do-rozdzielaczy-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">szafki podtynkowej</a>.</li>
            <li><strong>Równoważenie:</strong> Na każdym <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">rotametrze</a> musimy ustawić konkretny przepływ (np. 1,5 l/min). Jeśli pętle są rażąco różnej długości, np. 30 m i 110 m, ich zrównoważenie bywa niemożliwe bez zewnętrznych zaworów dławiących.</li>
            <li><strong>Źródło ciepła:</strong> <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" target="_blank" rel="noreferrer noopener">Pompa ciepła</a> najlepiej pracuje przy niskiej temperaturze zasilania (<strong>30-35°C</strong>). Krótkie pętle pozwalają na pracę przy minimalnej różnicy temperatur, co podnosi współczynnik SCOP urządzenia.</li>
        </ul>
    </div>

    <div class="interactive-impact-module">
        <div class="module-title">📉 Symulator skutków decyzji projektowych</div>
        
        <div class="impact-grid">
            <div class="config-panel">
                <div class="config-group">
                    <div class="config-label">
                        <span>Zapotrzebowanie na rurę (Dom)</span>
                        <span class="val-display"><span id="inp-total">1000</span> m</span>
                    </div>
                    <input type="range" id="slider-total" class="impact-slider" min="400" max="2000" value="1000" step="50">
                    <div style="font-size: 11px; color: #94a3b8; margin-top: 6px;">Całkowita ilość rury PEX wyliczona z OZC.</div>
                </div>

                <div class="config-group" style="margin-top: 35px;">
                    <div class="config-label">
                        <span>Zakładana dł. pojedynczej pętli</span>
                        <span class="val-display" id="inp-loop-color"><span id="inp-loop">120</span> m</span>
                    </div>
                    <input type="range" id="slider-loop" class="impact-slider" min="50" max="150" value="120" step="5">
                    <div style="font-size: 11px; color: #94a3b8; margin-top: 6px;">Sprawdź "tani" montaż (120m) vs optymalny (80m).</div>
                </div>
            </div>

            <div class="results-panel">
                <div class="res-card" id="card-manifold">
                    <div class="res-info">
                        <span class="res-label">Wymagany rozdzielacz</span>
                        <span class="res-val"><span id="out-sections">9</span> sekcji (<span id="out-cost">1800</span> PLN)</span>
                    </div>
                    <div class="res-icon">🎛️</div>
                </div>

                <div class="res-card" id="card-balance">
                    <div class="res-info">
                        <span class="res-label">Równoważenie hydrauliczne</span>
                        <span class="res-val" id="out-balance">Bardzo trudne / Niemożliwe</span>
                    </div>
                    <div class="res-icon">⚖️</div>
                </div>

                <div class="res-card" id="card-scop">
                    <div class="res-info">
                        <span class="res-label">Wpływ na pompę ciepła (SCOP)</span>
                        <span class="res-val" id="out-scop">Obniżony SCOP (Wymaga >35°C)</span>
                    </div>
                    <div class="res-icon">⚡</div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('impact-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <p style="margin: 15px 0;">Treść zablokowana</p>
                    <p>Moduł interaktywny został skopiowany. Odwiedź <strong>Projekt-Ogrzewania.pl</strong>, aby z niego skorzystać.</p>
                </div>
            `;
            return;
        }
    }

    // Elementy DOM
    const sTotal = document.getElementById('slider-total');
    const sLoop = document.getElementById('slider-loop');
    
    const vTotal = document.getElementById('inp-total');
    const vLoop = document.getElementById('inp-loop');
    const vLoopColor = document.getElementById('inp-loop-color');
    
    const oSections = document.getElementById('out-sections');
    const oCost = document.getElementById('out-cost');
    const oBalance = document.getElementById('out-balance');
    const oScop = document.getElementById('out-scop');

    const cardManifold = document.getElementById('card-manifold');
    const cardBalance = document.getElementById('card-balance');
    const cardScop = document.getElementById('card-scop');

    // Przyjęty średni koszt sekcji (zł)
    const costPerSection = 200; 

    function updateSimulator() {
        const totalPipe = parseInt(sTotal.value);
        const loopLen = parseInt(sLoop.value);

        vTotal.textContent = totalPipe;
        vLoop.textContent = loopLen;

        // Obliczenia
        const sectionsCount = Math.ceil(totalPipe / loopLen);
        const totalCost = sectionsCount * costPerSection;

        oSections.textContent = sectionsCount;
        oCost.textContent = totalCost;

        // Reset klas
        cardManifold.className = 'res-card';
        cardBalance.className = 'res-card';
        cardScop.className = 'res-card';

        // Ocena kosztów rozdzielacza (im mniej pętli, tym taniej inwestycyjnie, ale uwaga na skutki!)
        // Moduł celowo nie barwi kosztów jako błędu, tylko pokazuje tradeoff.
        cardManifold.classList.add('status-good');

        // Ocena długości pętli (Hydraulika i Pompa)
        if (loopLen <= 80) {
            vLoopColor.style.color = "var(--success)";
            
            oBalance.textContent = "Idealne (rotametry działają poprawnie)";
            cardBalance.classList.add('status-good');

            oScop.textContent = "Wysoki SCOP (Zasilanie 30-33°C)";
            cardScop.classList.add('status-good');

        } else if (loopLen > 80 && loopLen <= 100) {
            vLoopColor.style.color = "var(--warning)";
            
            oBalance.textContent = "Dopuszczalne (Wymaga dobrych pomp)";
            cardBalance.classList.add('status-warn');

            oScop.textContent = "Średni SCOP (Zasilanie ok. 35°C)";
            cardScop.classList.add('status-warn');

        } else {
            vLoopColor.style.color = "var(--danger)";
            
            oBalance.textContent = "Ryzyko awarii i niedogrzania stref";
            cardBalance.classList.add('status-bad');

            oScop.textContent = "Drastyczny spadek SCOP (>38°C)";
            cardScop.classList.add('status-bad');
        }
    }

    // Nasłuchiwacze
    if (sTotal) sTotal.addEventListener('input', updateSimulator);
    if (sLoop) sLoop.addEventListener('input', updateSimulator);

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



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

.premium-error-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 15px 40px -10px rgba(220, 38, 38, 0.1);
    border: 1px solid var(--border-color);
    border-top: 5px solid var(--danger);
    overflow: hidden;
    color: var(--primary);
}

.error-header {
    background: #fffafa;
    padding: 35px 40px 20px 40px;
}

.error-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    color: var(--danger);
    font-weight: 900;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 12px;
}

.error-content {
    padding: 0 40px 30px 40px;
    line-height: 1.8;
    color: #334155;
    font-size: 16px;
    background: #fffafa;
}

.error-content p {
    margin-bottom: 20px;
}

.error-list {
    margin: 20px 0;
    padding-left: 0;
    list-style: none;
    display: grid;
    gap: 15px;
}

.error-list li {
    background: #ffffff;
    border: 1px solid #fee2e2;
    padding: 15px 20px;
    border-radius: 12px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
    position: relative;
    padding-left: 50px;
}

.error-number {
    position: absolute;
    left: 15px;
    top: 15px;
    background: #fecaca;
    color: var(--danger);
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: 900;
    font-size: 13px;
}

.error-content strong {
    color: var(--primary);
}

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

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

/* Moduł Interaktywny - Symulator Ryzyka */
.interactive-risk-module {
    margin: 0 40px 40px 40px;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.module-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 1px;
    padding: 20px 25px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-light);
    display: flex;
    align-items: center;
    gap: 10px;
}

.risk-config {
    padding: 25px;
    border-bottom: 1px solid var(--border-color);
}

.slider-label-row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 15px;
}

.val-badge {
    background: #f1f5f9;
    padding: 4px 12px;
    border-radius: 8px;
    font-weight: 900;
    color: var(--danger);
}

.risk-slider {
    width: 100%;
    height: 6px;
    background: #e2e8f0;
    border-radius: 10px;
    appearance: none;
    outline: none;
}
.risk-slider::-webkit-slider-thumb {
    appearance: none; width: 24px; height: 24px; background: var(--danger); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.2); cursor: pointer; transition: 0.2s;
}
.risk-slider::-webkit-slider-thumb:active {
    transform: scale(1.1);
}

/* Termowizja */
.thermal-bar-container {
    padding: 20px 25px;
    background: #f8fafc;
    border-bottom: 1px solid var(--border-color);
}

.thermal-label {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.thermal-bar {
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(to right, #ef4444 0%, #f59e0b 50%, #ef4444 100%);
    transition: background 0.3s ease;
}

.thermal-markers {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 700;
    color: #94a3b8;
    margin-top: 8px;
}

/* Wyniki ryzyk */
.risk-results {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    padding: 25px;
}

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

.risk-icon { font-size: 24px; margin-bottom: 8px; }
.risk-title { font-size: 12px; font-weight: 800; color: #64748b; text-transform: uppercase; margin-bottom: 5px; }
.risk-val { font-size: 18px; font-weight: 900; color: var(--primary); }

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

@media (max-width: 768px) {
    .error-header { padding: 25px 25px 15px 25px; }
    .error-content { padding: 0 25px 25px 25px; }
    .interactive-risk-module { margin: 0 20px 25px 20px; }
    .risk-results { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Konsekwencje błędnego projektowania ogrzewania podłogowego (zbyt długie pętle)",
    "description": "Dokumentacja usterek i ryzyk związanych z przekraczaniem normatywnej długości pętli grzewczych (130-140m). Dane obejmują ryzyko kawitacji, spadki temperatury oraz uszkodzenia wylewki.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Zjawisko kawitacji",
        "description": "Szumy i niszczenie instalacji spowodowane nadmierną prędkością czynnika przy próbie pokonania oporów długiej pętli."
      },
      {
        "@type": "PropertyValue",
        "name": "Zimne plamy (Spadek ΔT)",
        "value": "8-10°C spadku",
        "description": "Drastyczne wychłodzenie czynnika na końcu pętli prowadzące do stref niedogrzania."
      },
      {
        "@type": "PropertyValue",
        "name": "Pękanie wylewki",
        "description": "Naprężenia termiczne jastrychu wywołane nierównomiernym rozkładem temperatury oraz brakiem izolacji brzegowej/dylatacji."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator Błędów Instalacyjnych Podłogówki",
    "description": "Wizualizator ryzyk pokazujący wpływ przekraczania zalecanej długości rury grzewczej na prędkość przepływu (kawitację), wychłodzenie pętli (zimne plamy) oraz naprężenia posadzki.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Symulacja spadku temperatury czynnika grzewczego (wizualizacja termowizyjna)",
      "Ocena ryzyka kawitacji i szumów w instalacji",
      "Wskazania naprężeń wylewki betonowej i ryzyka pęknięć"
    ]
  }
]
</script>

<div class="premium-error-box" id="error-app-container">
    <div class="error-header">
        <h2>⚠️ Najczęstsze błędy: Dlaczego "na oko" wychodzi drożej?</h2>
    </div>
    
    <div class="error-content">
        <p>Pracując jako inżynier HVAC, często poprawiam instalacje wykonane bez obliczeń. Inwestorzy, chcąc zaoszczędzić na <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">cenie projektu ogrzewania podłogowego</a>, godzą się na ułożenie pętli o długości <strong>130-140 m</strong> rurą 16 mm. <strong>Skutki są opłakane:</strong></p>
        
        <ul class="error-list">
            <li>
                <div class="error-number">1</div>
                <strong>Zjawisko kawitacji:</strong> Szumy w instalacji spowodowane zbyt dużą prędkością przepływu przy próbie "przepchnięcia" wody przez za długą pętlę.
            </li>
            <li>
                <div class="error-number">2</div>
                <strong>Zimne plamy:</strong> Woda na końcu pętli ma temperaturę o <strong>8-10 stopni niższą</strong> niż na początku. <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/" target="_blank" rel="noreferrer noopener">Czy ogrzewanie podłogowe jest zdrowe</a> w takiej sytuacji? Nie, bo generuje naprężenia w wylewce i dyskomfort termiczny.
            </li>
            <li>
                <div class="error-number">3</div>
                <strong>Pękanie wylewki:</strong> Brak uwzględnienia <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">izolacji brzegowej i dylatacji</a> przy długich obiegach to prosta droga do zniszczenia drogich płytek lub paneli.
            </li>
        </ul>
        
        <p style="margin-bottom: 0;">Jeśli remontujesz dom, sprawdź <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/" target="_blank" rel="noreferrer noopener">ogrzewanie podłogowe w remontowanym budynku – czy warto</a>, zanim podejmiesz decyzję o rozkładzie rur.</p>
    </div>

    <div class="interactive-risk-module">
        <div class="module-title">🔥 Symulator awarii: Zobacz co się dzieje "na końcu" rury</div>
        
        <div class="risk-config">
            <div class="slider-label-row">
                <span>Długość ułożonej pętli (rura 16x2)</span>
                <span class="val-badge"><span id="risk-len-val">140</span> metrów</span>
            </div>
            <input type="range" id="risk-slider" class="risk-slider" min="60" max="160" value="140" step="5">
            <div style="font-size: 11px; color: #94a3b8; margin-top: 8px;">Przesuń suwak, aby sprawdzić zachowanie układu hydraulicznego.</div>
        </div>

        <div class="thermal-bar-container">
            <div class="thermal-label">Symulacja termowizyjna rozkładu ciepła (Początek ➔ Koniec pętli)</div>
            <div class="thermal-bar" id="thermal-gradient"></div>
            <div class="thermal-markers">
                <span>Zasilanie (35°C)</span>
                <span>Środek pokoju</span>
                <span id="thermal-end-txt">Powrót (<span id="temp-drop-val">25</span>°C)</span>
            </div>
        </div>

        <div class="risk-results">
            <div class="risk-card" id="card-temp">
                <div class="risk-icon">❄️</div>
                <div class="risk-title">Zimne plamy</div>
                <div class="risk-val" id="val-temp">ΔT = 10°C</div>
            </div>
            
            <div class="risk-card" id="card-cav">
                <div class="risk-icon">🌊</div>
                <div class="risk-title">Opory i Szumy</div>
                <div class="risk-val" id="val-cav">Kawitacja</div>
            </div>

            <div class="risk-card" id="card-stress">
                <div class="risk-icon">💥</div>
                <div class="risk-title">Naprężenia wylewki</div>
                <div class="risk-val" id="val-stress">Krytyczne</div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('error-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <p style="margin: 15px 0;">Blokada bezpieczeństwa</p>
                    <p>Skopiowano bez autoryzacji. Oryginalne symulatory ryzyk instalacyjnych znajdziesz na <strong>Projekt-Ogrzewania.pl</strong>.</p>
                </div>
            `;
            return;
        }
    }

    // Elementy
    const slider = document.getElementById('risk-slider');
    const valDisplay = document.getElementById('risk-len-val');
    
    const thermalBar = document.getElementById('thermal-gradient');
    const tempDropVal = document.getElementById('temp-drop-val');
    
    const cardTemp = document.getElementById('card-temp');
    const valTemp = document.getElementById('val-temp');
    
    const cardCav = document.getElementById('card-cav');
    const valCav = document.getElementById('val-cav');
    
    const cardStress = document.getElementById('card-stress');
    const valStress = document.getElementById('val-stress');

    // Stała temperatura zasilania
    const T_ZASILANIE = 35;

    function updateRisk() {
        const len = parseInt(slider.value);
        valDisplay.textContent = len;

        // Reset klas
        cardTemp.className = 'risk-card';
        cardCav.className = 'risk-card';
        cardStress.className = 'risk-card';

        let dT = 5; // standardowy spadek

        if (len <= 80) {
            dT = 5;
            // Bezpiecznie
            cardTemp.classList.add('status-ok');
            valTemp.textContent = `ΔT = ${dT}°C`;
            
            cardCav.classList.add('status-ok');
            valCav.textContent = "Brak szumów (Cicho)";
            
            cardStress.classList.add('status-ok');
            valStress.textContent = "Minimalne";

            thermalBar.style.background = "linear-gradient(to right, #ef4444 0%, #f59e0b 50%, #f97316 100%)";

        } else if (len > 80 && len <= 100) {
            dT = 7;
            // Ostrzeżenie
            cardTemp.classList.add('status-warn');
            valTemp.textContent = `ΔT = ${dT}°C`;
            
            cardCav.classList.add('status-warn');
            valCav.textContent = "Wysokie opory";
            
            cardStress.classList.add('status-warn');
            valStress.textContent = "Podwyższone";

            thermalBar.style.background = "linear-gradient(to right, #ef4444 0%, #f97316 60%, #fbbf24 100%)";

        } else {
            // Ryzyko krytyczne - przeliczenie dT
            dT = Math.round(7 + (len - 100) * 0.1); // np 140 -> 7 + 4 = 11
            
            cardTemp.classList.add('status-crit');
            valTemp.textContent = `ΔT = ${dT}°C (Zimno!)`;
            
            cardCav.classList.add('status-crit');
            valCav.textContent = "Zjawisko kawitacji";
            
            cardStress.classList.add('status-crit');
            valStress.textContent = "Ryzyko pęknięć";

            // Termowizja pokazuje spadek do niebieskiego
            let bluePoint = 100 - ((len - 100) * 1.5); 
            if(bluePoint < 50) bluePoint = 50;
            thermalBar.style.background = `linear-gradient(to right, #ef4444 0%, #f59e0b 30%, #3b82f6 ${bluePoint}%, #1e3a8a 100%)`;
        }

        // Aktualizacja powrotu
        tempDropVal.textContent = T_ZASILANIE - dT;
    }

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



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

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

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

.faq-header h2 {
    margin: 0 0 15px 0;
    font-size: 28px;
    color: #0369a1;
    font-weight: 900;
    line-height: 1.3;
}

.faq-header p {
    font-size: 15px;
    color: #334155;
    margin: 0 0 20px 0;
    line-height: 1.6;
}

/* Wyszukiwarka */
.faq-search-wrapper {
    position: relative;
    max-width: 500px;
}

.faq-search-input {
    width: 100%;
    padding: 14px 20px 14px 45px;
    border: 2px solid #bae6fd;
    border-radius: 12px;
    font-size: 15px;
    font-family: 'Inter', sans-serif;
    outline: none;
    transition: all 0.3s ease;
    background: #ffffff;
    color: var(--primary);
    box-sizing: border-box;
}

.faq-search-input:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.1);
}

.faq-search-icon {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    color: #7dd3fc;
    transition: color 0.3s;
}

.faq-search-input:focus + .faq-search-icon {
    color: var(--accent);
}

/* Akordeon FAQ */
.faq-content {
    padding: 20px 40px 40px 40px;
    background: #ffffff;
}

.faq-no-results {
    display: none;
    text-align: center;
    padding: 30px;
    color: #64748b;
    font-weight: 600;
    background: var(--bg-light);
    border-radius: 12px;
}

.faq-item {
    border-bottom: 1px solid var(--border-color);
    transition: all 0.3s ease;
}

.faq-item:last-child {
    border-bottom: none;
}

.faq-question {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 25px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
    font-family: inherit;
    transition: color 0.2s;
}

.faq-question:hover {
    color: var(--accent);
}

.faq-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: #e0f2fe;
    color: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
    transition: transform 0.3s ease, background 0.3s ease;
    margin-left: 15px;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
    background: var(--accent);
    color: #ffffff;
}

.faq-item.active .faq-question {
    color: var(--accent);
}

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

.faq-answer-inner {
    padding-bottom: 25px;
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.faq-answer-inner strong {
    color: var(--primary);
}

.faq-answer-inner a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    transition: 0.2s;
    font-weight: 600;
}

.faq-answer-inner a:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

@media (max-width: 768px) {
    .faq-header { padding: 30px 20px 20px 20px; }
    .faq-content { padding: 10px 20px 30px 20px; }
    .faq-question { padding: 20px 0; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Ile metrów podłogówki na jednej pętli to maksymalna długość dla rury 16 mm?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Maksymalna dopuszczalna długość to 100 metrów, jednak w profesjonalnych projektach zaleca się nieprzekraczanie 80 metrów. Taka długość gwarantuje optymalne opory hydrauliczne (ok. 20 kPa) i równomierne grzanie bez przeciążania pompy obiegowej."
        }
      },
      {
        "@type": "Question",
        "name": "Jak obliczyć długość pętli ogrzewania podłogowego dla pokoju?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wzór inżynierski to: (Powierzchnia pokoju / rozstaw w metrach) * 1,1 (współczynnik na podejścia). Na przykład dla 20 m² przy rozstawie co 15 cm otrzymujemy: (20 / 0,15) * 1,1 ≈ 147 metrów. Otrzymaną wartość dzielimy na dwie pętle (np. po 74 metry)."
        }
      },
      {
        "@type": "Question",
        "name": "Czy rozstaw rur wpływa na ilość pętli w pomieszczeniu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, ma decydujący wpływ. Im mniejszy rozstaw (np. 10 cm dedykowany pod pompy ciepła), tym więcej rury zużywamy na 1 m². Gęstszy rozstaw wymusza podzielenie instalacji w jednym pomieszczeniu na większą liczbę osobnych obiegów podłączonych do rozdzielacza."
        }
      },
      {
        "@type": "Question",
        "name": "Jakie błędy najczęściej popełnia się przy projektowaniu pętli?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Głównym błędem jest projektowanie zbyt długich pętli (np. 140 m). Prowadzi to do niedogrzania stref końcowych (woda zdąży ostygnąć), powstawania szumów z powodu zjawiska kawitacji oraz braku możliwości zrównoważenia przepływów na rotametrach."
        }
      },
      {
        "@type": "Question",
        "name": "Czy warto stosować rurę 20 mm w domu, aby zrobić dłuższe pętle?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie jest to zalecane w standardowym budownictwie jednorodzinnym. Choć rura 20 mm pozwala na pętle rzędu 150 m, jest ona bardzo sztywna, co sprawia ogromne problemy przy formowaniu układu meandrowego lub ślimakowego w małych rozstawach."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Baza Wiedzy HVAC: Opory i Długości Pętli",
    "description": "Zestaw ustrukturyzowanych pytań i eksperckich odpowiedzi dotyczących inżynierii ogrzewania płaszczyznowego, uwzględniający wymogi norm i hydrauliki budynkowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Interaktywny Eksplorator Wiedzy o Podłogówce",
    "description": "Narzędzie typu FAQ pozwalające na interaktywne filtrowanie i wyszukiwanie problemów projektowych związanych z instalacją ogrzewania podłogowego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Dynamiczne wyszukiwanie pytań i odpowiedzi (Live Search)",
      "Rozwijane komponenty informacyjne (Akordeon)",
      "Baza danych autoryzowana przez inżyniera HVAC"
    ]
  }
]
</script>

<div class="premium-faq-box" id="faq-app-container">
    <div class="faq-header">
        <h2>Pytania i odpowiedzi (FAQ)</h2>
        <p>Szybkie podsumowanie najważniejszych kwestii inżynierskich związanych z doborem rur i projektowaniem pętli ogrzewania podłogowego.</p>
        
        <div class="faq-search-wrapper">
            <input type="text" id="faq-search" class="faq-search-input" placeholder="Wpisz słowo kluczowe (np. długość, rozstaw)...">
            <span class="faq-search-icon">🔍</span>
        </div>
    </div>
    
    <div class="faq-content">
        <div id="faq-no-results" class="faq-no-results">
            Brak pytań pasujących do wyszukiwania. Spróbuj innych słów kluczowych.
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span>Ile metrów podłogówki na jednej pętli to maksymalna bezpieczna długość (16 mm)?</span>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Maksymalna dopuszczalna długość to <strong>100 metrów</strong>, jednak jako inżynier projektujący instalacje od lat, kategorycznie zalecam celowanie w <strong>80 metrów</strong>. Taka długość gwarantuje optymalne opory hydrauliczne (ok. 20 kPa), bezproblemowe zrównoważenie na <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">rotametrach</a> i równomierne oddawanie ciepła bez przeciążania pompy obiegowej.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span>Jak obliczyć ile rury potrzebuję do konkretnego pomieszczenia?</span>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Możesz skorzystać ze wzoru: <strong>(Powierzchnia pokoju / rozstaw w metrach) * 1,1</strong> (współczynnik na podejścia). Przykładowo, dla pokoju 20 m² przy rozstawie co 15 cm daje to: (20 / 0,15) * 1,1 ≈ 147 metrów. Pamiętając o limitach z pierwszego pytania, taką wartość musisz bezwzględnie podzielić na co najmniej <strong>dwie pętle</strong> na rozdzielaczu (np. po ok. 74 metry każda). Do dokładnych wyliczeń polecam nasz <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">kalkulator podłogówki</a>.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span>Czy rozstaw rur ma wpływ na liczbę pętli w pokoju?</span>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Oczywiście. Im gęstszy rozstaw (np. 10 cm polecany pod <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" target="_blank" rel="noreferrer noopener">pompy ciepła</a>), tym więcej metrów bieżących rury przypada na 1 m² powierzchni (ok. 10 mb/m²). Szybsze zużycie rury sprawia, że szybciej dobijamy do bezpiecznego limitu 80 metrów, co wymusza zaprojektowanie dodatkowego obiegu grzewczego.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span>Co się stanie, jeśli wykonawca zrobi mi pętlę rzędu 130-140 metrów?</span>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Skutki zazwyczaj widać już po pierwszej zimie. Woda na końcu takiego obiegu zdąży drastycznie ostygnąć, tworząc "zimne plamy" na podłodze. Próba przyspieszenia przepływu przez pompę, aby to wyrównać, doprowadzi z kolei do <strong>kawitacji i nieznośnych szumów</strong> w rurach (zbyt duże opory tłoczenia). Dodatkowo nierównomierne stygnięcie to prosta droga do <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">naprężeń i pękania wylewki</a>.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span>Czy do długich pętli w domu jednorodzinnym warto zastosować rurę 20 mm?</span>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Odradzam. Rury o średnicy <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/" target="_blank" rel="noreferrer noopener">20x2 mm</a> pozwalają na dłuższe pętle (nawet 130 m), ale są dedykowane głównie do hal przemysłowych i magazynów, gdzie stosuje się rzadki rozstaw. W budownictwie jednorodzinnym rura 20 mm sprawia ogromne problemy instalatorom – jest sztywna, wymaga wielkiej siły i stwarza trudności przy gięciu blisko okien i ścian. Optymalnym materiałem pozostaje rura 16x2 mm.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const appContainer = document.getElementById('faq-app-container');
        if (appContainer) {
            appContainer.innerHTML = `
                <div style="padding: 50px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px; display: block;">🔒</span>
                    <h3 style="margin-top:0; font-size: 24px; font-weight: 900;">Baza Wiedzy Zablokowana</h3>
                    <p style="font-size: 16px; max-width: 500px; margin: 0 auto 25px auto; line-height: 1.5; color: #7f1d1d;">Ten moduł edukacyjny jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i nie może być używany poza oryginalną domeną.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
        }
        return;
    }

    // 2. LOGIKA AKORDEONU
    const faqItems = document.querySelectorAll('.faq-item');

    faqItems.forEach(item => {
        const question = item.querySelector('.faq-question');
        const answer = item.querySelector('.faq-answer');

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

            // Zamknij wszystkie inne (opcjonalne, ale daje ładny efekt)
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.faq-answer').style.maxHeight = null;
            });

            // Otwórz lub zamknij kliknięty
            if (!isActive) {
                item.classList.add('active');
                answer.style.maxHeight = answer.scrollHeight + "px";
            }
        });
    });

    // 3. LOGIKA WYSZUKIWARKI (Live Search)
    const searchInput = document.getElementById('faq-search');
    const noResultsMsg = document.getElementById('faq-no-results');

    searchInput.addEventListener('input', function() {
        const query = this.value.toLowerCase().trim();
        let visibleCount = 0;

        faqItems.forEach(item => {
            const text = item.textContent.toLowerCase();
            if (text.includes(query)) {
                item.style.display = 'block';
                visibleCount++;
            } else {
                item.style.display = 'none';
                item.classList.remove('active'); // Zwijamy ukrywane
                item.querySelector('.faq-answer').style.maxHeight = null;
            }
        });

        if (visibleCount === 0) {
            noResultsMsg.style.display = 'block';
        } else {
            noResultsMsg.style.display = 'none';
        }
    });
});
</script>



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

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

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

.infographic-header h2 {
    margin: 0 0 10px 0;
    font-size: 26px;
    color: #0369a1;
    font-weight: 900;
    line-height: 1.3;
}

.infographic-header p {
    font-size: 15px;
    color: #334155;
    margin: 0;
    line-height: 1.6;
}

/* Sekcja obrazka */
.infographic-viewer {
    position: relative;
    padding: 40px;
    background: #f8fafc;
    text-align: center;
}

.image-container {
    position: relative;
    display: inline-block;
    max-width: 100%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    cursor: zoom-in;
    transition: transform 0.3s ease;
    border: 1px solid #cbd5e1;
}

.image-container img {
    display: block;
    max-width: 100%;
    height: auto;
    transition: filter 0.3s ease;
}

.image-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(2, 132, 199, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.image-container:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

.image-container:hover .image-overlay {
    opacity: 1;
}

.zoom-icon {
    background: var(--accent);
    color: white;
    padding: 15px 25px;
    border-radius: 30px;
    font-weight: 800;
    font-size: 14px;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
    pointer-events: none;
}

/* Modals / Lightbox */
.lightbox-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(15, 23, 42, 0.95);
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lightbox-modal.active {
    display: flex;
    opacity: 1;
}

.lightbox-content {
    max-width: 90%;
    max-height: 90vh;
    border-radius: 8px;
    box-shadow: 0 0 40px rgba(0,0,0,0.5);
    object-fit: contain;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 40px;
    font-weight: 300;
    cursor: pointer;
    transition: color 0.2s;
}

.lightbox-close:hover {
    color: var(--danger);
}

/* Sekcja Pobierania */
.infographic-footer {
    padding: 30px 40px;
    background: #ffffff;
    border-top: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.footer-text {
    flex: 1;
}

.footer-text h3 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
}

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

.btn-download-pdf {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--danger);
    color: white;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(220, 38, 38, 0.25);
    white-space: nowrap;
}

.btn-download-pdf:hover {
    background: #b91c1c;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(220, 38, 38, 0.35);
}

@media (max-width: 768px) {
    .infographic-header { padding: 25px 20px; }
    .infographic-viewer { padding: 20px; }
    .infographic-footer { flex-direction: column; text-align: center; padding: 25px 20px; }
    .btn-download-pdf { width: 100%; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Ekspercka Infografika: Zestawienie parametrów ogrzewania podłogowego",
    "description": "Wizualne zestawienie normatywnych długości pętli (60-100m) dla systemów płaszczyznowych. Zawiera matrycę doboru rury na podstawie metrażu pomieszczenia oraz katalog krytycznych błędów instalacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Zalecana długość pętli",
        "value": "60 - 100 m",
        "description": "Złoty środek inżynierski chroniący przed spadkami temperatury."
      },
      {
        "@type": "PropertyValue",
        "name": "Dobór pętli do powierzchni",
        "description": "Tabela korelująca wielkość pomieszczenia (np. do 10m², 15-20m²) z wymaganą długością obwodu grzewczego."
      },
      {
        "@type": "PropertyValue",
        "name": "Praktyczne wskazówki",
        "description": "Checklista dla instalatorów m.in. omijani stref stałej zabudowy oraz wymóg prób ciśnieniowych przed wylewką."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Przeglądarka Infografik Inżynierskich HVAC",
    "description": "Interaktywny moduł prezentacyjny umożliwiający analizę schematów technicznych w wysokiej rozdzielczości z opcją pobrania dokumentacji w formacie PDF.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Dynamiczne powiększanie schematów (Lightbox)",
      "Responsywna prezentacja techniczna w formacie WEBP",
      "Bezpośredni eksport norm inżynierskich do formatu PDF"
    ]
  }
]
</script>

<div class="premium-infographic-box" id="infographic-app-container">
    <div class="infographic-header">
        <h2>Ekspercka ściąga: Ile metrów podłogówki na pętli?</h2>
        <p>Zapisz naszą autorską infografikę. To wizualne kompendium wiedzy, które uratuje Twój projekt przed najczęstszymi błędami hydraulicznymi.</p>
    </div>
    
    <div class="infographic-viewer">
        <div class="image-container" id="open-lightbox">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Ile-metrow-podlogowki-na-jednej-petli.webp" 
                 alt="Kompleksowa infografika inżynierska stanowiąca przewodnik po projektowaniu instalacji płaszczyznowych, skupiona na kluczowym pytaniu: ile metrów podłogówki na jednej pętli." 
                 width="800" height="auto" loading="lazy">
            <div class="image-overlay">
                <span class="zoom-icon">🔍 KLIKNIJ, ABY POWIĘKSZYĆ</span>
            </div>
        </div>
    </div>

    <div class="infographic-footer">
        <div class="footer-text">
            <h3>Zabierz te dane na budowę!</h3>
            <p>Pobierz infografikę w wysokiej jakości (PDF). Wydrukuj ją i skonsultuj z instalatorem przed wylaniem posadzki.</p>
        </div>
        <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Ile-metrow-podlogowki-na-jednej-petli.pdf" class="btn-download-pdf" target="_blank" rel="noopener noreferrer">
            📄 POBIERZ PDF (HD)
        </a>
    </div>

    <div class="lightbox-modal" id="lightbox">
        <span class="lightbox-close" id="close-lightbox">&times;</span>
        <img decoding="async" class="lightbox-content" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Ile-metrow-podlogowki-na-jednej-petli.webp" alt="Powiększenie infografiki">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const appContainer = document.getElementById('infographic-app-container');
        if (appContainer) {
            appContainer.innerHTML = `
                <div style="padding: 50px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px; display: block;">🔒</span>
                    <h3 style="margin-top:0; font-size: 24px; font-weight: 900;">Materiały Zablokowane</h3>
                    <p style="font-size: 16px; max-width: 500px; margin: 0 auto 25px auto; line-height: 1.5; color: #7f1d1d;">Ten interaktywny moduł edukacyjny jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i nie może być używany poza autoryzowaną domeną.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
        }
        return;
    }

    // 2. LOGIKA LIGHTBOXA (Przybliżanie obrazu)
    const openBtn = document.getElementById('open-lightbox');
    const lightbox = document.getElementById('lightbox');
    const closeBtn = document.getElementById('close-lightbox');

    if(openBtn && lightbox && closeBtn) {
        // Otwieranie
        openBtn.addEventListener('click', function() {
            lightbox.classList.add('active');
            document.body.style.overflow = 'hidden'; // Blokada scrollowania strony pod spodem
        });

        // Zamykanie krzyżykiem
        closeBtn.addEventListener('click', function() {
            lightbox.classList.remove('active');
            document.body.style.overflow = 'auto';
        });

        // Zamykanie przez kliknięcie w tło
        lightbox.addEventListener('click', function(e) {
            if (e.target === lightbox) {
                lightbox.classList.remove('active');
                document.body.style.overflow = 'auto';
            }
        });

        // Zamykanie klawiszem ESC
        document.addEventListener('keydown', function(e) {
            if (e.key === "Escape" && lightbox.classList.contains('active')) {
                lightbox.classList.remove('active');
                document.body.style.overflow = 'auto';
            }
        });
    }
});
</script>



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

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

.summary-header {
    background: var(--primary);
    padding: 35px 40px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

/* Dekoracyjne tło w nagłówku */
.summary-header::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -20px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.4) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
}

.summary-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.3;
    position: relative;
    z-index: 2;
}

.summary-text {
    padding: 35px 40px 10px 40px;
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
}

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

/* Moduł interaktywny - Weryfikator */
.interactive-checklist-module {
    margin: 20px 40px 40px 40px;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.checklist-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 1px;
    padding: 20px 25px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.progress-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 200px;
}

.progress-track {
    flex: 1;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    width: 0%;
    background: var(--accent);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.progress-text {
    font-size: 12px;
    font-weight: 900;
    color: var(--primary);
    min-width: 40px;
    text-align: right;
}

.checklist-items {
    padding: 20px 25px;
    display: grid;
    gap: 12px;
}

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

.check-item:hover {
    border-color: #bae6fd;
    background: #f0f9ff;
}

.check-item.completed {
    border-color: var(--success);
    background: #f0fdf4;
}

.check-box {
    width: 24px;
    height: 24px;
    border: 2px solid #cbd5e1;
    border-radius: 6px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    background: #fff;
    margin-top: 2px;
}

.check-item.completed .check-box {
    background: var(--success);
    border-color: var(--success);
}

.check-icon {
    color: white;
    font-size: 14px;
    font-weight: 900;
    opacity: 0;
    transform: scale(0);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.check-item.completed .check-icon {
    opacity: 1;
    transform: scale(1);
}

.check-content h4 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--primary);
}

.check-content p {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
}

/* CTA Sukcesu - ROZWIĄZANIE HYBRYDOWE */
.success-cta-box {
    padding: 30px 40px;
    background: #f8fafc; /* Neutralne tło na start */
    border-top: 1px solid var(--border-color);
    text-align: center;
    transition: all 0.4s ease;
}

.success-cta-box.is-success {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border-top-color: #bbf7d0;
}

.success-messages {
    display: none;
    animation: fadeIn 0.5s ease;
}

.success-cta-box.is-success .success-messages {
    display: block;
}

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

.success-messages h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    color: #166534;
    font-weight: 900;
}

.success-messages p {
    font-size: 15px;
    color: #15803d;
    margin: 0 0 20px 0;
}

.success-cta-promo {
    font-size: 15px;
    color: var(--primary);
    margin-bottom: 20px;
    font-weight: 700;
    transition: color 0.4s ease;
}

.success-cta-box.is-success .success-cta-promo {
    color: #166534; /* Dopasowanie koloru w stanie sukcesu */
}

.cta-btn-blog {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #16a34a;
    color: #ffffff;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(22, 163, 74, 0.3);
}

.cta-btn-blog:hover {
    background: #15803d;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(22, 163, 74, 0.4);
    color: #ffffff;
}

@media (max-width: 768px) {
    .summary-header { padding: 30px 25px; }
    .summary-text { padding: 25px 25px 10px 25px; }
    .interactive-checklist-module { margin: 20px 20px 30px 20px; }
    .checklist-title { flex-direction: column; align-items: flex-start; gap: 15px; }
    .progress-wrapper { width: 100%; }
    .success-cta-box { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Kluczowe parametry i wnioski z projektowania ogrzewania podłogowego",
    "description": "Zbiór najważniejszych inżynierskich wytycznych dotyczących limitów długości pętli, zagęszczenia w strefach brzegowych oraz hydraulicznych wymagań systemu ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Limit długości pętli (16mm)",
        "value": "Max 80-100m",
        "description": "Zapobieganie zjawisku kawitacji oraz krytycznym spadkom temperatury."
      },
      {
        "@type": "PropertyValue",
        "name": "Rozstaw w strefie brzegowej",
        "value": "10 cm",
        "description": "Kompensacja zwiększonych strat cieplnych w rejonie dużych przeszkleń."
      },
      {
        "@type": "PropertyValue",
        "name": "Opór hydrauliczny w pętli",
        "value": "Max 20-30 kPa",
        "description": "Parametr gwarantujący poprawną pracę rotametrów i pompy obiegowej."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Ekspercki Weryfikator Gotowości Projektu",
    "description": "Interaktywna aplikacja w formie audytu projektowego. Pozwala inwestorom sprawdzić, czy ich układ spełnia kluczowe wymogi hydrauliczne i cieplne wg normy PN-EN 1264.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Interaktywna weryfikacja założeń projektowych",
      "Dynamiczny wskaźnik poprawności koncepcji grzewczej",
      "Przekierowanie do pogłębionej bazy wiedzy o instalacjach"
    ]
  }
]
</script>

<div class="premium-summary-box" id="summary-app-container">
    <div class="summary-header">
        <h2>Podsumowanie inżynierskie</h2>
        <p style="margin:0; font-size: 15px; color:#cbd5e1;">Odpowiedź na pytanie "ile metrów podłogówki" definiuje być albo nie być całej inwestycji.</p>
    </div>
    
    <div class="summary-text">
        <p>Projektowanie ogrzewania podłogowego to proces, w którym prawa fizyki bezlitośnie weryfikują podejście "na oko". Zbyt długie pętle (powyżej <strong>100m dla rury 16mm</strong>) to gwarancja problemów: od zjawiska kawitacji, przez potężne spadki temperatury (zimne plamy na podłodze), aż po pękanie wylewki i drastyczny spadek SCOP pompy ciepła.</p>
        <p>Prawidłowy, profesjonalny projekt nie szuka oszczędności na ilości rozdzielaczy, lecz optymalizuje rozstaw rur (np. <strong>10 cm w łazienkach</strong>, 15 cm w salonach) i dzieli układ na równe, bezpieczne sekcje o długości ok. 80 metrów, które obciążają rotametry łagodnym przepływem rzędu 1-2 l/min.</p>
    </div>

    <div class="interactive-checklist-module">
        <div class="checklist-title">
            <span>🛠️ Audyt Projektu: Czy jesteś gotowy do wylewki?</span>
            <div class="progress-wrapper">
                <div class="progress-track">
                    <div class="progress-fill" id="audit-fill"></div>
                </div>
                <span class="progress-text" id="audit-text">0%</span>
            </div>
        </div>

        <div class="checklist-items">
            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Żadna z pętli 16mm nie przekracza 90-100 metrów</h4>
                    <p>Potwierdzam, że zrezygnowałem z chęci zaoszczędzenia na rozdzielaczu kosztem bezpieczeństwa hydraulicznego układu.</p>
                </div>
            </div>

            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Pętle mają zbliżoną do siebie długość</h4>
                    <p>Najkrótsza pętla na rozdzielaczu (oprócz łazienki) nie jest o połowę krótsza od najdłuższej. Pozwoli to zrównoważyć rotametry.</p>
                </div>
            </div>

            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Uwzględniono strefy brzegowe przy oknach</h4>
                    <p>Zastosowano zagęszczony rozstaw rur (10 cm) w miejscach największych strat cieplnych, aby uniknąć chłodu ciągnącego od przeszkleń.</p>
                </div>
            </div>

            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Instalacja opiera się na wyliczeniach OZC</h4>
                    <p>Zapotrzebowanie na moc i przepływy zostały policzone zgodnie z normą PN-EN 12831, a nie zaczerpnięte z forów internetowych.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="success-cta-box" id="success-cta">
        
        <div class="success-messages" id="success-messages">
            <h3>Gratulacje! Twój projekt to solidny fundament.</h3>
            <p>Jesteś świadomym inwestorem. Uniknąłeś błędów, których naprawa po wylaniu betonu kosztowałaby dziesiątki tysięcy złotych.</p>
        </div>

        <p class="success-cta-promo">Chcesz wiedzieć więcej? Sprawdź naszą bazę wiedzy pełną interaktywnych wykresów, kalkulatorów i darmowych poradników inżynierskich!</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="cta-btn-blog">
            📚 PRZEJDŹ NA BLOGA I POZNAJ KOLEJNE SEKRETY ➔
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('summary-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <h3 style="margin: 15px 0;">Treść Chroniona Prawem Autorskim</h3>
                    <p>Moduł audytu został skopiowany. Przejdź na stronę <strong>Projekt-Ogrzewania.pl</strong>.</p>
                </div>
            `;
            return;
        }
    }

    // Logika weryfikatora
    const checkItems = document.querySelectorAll('.check-item');
    const fill = document.getElementById('audit-fill');
    const text = document.getElementById('audit-text');
    const ctaBox = document.getElementById('success-cta');
    
    let currentProgress = 0;

    checkItems.forEach(item => {
        item.addEventListener('click', function() {
            const value = parseInt(this.getAttribute('data-val'));
            
            if (this.classList.contains('completed')) {
                this.classList.remove('completed');
                currentProgress -= value;
            } else {
                this.classList.add('completed');
                currentProgress += value;
            }

            // Aktualizacja UI paska postępu
            fill.style.width = currentProgress + '%';
            text.textContent = currentProgress + '%';

            // Zmiana zachowania CTA Boxa na tryb sukcesu
            if (currentProgress === 100) {
                fill.style.background = 'var(--success)';
                text.style.color = 'var(--success)';
                ctaBox.classList.add('is-success');
            } else {
                fill.style.background = 'var(--accent)';
                text.style.color = 'var(--primary)';
                ctaBox.classList.remove('is-success');
            }
        });
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/">Ile metrów podłogówki na jednej pętli?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
