<?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>Sun, 21 Jun 2026 08:55:12 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa 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[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-light: #f0f9ff;
    --rk-intro-accent: #0ea5e9;
    --rk-intro-green: #10b981;
    --rk-intro-red: #ef4444;
    --rk-intro-gray: #64748b;
    --rk-intro-border: #e2e8f0;
    --rk-intro-bg: #ffffff;
    --rk-intro-gold: #f59e0b;
}

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

.rk-intro-container * {
    box-sizing: border-box;
    /* Zgodnie z poleceniem: całkowity brak animacji i płynnych przejść w tym bloku */
    transition: none !important;
    animation: none !important;
}

/* Sekcja Hooka i Tytułu */
.rk-intro-hero {
    padding: 45px 50px;
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 5px solid var(--rk-intro-blue);
    text-align: center;
}

.rk-intro-badge {
    display: inline-block;
    background: var(--rk-intro-blue);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.rk-intro-hero h2 {
    font-size: 36px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.25;
    color: #ffffff;
}

.rk-intro-hook {
    font-size: 18px;
    font-weight: 500;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    border-left: 4px solid var(--rk-intro-gold);
    text-align: left;
}

.rk-intro-hook strong {
    color: #ffffff;
    font-weight: 800;
}

/* Interaktywny Panel Główny (Jedna Kolumna) */
.rk-intro-main {
    background: #ffffff;
    padding: 40px 50px;
}

/* Nawigacja Górna (Zakładki Poziome) */
.rk-intro-nav {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    border-bottom: 2px solid var(--rk-intro-border);
    padding-bottom: 15px;
}

.rk-intro-tab-btn {
    flex: 1;
    text-align: center;
    background: #f8fafc;
    border: 2px solid var(--rk-intro-border);
    padding: 16px 20px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-gray);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-intro-tab-btn:hover {
    border-color: #cbd5e1;
    color: var(--rk-intro-dark);
}

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

.rk-intro-tab-btn svg {
    flex-shrink: 0;
}

/* Prawa Kolumna - Treść (Teraz pełna szerokość) */
.rk-intro-content {
    display: none;
}

.rk-intro-content.active {
    display: block;
}

/* Treść: Szybka Odpowiedź */
.rk-qa-box {
    background: var(--rk-intro-light);
    border: 2px solid #bae6fd;
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 30px;
}

.rk-qa-title {
    font-size: 14px;
    font-weight: 900;
    color: var(--rk-intro-blue);
    text-transform: uppercase;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-qa-text {
    font-size: 18px;
    font-weight: 700;
    color: var(--rk-intro-dark);
    line-height: 1.6;
    margin: 0;
}

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

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

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

/* Treść: Narzędzia */
.rk-tools-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 10px;
}

.rk-tool-card {
    border: 2px solid var(--rk-intro-border);
    border-radius: 16px;
    padding: 25px;
    background: #ffffff;
}

.rk-tool-icon {
    width: 48px;
    height: 48px;
    background: #f1f5f9;
    color: var(--rk-intro-blue);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

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

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

@media (max-width: 850px) {
    .rk-tools-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .rk-intro-hero { padding: 35px 20px; }
    .rk-intro-hero h2 { font-size: 28px; }
    .rk-intro-main { padding: 25px 20px; }
    
    /* Na mobile przyciski układają się jeden pod drugim */
    .rk-intro-nav { flex-direction: column; border-bottom: none; gap: 10px; }
    .rk-intro-tab-btn { justify-content: flex-start; padding: 15px 20px; margin-bottom: 0;}
    
    .rk-qa-box { padding: 20px; }
    .rk-qa-text { font-size: 16px; }
    .rk-tool-card { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Rura z barierą antydyfuzyjną (EVOH) – Najważniejszy element podłogówki",
    "description": "Czym jest rura z barierą EVOH? Kompletny przewodnik i szybka odpowiedź dla inwestorów. Poznaj wpływ bariery tlenowej na trwałość kotła i pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-21",
    "dateModified": "2026-06-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-wstep",
    "name": "Zestawienie Narzędzi i Kalkulatorów Instalacyjnych EVOH",
    "description": "Wykaz interaktywnych narzędzi udostępnionych w artykule, wspomagających decyzję o wyborze rury do ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rura z barierą antydyfuzyjną",
      "co to jest rura EVOH",
      "kalkulator zładu wody",
      "symulator korozji podłogówki",
      "rura pex-a czy pe-rt evoh"
    ],
    "measurementTechnique": "Agregacja dostępnych modułów inżynierskich obliczających opory hydrauliczne, przepływy, dyfuzję tlenu oraz ROI inwestycji w barierę EVOH.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Moduł Szybkiej Odpowiedzi (Quick Answer) dla wyszukiwarek.",
        "Kalkulator parametrów hydraulicznych i zładu wodnego pętli.",
        "Symulator niszczenia kotła z powodu braku bariery EVOH."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-wstep-przewodnik",
    "name": "Interaktywny Przewodnik Inwestora EVOH",
    "description": "Panel startowy ułatwiający nawigację po narzędziach i bezpośrednio odpowiadający na kluczowe pytania inwestorów dotyczące rur z powłoką antydyfuzyjną.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-panel">
    
    <div class="rk-intro-hero">
        <span class="rk-intro-badge">Baza Wiedzy Inwestora</span>
        <h2>Rura z barierą antydyfuzyjną (EVOH) – Najważniejszy element podłogówki</h2>
        <p class="rk-intro-hook">
            Wyobraź sobie, że oszczędzasz 500 zł na tańszej rurze, a po 3 latach musisz wydać 8 000 zł na naprawę pompy ciepła i płukanie całej posadzki. <strong>To nie mit sprzedażowy, to bezwzględna fizyka budowli.</strong> Zobacz dlaczego.
        </p>
    </div>

    <div class="rk-intro-main">
        
        <div class="rk-intro-nav">
            <button class="rk-intro-tab-btn active" data-target="intro-qa">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                Szybka Odpowiedź
            </button>
            
            <button class="rk-intro-tab-btn" data-target="intro-tools">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
                Kalkulatory w Artykule
            </button>
        </div>

        <div class="rk-intro-content-wrapper">
            
            <div class="rk-intro-content active" id="intro-qa">
                
                <div class="rk-qa-box">
                    <div class="rk-qa-title">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        Szybka Odpowiedź
                    </div>
                    <p class="rk-qa-text">
                        Czym jest rura z barierą antydyfuzyjną EVOH? To najczęściej 5-warstwowa rura wykonana z PEX lub PE-RT, w której umieszczono mikroskopijną powłokę kopolimeru EVOH. Jej jedynym zadaniem jest <strong>całkowite zablokowanie wnikania tlenu</strong> z zewnątrz do wody instalacyjnej.
                    </p>
                </div>
                
                <div class="rk-intro-text">
                    <p>
                        Brak tej warstwy sprawia, że rura z tworzywa sztucznego działa jak gąbka dla gazów. Tlen łączy się z żelazem w instalacji, tworząc szlam magnetytowy (rdzę), który błyskawicznie niszczy <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kotły gazowe</a> oraz zatyka nowoczesne pompy obiegowe. 
                    </p>
                    <p>
                        W tym kompleksowym kompendium przeanalizujemy ten temat od strony inżynierskiej, opierając się na normach DIN 4726 i twardych wyliczeniach.
                    </p>
                </div>

            </div>

            <div class="rk-intro-content" id="intro-tools">
                <div class="rk-intro-text">
                    <p><strong>Czego dowiesz się w dalszej części tekstu?</strong></p>
                    <p>Zrezygnowaliśmy z teoretyzowania. W poniższym artykule znajdziesz interaktywne narzędzia, które pomogą Ci podjąć najbezpieczniejszą decyzję materiałową dla Twojego domu:</p>
                </div>

                <div class="rk-tools-grid">
                    <div class="rk-tool-card">
                        <div class="rk-tool-icon">
                            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg>
                        </div>
                        <h4 class="rk-tool-title">Mikroskop Dyfuzji</h4>
                        <p class="rk-tool-desc">Zobacz struktury 3-warstwowe i 5-warstwowe w powiększeniu i zrozum proces blokady tlenu.</p>
                    </div>

                    <div class="rk-tool-card">
                        <div class="rk-tool-icon">
                            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line></svg>
                        </div>
                        <h4 class="rk-tool-title">Symulator Awarii</h4>
                        <p class="rk-tool-desc">Kalkulator ryzyka. Zobacz ile rdzy (szlamu) wygeneruje Twój układ, jeśli pominiesz barierę EVOH.</p>
                    </div>

                    <div class="rk-tool-card">
                        <div class="rk-tool-icon">
                            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                        </div>
                        <h4 class="rk-tool-title">Kalkulator Hydrauliki</h4>
                        <p class="rk-tool-desc">Moduł do wyliczenia przepływów (m/s) i spadków ciśnienia (kPa) dla najdłuższej pętli grzewczej.</p>
                    </div>

                    <div class="rk-tool-card">
                        <div class="rk-tool-icon">
                            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        </div>
                        <h4 class="rk-tool-title">Decyzjomat ROI</h4>
                        <p class="rk-tool-desc">Zestawienie dopłaty do markowej rury z gwarantowanymi kosztami ewentualnej naprawy kotłowni.</p>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabBtns = document.querySelectorAll('.rk-intro-tab-btn');
    const tabContents = document.querySelectorAll('.rk-intro-content');

    // Brak animacji - natychmiastowe przełączenie klas (Display: block/none)
    for (let i = 0; i < tabBtns.length; i++) {
        tabBtns[i].addEventListener('click', function() {
            
            // Usunięcie stanu aktywnego
            for (let j = 0; j < tabBtns.length; j++) {
                tabBtns[j].classList.remove('active');
            }
            for (let k = 0; k < tabContents.length; k++) {
                tabContents[k].classList.remove('active');
            }

            // Nadanie stanu aktywnego 
            this.classList.add('active');
            let targetId = this.getAttribute('data-target');
            let targetPanel = document.getElementById(targetId);
            
            let isFound = false;
            if (targetPanel) {
                isFound = true;
            }

            if (isFound) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-def-dark: #0f172a;
    --rk-def-blue: #0284c7;
    --rk-def-light: #f0f9ff;
    --rk-def-accent: #0ea5e9;
    --rk-def-green: #10b981;
    --rk-def-red: #ef4444;
    --rk-def-gray: #64748b;
    --rk-def-border: #e2e8f0;
    --rk-def-bg: #ffffff;
    
    /* Kolory warstw polimerów */
    --rk-poly-pex: #94a3b8;
    --rk-poly-evoh: #0284c7;
    --rk-poly-glue: #fcd34d;
}

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

.rk-def-container * {
    box-sizing: border-box;
}

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

.rk-def-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: #7dd3fc;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(125, 211, 252, 0.2);
}

.rk-def-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

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

/* Interaktywny Symulator Przekroju (Mikroskop) */
.rk-def-interactive {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-def-border);
}

.rk-def-int-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-def-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Selektor z wypełnieniem kolorystycznym zamiast ruchomego tła */
.rk-layer-selector {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 6px;
    margin-bottom: 30px;
    gap: 6px; /* Odstęp między przyciskami */
}

.rk-layer-btn {
    flex: 1;
    height: 46px; 
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-def-gray); /* Ciemno szary domyślnie */
    background: transparent; /* Brak tła przed kliknięciem */
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin: 0;
}

.rk-layer-btn:hover {
    color: var(--rk-def-dark);
    background: rgba(255, 255, 255, 0.5);
}

/* Aktywny przycisk przyjmuje niebieskie tło i biały tekst */
.rk-layer-btn.active {
    background: var(--rk-def-blue);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
}

/* Animacje i obszar SVG */
.rk-microscope-box {
    background: #ffffff;
    border: 2px solid var(--rk-def-border);
    border-radius: 20px;
    padding: 30px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
    align-items: center;
}

.rk-svg-wrapper {
    position: relative;
    width: 100%;
    height: 180px;
    background: #f1f5f9;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #cbd5e1;
}

.rk-layer-info {
    padding-left: 20px;
    border-left: 3px solid var(--rk-def-accent);
}

.rk-layer-info h4 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-def-dark);
    margin: 0 0 10px 0;
}

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

/* Część teoretyczna */
.rk-def-theory {
    padding: 40px 50px;
    background: #ffffff;
}

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

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

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

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

.rk-def-theory a:hover {
    color: #0369a1;
}

.rk-def-highlight-box {
    background: var(--rk-def-light);
    border: 1px solid #bae6fd;
    border-left: 4px solid var(--rk-def-blue);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
}

.rk-formula-clean {
    font-family: monospace;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-def-dark);
    display: block;
    background: #ffffff;
    padding: 10px 15px;
    border-radius: 8px;
    margin-top: 10px;
    border: 1px dashed #cbd5e1;
}

/* Animacje O2 */
.anim-o2-pass {
    animation: moveO2Pass 3s linear infinite;
}

.anim-o2-bounce {
    animation: moveO2Bounce 3s ease-in-out infinite;
}

@keyframes moveO2Pass {
    0% { transform: translate(0, 0); opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { transform: translate(300px, 0); opacity: 0; }
}

@keyframes moveO2Bounce {
    0% { transform: translate(0, 0); opacity: 0; }
    20% { opacity: 1; }
    50% { transform: translate(140px, 0); opacity: 1; } /* Uderzenie w barierę */
    80% { opacity: 1; }
    100% { transform: translate(0, 50px); opacity: 0; } /* Odbicie */
}

@media (max-width: 850px) {
    .rk-microscope-box { grid-template-columns: 1fr; gap: 20px; }
    .rk-layer-info { border-left: none; border-top: 3px solid var(--rk-def-accent); padding-left: 0; padding-top: 20px; }
}

@media (max-width: 600px) {
    .rk-def-header, .rk-def-interactive, .rk-def-theory { padding: 30px 20px; }
    .rk-def-header h2 { font-size: 26px; }
    
    /* Na mobile przyciski układają się jeden pod drugim */
    .rk-layer-selector { 
        flex-direction: column; 
    }
    .rk-layer-btn {
        width: 100%;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-czym-jest-evoh",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Czym jest bariera antydyfuzyjna EVOH w rurach do podłogówki?",
    "description": "Budowa i zasada działania bariery tlenowej w rurach grzewczych. Porównanie struktury 3-warstwowej i 5-warstwowej w odniesieniu do normy DIN 4726.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-evoh-struktura",
    "name": "Parametry fizyczne bariery antydyfuzyjnej EVOH i przenikalność tlenu",
    "description": "Baza danych określająca gęstość molekularną kopolimeru oraz graniczne wartości przenikania tlenu wg wytycznych instalacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "co to jest bariera evoh",
      "rury 5-warstwowe do podłogówki",
      "norma DIN 4726 tlen",
      "struktura rury pex",
      "budowa rury pe-rt evoh pe-rt"
    ],
    "measurementTechnique": "Analiza mikroskopowa przekroju rury, badanie przenikalności O2 w temp. 40°C wg rygorystycznej normy DIN 4726 (paragraf 4.1).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Grubość bariery EVOH: 10 do 50 mikrometrów.",
        "Maksymalna przenikalność wg DIN 4726: poniżej 0,1 mg/(l·doba) w 40°C.",
        "Zalecana struktura rynkowa: Rura 5L (PE-RT / Klej / EVOH / Klej / PE-RT)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-struktura-rury",
    "name": "Interaktywny Mikroskop Rury Grzewczej",
    "description": "Symulator przekroju rur instalacyjnych obrazujący proces blokowania dyfuzji cząsteczek tlenu przez warstwy kopolimeru EVOH oraz ryzyka dla rur 3-warstwowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-def-container" id="rk-def-app">
    <div class="rk-def-header">
        <div class="rk-def-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg>
            Struktura Molekularna
        </div>
        <h2>Czym jest bariera antydyfuzyjna EVOH w rurach do podłogówki?</h2>
        <p>
            Wyobraź sobie warstwę kopolimeru cieńszą niż ludzki włos (od 10 do 50 mikrometrów). To właśnie EVOH – technologiczna tarcza, która decyduje o przetrwaniu całej kotłowni.
        </p>
    </div>

    <div class="rk-def-interactive">
        <div class="rk-def-int-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Interaktywny Mikroskop: Proces Dyfuzji
        </div>
        
        <div class="rk-layer-selector" id="pipeViewSelector">
            <div class="rk-layer-btn active" data-view="pex">Zwykły PEX/PE-RT</div>
            <div class="rk-layer-btn" data-view="3l">Rura 3-Warstwowa (3L)</div>
            <div class="rk-layer-btn" data-view="5l">Rura 5-Warstwowa (5L)</div>
        </div>

        <div class="rk-microscope-box">
            <div class="rk-svg-wrapper" id="svgDisplayArea">
                </div>
            
            <div class="rk-layer-info" id="layerInfoArea">
                </div>
        </div>
    </div>

    <div class="rk-def-theory">
        <h3>Fizyka przenikania: Jak tlen pokonuje polietylen?</h3>
        <p>
            Polietyleny jednorodne (czysty <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/">PE-RT</a> czy <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PEX</a>) wykazują budowę krystaliczną o wysokim stopniu porowatości międzycząsteczkowej. Siłą napędową procesu dyfuzji jest <strong>różnica ciśnień cząstkowych tlenu</strong> pomiędzy otoczeniem (powietrzem atmosferycznym, betonem jastrychu o wilgotności resztkowej) a wnętrzem rury, gdzie ciśnienie cząstkowe rozpuszczonego tlenu nieustannie dąży do zera.
        </p>

        <p>
            EVOH posiada skrajnie gęstą strukturę molekularną z silnymi wiązaniami wodorowymi, co tworzy barierę mechaniczną dla mikroskopijnych cząsteczek gazu O₂.
        </p>

        <div class="rk-def-highlight-box">
            <strong>Rygorystyczna Norma DIN 4726 (paragraf 4.1)</strong><br>
            Zgodnie z wymogami inżynieryjnymi, w tym niemiecką normą <a href="https://projekt-ogrzewania.pl/norma-din-4726-w-ogrzewaniu-podlogowym/">DIN 4726 w ogrzewaniu podłogowym</a>, skuteczna osłona antydyfuzyjna musi zredukować przenikanie tlenu (O₂) do poziomu granicznego w temperaturze roboczej 40°C:
            <span class="rk-formula-clean">Max przenikanie &lt; 0,1 mg/(l·doba)</span>
        </div>

        <h3>Dlaczego 5L to rynkowy standard?</h3>
        <p>
            Współczesny standard to rury 5-warstwowe (5L). Struktura ta pozwala umieścić ultracienką barierę EVOH centralnie, bezpiecznie w rdzeniu rury. Chroni to powłokę przed uszkodzeniami fizycznymi. Układ wygląda następująco:
            <span class="rk-formula-clean">PE-RT / Klej / EVOH / Klej / PE-RT</span>
        </p>
        <p>
            Rozwiązania starsze, 3-warstwowe (3L), gdzie EVOH znajdowało się na samym zewnątrz, były silnie podatne na <strong>mechaniczne zdrapanie bariery</strong> podczas układania i przesuwania przewodów na chropowatym styropianie oraz przy wbijaniu spinek montażowych (tacker).
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // Dane dla poszczególnych widoków mikroskopu
    const viewsDB = {
        pex: {
            title: "Czysty polimer",
            desc: "Pory w strukturze PE-RT/PEX są tak duże (w skali cząsteczkowej), że tlen bez oporów wnika do środka instalacji, nasycając zład wody.",
            svg: `
                <svg width="100%" height="100%" viewBox="0 0 300 180" xmlns="http://www.w3.org/2000/svg">
                    <rect x="0" y="0" width="100" height="180" fill="#e2e8f0"/>
                    <text x="10" y="20" fill="#64748b" font-size="12" font-weight="bold">Zewnątrz</text>
                    
                    <rect x="100" y="0" width="100" height="180" fill="#94a3b8" opacity="0.6"/>
                    <line x1="150" y1="0" x2="150" y2="180" stroke="#ffffff" stroke-width="2" stroke-dasharray="10 10"/>
                    
                    <rect x="200" y="0" width="100" height="180" fill="#bae6fd"/>
                    <text x="210" y="20" fill="#0284c7" font-size="12" font-weight="bold">Woda</text>

                    <g class="anim-o2-pass" style="animation-delay: 0s;">
                        <circle cx="50" cy="50" r="6" fill="#ef4444"/>
                        <text x="44" y="54" fill="#ffffff" font-size="8" font-weight="bold">O₂</text>
                    </g>
                    <g class="anim-o2-pass" style="animation-delay: 1.5s;">
                        <circle cx="50" cy="130" r="6" fill="#ef4444"/>
                        <text x="44" y="134" fill="#ffffff" font-size="8" font-weight="bold">O₂</text>
                    </g>
                </svg>
            `
        },
        '3l': {
            title: "Struktura 3-Warstwowa",
            desc: "Bariera EVOH jest na wierzchu. Narażona na przetarcia (np. od spinek tackera) ulega zniszczeniu, otwierając drogę tlenowi do wnętrza.",
            svg: `
                <svg width="100%" height="100%" viewBox="0 0 300 180" xmlns="http://www.w3.org/2000/svg">
                    <rect x="0" y="0" width="100" height="180" fill="#e2e8f0"/>
                    
                    <rect x="100" y="0" width="15" height="180" fill="#0284c7"/>
                    <rect x="115" y="0" width="5" height="180" fill="#fcd34d"/>
                    <rect x="120" y="0" width="80" height="180" fill="#94a3b8" opacity="0.6"/>
                    <polygon points="95,70 115,80 95,90" fill="#e2e8f0"/>
                    
                    <rect x="200" y="0" width="100" height="180" fill="#bae6fd"/>

                    <g class="anim-o2-bounce" style="animation-delay: 0s;">
                        <circle cx="20" cy="30" r="6" fill="#ef4444"/>
                        <text x="14" y="34" fill="#ffffff" font-size="8">O₂</text>
                    </g>
                    <g class="anim-o2-pass" style="animation-delay: 1s;">
                        <circle cx="20" cy="80" r="6" fill="#ef4444"/>
                        <text x="14" y="84" fill="#ffffff" font-size="8">O₂</text>
                    </g>
                </svg>
            `
        },
        '5l': {
            title: "Struktura 5-Warstwowa",
            desc: "Bariera EVOH bezpiecznie osłonięta przez zewn. polietylen. 100% ochrona mechaniczna i totalna blokada dyfuzji. Standard branżowy.",
            svg: `
                <svg width="100%" height="100%" viewBox="0 0 300 180" xmlns="http://www.w3.org/2000/svg">
                    <rect x="0" y="0" width="100" height="180" fill="#e2e8f0"/>
                    
                    <rect x="100" y="0" width="30" height="180" fill="#94a3b8" opacity="0.6"/>
                    <rect x="130" y="0" width="5" height="180" fill="#fcd34d"/>
                    <rect x="135" y="0" width="15" height="180" fill="#0284c7"/>
                    <rect x="150" y="0" width="5" height="180" fill="#fcd34d"/>
                    <rect x="155" y="0" width="45" height="180" fill="#94a3b8" opacity="0.6"/>
                    
                    <rect x="200" y="0" width="100" height="180" fill="#bae6fd"/>

                    <g class="anim-o2-bounce" style="animation-delay: 0s;">
                        <circle cx="20" cy="50" r="6" fill="#ef4444"/>
                        <text x="14" y="54" fill="#ffffff" font-size="8">O₂</text>
                    </g>
                    <g class="anim-o2-bounce" style="animation-delay: 1.5s;">
                        <circle cx="20" cy="120" r="6" fill="#ef4444"/>
                        <text x="14" y="124" fill="#ffffff" font-size="8">O₂</text>
                    </g>
                </svg>
            `
        }
    };

    const buttons = document.querySelectorAll('.rk-layer-btn');
    const svgArea = document.getElementById('svgDisplayArea');
    const infoArea = document.getElementById('layerInfoArea');

    function updateView(key) {
        let data = viewsDB[key];
        
        // Zmiana treści z płynnym efektem zanikania
        infoArea.style.opacity = '0';
        svgArea.style.opacity = '0';
        
        setTimeout(function() {
            infoArea.innerHTML = `<h4>${data.title}</h4><p>${data.desc}</p>`;
            svgArea.innerHTML = data.svg;
            
            infoArea.style.transition = 'opacity 0.3s';
            svgArea.style.transition = 'opacity 0.3s';
            infoArea.style.opacity = '1';
            svgArea.style.opacity = '1';
        }, 150);
    }

    // Inicjalizacja pierwszej rury
    updateView('pex');

    // Obsługa kliknięć
    for (let i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            
            // Usunięcie klasy 'active'
            for (let j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active');
            }
            
            // Dodanie klasy 'active' na wybranym
            this.classList.add('active');
            let targetKey = this.getAttribute('data-view');
            
            updateView(targetKey);
        });
    }
});
</script>



<style>
:root {
    --rk-corr-dark: #0f172a;
    --rk-corr-blue: #0284c7;
    --rk-corr-light: #f0f9ff;
    --rk-corr-red: #ef4444;
    --rk-corr-rust: #9a3412; /* Kolor rdzy/szlamu */
    --rk-corr-rust-light: #ffedd5;
    --rk-corr-gray: #64748b;
    --rk-corr-border: #e2e8f0;
    --rk-corr-bg: #ffffff;
}

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

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

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

.rk-corr-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

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

/* Proces Chemiczny (Infografika - Elastyczna) */
.rk-corr-chain {
    background: var(--rk-corr-rust-light);
    padding: 25px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #fdba74;
}

.rk-chain-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-width: 90px;
}

.rk-chain-icon {
    width: 48px; height: 48px;
    background: #ffffff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--rk-corr-rust);
    font-size: 16px;
    font-weight: 900;
    box-shadow: 0 4px 10px rgba(154, 52, 18, 0.15);
    margin-bottom: 10px;
}

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

.rk-chain-arrow {
    color: var(--rk-corr-rust);
    font-weight: 900;
    font-size: 20px;
    transition: transform 0.3s;
}

/* Interaktywny Symulator Zniszczeń */
.rk-corr-interactive {
    padding: 40px 50px;
    background: #ffffff;
}

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

.rk-damage-selector {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-dmg-btn {
    flex: 1;
    padding: 15px;
    border: 2px solid var(--rk-corr-border);
    border-radius: 16px;
    background: #f8fafc;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

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

.rk-dmg-btn.active {
    border-color: var(--rk-corr-rust);
    background: var(--rk-corr-rust-light);
    box-shadow: 0 10px 20px -5px rgba(154, 52, 18, 0.2);
}

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

.rk-dmg-btn.active .rk-dmg-icon {
    color: var(--rk-corr-rust);
}

.rk-dmg-name {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-corr-dark);
    text-align: center;
}

/* Karta Ze Szczegółami Awarii */
.rk-dmg-display {
    background: var(--rk-corr-dark);
    border-radius: 20px;
    padding: 35px;
    color: #ffffff;
    display: grid;
    grid-template-columns: 1fr 250px;
    gap: 30px;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.rk-dmg-display::before {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; width: 300px;
    background: radial-gradient(circle at right, rgba(154, 52, 18, 0.3) 0%, transparent 70%);
}

.rk-dmg-info { position: relative; z-index: 2; }
.rk-dmg-cost { 
    position: relative; z-index: 2;
    background: rgba(0,0,0,0.4);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid rgba(253, 186, 116, 0.2);
    text-align: center;
}

.rk-dmg-info h3 {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #fdba74;
}

.rk-dmg-info p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

.rk-cost-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: #94a3b8;
    margin-bottom: 8px;
}

.rk-cost-val {
    font-size: 32px;
    font-weight: 900;
    color: #ef4444;
}

/* Chemia i Teoria */
.rk-corr-theory {
    padding: 40px 50px;
    background: #f8fafc;
    border-top: 1px solid var(--rk-corr-border);
}

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

.rk-corr-theory strong { color: var(--rk-corr-dark); font-weight: 800; }
.rk-corr-theory a { color: var(--rk-corr-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.rk-corr-theory a:hover { color: #0369a1; }

.rk-chem-box {
    background: #ffffff;
    border: 1px solid var(--rk-corr-border);
    border-left: 4px solid var(--rk-corr-blue);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 20px 0;
    font-family: monospace;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-corr-dark);
}

.rk-chem-row { margin-bottom: 10px; }
.rk-chem-row:last-child { margin-bottom: 0; }
.rk-chem-desc { color: var(--rk-corr-gray); font-size: 13px; font-family: 'Inter', sans-serif; display: block; margin-top: 4px; }

/* Stopka z Autorem (E-E-A-T) */
.rk-author-footer {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid var(--rk-corr-border);
}

.rk-author-footer img {
    width: 56px; 
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--rk-corr-blue);
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

.rk-author-details strong { 
    color: var(--rk-corr-dark); 
    display: block; 
    font-size: 16px; 
    margin-bottom: 2px;
}
.rk-author-details span { 
    color: var(--rk-corr-gray); 
    font-size: 12px; 
    font-weight: 800; 
    text-transform: uppercase; 
    letter-spacing: 0.5px;
}

@media (max-width: 850px) {
    .rk-dmg-display { grid-template-columns: 1fr; text-align: center; }
}

@media (max-width: 600px) {
    .rk-corr-header, .rk-corr-interactive, .rk-corr-theory { padding: 30px 20px; }
    .rk-corr-header h2 { font-size: 26px; }
    
    /* Zmiana układu łańcucha na pionowy */
    .rk-corr-chain { 
        flex-direction: column; 
        gap: 10px; 
        padding: 30px 20px;
    }
    .rk-chain-step { flex-direction: row; gap: 15px; align-items: center; width: 100%; text-align: left; }
    .rk-chain-icon { margin-bottom: 0; width: 40px; height: 40px; font-size: 14px; flex-shrink: 0; }
    .rk-chain-arrow { transform: rotate(90deg); margin: 5px 0; }

    .rk-damage-selector { flex-direction: column; gap: 10px; }
    .rk-dmg-btn { flex-direction: row; justify-content: flex-start; padding: 15px; }
    .rk-dmg-icon { width: 40px; height: 40px; margin-right: 10px; }
    .rk-dmg-display { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-korozja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Jak brak bariery tlenowej niszczy kocioł gazowy i pompę ciepła?",
    "description": "Mechanizm powstawania szlamu magnetytowego (Fe3O4) z powodu braku bariery EVOH. Koszty awarii wymienników ciepła, pomp obiegowych PWM i rotametrów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-koszty-awarii",
    "name": "Kalkulacja kosztów awarii kotłowni z powodu braku EVOH (2026)",
    "description": "Zestawienie kosztów wymiany uszkodzonych przez szlam magnetytowy komponentów kotłowni: wymienników kotłów gazowych, pomp PWM oraz elementów regulacyjnych rozdzielaczy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "korozja galwaniczna w instalacji",
      "magnetyt w instalacji grzewczej",
      "zacieranie pompy obiegowej",
      "uszkodzenie wymiennika kotła koszty",
      "koszty naprawy ogrzewania podłogowego",
      "stężenie tlenu norma PN-EN 12828"
    ],
    "measurementTechnique": "Szacowanie rynkowych kosztów serwisu i wymiany zablokowanych komponentów w wyniku odkładania się tlenków żelaza (szlamu).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymiennik ciepła (Kocioł): Perforacja szczelin 1.5mm, koszt do 60% wartości kotła (ok. 3000-8000 PLN).",
        "Pompa obiegowa: Zablokowanie wirnika z magnesami trwałymi PWM, koszt (ok. 1000-2500 PLN).",
        "Rozdzielacz: Zablokowanie rotametrów i grzybków termostatycznych, brak regulacji (ok. 800-1500 PLN)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-symulator-awarii",
    "name": "Symulator Awarii Kotłowni (Brak EVOH)",
    "description": "Interaktywny panel prezentujący mechanizm niszczenia poszczególnych komponentów układu hydraulicznego (kocioł, pompa, rozdzielacz) z szacunkowymi kosztami napraw.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-corr-container" id="rk-corr-app">
    <div class="rk-corr-header">
        <div class="rk-corr-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Degradacja Systemu
        </div>
        <h2>Jak brak bariery tlenowej niszczy kocioł gazowy i pompę ciepła?</h2>
        <p>
            Brak bariery tlenowej powoduje korozję galwaniczną oraz wżerową elementów metalowych. To nie jest kwestia "czy", tylko "kiedy" instalacja ulegnie awarii, generując koszty napraw awaryjnych rzędu od 2 500 PLN do 8 000 PLN.
        </p>
    </div>

    <div class="rk-corr-chain">
        <div class="rk-chain-step">
            <div class="rk-chain-icon">1</div>
            <div class="rk-chain-text">Brak EVOH</div>
        </div>
        <div class="rk-chain-arrow">➔</div>
        <div class="rk-chain-step">
            <div class="rk-chain-icon">O₂</div>
            <div class="rk-chain-text">Przenikanie</div>
        </div>
        <div class="rk-chain-arrow">➔</div>
        <div class="rk-chain-step">
            <div class="rk-chain-icon">Fe</div>
            <div class="rk-chain-text">Utlenianie</div>
        </div>
        <div class="rk-chain-arrow">➔</div>
        <div class="rk-chain-step">
            <div class="rk-chain-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><circle cx="12" cy="12" r="10"></circle></svg>
            </div>
            <div class="rk-chain-text">Szlam</div>
        </div>
        <div class="rk-chain-arrow">➔</div>
        <div class="rk-chain-step">
            <div class="rk-chain-icon" style="color: #ef4444;">!</div>
            <div class="rk-chain-text">Awaria</div>
        </div>
    </div>

    <div class="rk-corr-interactive">
        <div class="rk-corr-int-title">Wybierz urządzenie, aby sprawdzić skutki braku EVOH:</div>
        
        <div class="rk-damage-selector" id="dmgSelector">
            <div class="rk-dmg-btn active" data-target="wymiennik">
                <div class="rk-dmg-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line></svg>
                </div>
                <div class="rk-dmg-name">Kocioł / Wymiennik</div>
            </div>
            <div class="rk-dmg-btn" data-target="pompa">
                <div class="rk-dmg-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>
                </div>
                <div class="rk-dmg-name">Pompa Obiegowa</div>
            </div>
            <div class="rk-dmg-btn" data-target="rozdzielacz">
                <div class="rk-dmg-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="9" x2="20" y2="9"></line><line x1="4" y1="15" x2="20" y2="15"></line><line x1="10" y1="3" x2="8" y2="21"></line><line x1="16" y1="3" x2="14" y2="21"></line></svg>
                </div>
                <div class="rk-dmg-name">Rozdzielacz</div>
            </div>
        </div>

        <div class="rk-dmg-display" id="dmgDisplay">
            </div>
    </div>

    <div class="rk-corr-theory">
        <p>
            Norma <strong>PN-EN 12828</strong> jednoznacznie definiuje maksymalne stężenie tlenu w wodzie grzewczej dla instalacji zamkniętych na poziomie <strong>0,1 mg/l</strong>. Przekroczenie tej wartości uruchamia destrukcyjny mechanizm powstawania czarnego szlamu.
        </p>

        <div class="rk-chem-box">
            <div class="rk-chem-row">
                1. Utlenianie: Fe + 2H₂O + O₂ ➔ Fe(OH)₂
                <span class="rk-chem-desc">Tlen wchodzi w reakcję z żelazem tworząc wodorotlenek żelaza.</span>
            </div>
            <div class="rk-chem-row">
                2. Formowanie szlamu: 3Fe(OH)₂ ➔ Fe₃O₄ + 2H₂O + H₂
                <span class="rk-chem-desc">Powstaje magnetyt (Fe₃O₄), czyli gęsty, czarny i ciężki osad.</span>
            </div>
        </div>

        <p>
            Konsekwencje braku bariery to nie tylko koszty, to również gigantyczny spadek komfortu. Jeśli ominiesz stosowanie <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstszych błędów montażowych</a> i wybierzesz szczelną rurę, uchronisz swój <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł gazowy</a> i układ hydrauliczny przed całkowitą degradacją w pierwszych latach użytkowania.
        </p>

        <div class="rk-author-footer">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" loading="lazy">
            <div class="rk-author-details">
                <strong>Robert Kucharski</strong>
                <span>Specjalista HVAC / Projekt-Ogrzewania.pl</span>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // Baza danych awarii
    const dmgDB = {
        wymiennik: {
            title: "Perforacja wymiennika ciepła",
            desc: "W kotłach kondensacyjnych szczeliny w wymiennikach ze stali nierdzewnej (lub Al-Si) mają często szerokość poniżej 1,5 mm. Szlam magnetytowy zatyka je w strefie najwyższych temperatur, powodując miejscowe przegrzanie materiału, naprężenia i pęknięcia.",
            cost: "~ 60% kotła",
            costLabel: "Szacowany koszt naprawy"
        },
        pompa: {
            title: "Zacieranie pompy (klasa A)",
            desc: "Nowoczesne pompy obiegowe (PWM) posiadają wirniki z magnesami trwałymi. Fizyka jest bezlitosna: magnes przyciąga drobiny magnetytu (rdzy) krążące w wodzie, co błyskawicznie prowadzi do zablokowania wirnika i spalenia elektroniki.",
            cost: "1500 - 2500 zł",
            costLabel: "Koszt nowej pompy + wymiana"
        },
        rozdzielacz: {
            title: "Blokada zaworów i rotametrów",
            desc: "Lepki szlam odkłada się na grzybkach zaworów termostatycznych oraz zalepia od wewnątrz szklanki przepływomierzy (rotametrów). Instalacja traci przepływy, a jakakolwiek regulacja hydrauliczna pętli staje się niemożliwa.",
            cost: "800 - 1500 zł",
            costLabel: "Płukanie + nowe rotametry"
        }
    };

    const buttons = document.querySelectorAll('.rk-dmg-btn');
    const display = document.getElementById('dmgDisplay');

    function renderDisplay(targetKey) {
        let data = dmgDB[targetKey];
        
        let html = `
            <div class="rk-dmg-info">
                <h3>${data.title}</h3>
                <p>${data.desc}</p>
            </div>
            <div class="rk-dmg-cost">
                <div class="rk-cost-label">${data.costLabel}</div>
                <div class="rk-cost-val">${data.cost}</div>
            </div>
        `;
        
        // Płynne wejście
        display.style.opacity = '0';
        
        setTimeout(function() {
            display.innerHTML = html;
            display.style.opacity = '1';
        }, 150);
    }

    // Inicjalizacja
    renderDisplay('wymiennik');
    display.style.transition = 'opacity 0.3s ease';

    // Obsługa kliknięć
    for (let i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            
            // Usunięcie active
            for (let j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active');
            }
            
            this.classList.add('active');
            let target = this.getAttribute('data-target');
            
            renderDisplay(target);
        });
    }
});
</script>



<ul class="wp-block-list"></ul>



<style>
:root {
    --rk-oxy-dark: #0f172a;
    --rk-oxy-blue: #0284c7;
    --rk-oxy-light: #f0f9ff;
    --rk-oxy-green: #10b981;
    --rk-oxy-green-light: #dcfce7;
    --rk-oxy-red: #ef4444;
    --rk-oxy-red-light: #fef2f2;
    --rk-oxy-rust: #9a3412; /* Kolor rdzy */
    --rk-oxy-gray: #64748b;
    --rk-oxy-border: #e2e8f0;
    --rk-oxy-bg: #ffffff;
}

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

/* Nagłówek Sekcji */
.rk-oxy-header {
    padding: 45px 50px 35px;
    background: #ffffff;
    color: var(--rk-oxy-dark);
    border-bottom: 1px solid var(--rk-oxy-border);
    position: relative;
}

.rk-oxy-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-oxy-light);
    color: var(--rk-oxy-blue);
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid #bae6fd;
}

.rk-oxy-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

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

/* Symulator Bilansu Masowego */
.rk-oxy-interactive {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-oxy-border);
}

.rk-oxy-panel {
    background: #ffffff;
    border: 1px solid var(--rk-oxy-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.rk-oxy-controls {
    margin-bottom: 35px;
    padding-bottom: 30px;
    border-bottom: 1px dashed var(--rk-oxy-border);
}

.rk-oxy-label-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 15px;
}

.rk-oxy-label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-oxy-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-oxy-val-display {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-oxy-blue);
}

.rk-oxy-slider {
    width: 100%;
    height: 10px;
    background: #e2e8f0;
    border-radius: 10px;
    outline: none;
    -webkit-appearance: none;
}

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

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

/* Porównanie Wyników */
.rk-oxy-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-oxy-card {
    border-radius: 16px;
    padding: 25px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s;
}

/* Karta: Brak EVOH (ZAGROŻENIE) */
.rk-oxy-card.danger {
    background: var(--rk-oxy-red-light);
    border: 2px solid #fca5a5;
}

.rk-oxy-card.danger .rk-oxy-card-title {
    color: var(--rk-oxy-red);
}

.rk-oxy-card.danger .rk-oxy-big-val {
    color: var(--rk-oxy-rust);
}

/* Karta: Z EVOH (BEZPIECZEŃSTWO) */
.rk-oxy-card.safe {
    background: var(--rk-oxy-green-light);
    border: 2px solid #6ee7b7;
}

.rk-oxy-card.safe .rk-oxy-card-title {
    color: #047857;
}

.rk-oxy-card.safe .rk-oxy-big-val {
    color: var(--rk-oxy-green);
}

.rk-oxy-card-title {
    font-size: 18px;
    font-weight: 900;
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-oxy-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.rk-oxy-stat:last-child {
    border-bottom: none;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 2px solid rgba(0,0,0,0.1);
}

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

.rk-oxy-stat-val {
    font-size: 16px;
    font-weight: 800;
}

.rk-oxy-big-val {
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
}

/* SVG W Karcie */
.rk-oxy-svg-bg {
    position: absolute;
    right: -20px;
    bottom: -20px;
    width: 120px;
    height: 120px;
    opacity: 0.1;
    pointer-events: none;
}

/* Teoria i Wnioski */
.rk-oxy-theory {
    padding: 40px 50px;
    background: #ffffff;
}

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

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

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

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

.rk-oxy-theory a:hover {
    color: #0369a1;
}

.rk-oxy-highlight-box {
    background: #fffbeb;
    border-left: 4px solid #f59e0b;
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
}

@media (max-width: 850px) {
    .rk-oxy-grid { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 600px) {
    .rk-oxy-header, .rk-oxy-interactive, .rk-oxy-theory { padding: 30px 20px; }
    .rk-oxy-header h2 { font-size: 26px; }
    .rk-oxy-panel { padding: 25px 20px; }
    .rk-oxy-label-row { flex-direction: column; align-items: flex-start; gap: 5px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-dyfuzja-tlenu",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Ile tlenu przenika do instalacji bez zabezpieczenia EVOH?",
    "description": "Bilans masowy dyfuzji tlenu w instalacjach podłogowych. Porównanie rur z barierą antydyfuzyjną i bez bariery w odniesieniu do normy DIN 4726 i powstawania szlamu (magnetytu).",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-bilans-dyfuzji",
    "name": "Bilans dyfuzji tlenu w instalacjach podłogowych (EVOH vs Brak EVOH)",
    "description": "Zestawienie ilości przenikającego tlenu (mg/dobę) przez ścianki rur PE-RT/PEX w zależności od obecności powłoki EVOH, z kalkulacją wagi wytrącającej się rdzy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dyfuzja tlenu w podłogówce",
      "norma DIN 4726 przenikalność tlenu",
      "jak powstaje szlam w instalacji",
      "rura bez bariery antydyfuzyjnej skutki",
      "inhibitory korozji do ogrzewania podłogowego"
    ],
    "measurementTechnique": "Kalkulacja przenikalności na podstawie wytycznych normy DIN 4726 i PN-EN ISO 21003, przy temperaturze roboczej zładu 35/30°C i założeniu 1.8 mg O2 / m / dobę.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wariant bez EVOH: przenikalność ok. 1.8 mg O2 / metr / dobę.",
        "Wariant z EVOH: przenikalność poniżej 0.015 mg O2 / metr / dobę.",
        "Reakcja chemiczna: ok. 657g tlenu gazowego utlenia i zamienia w szlam ok. 1.5 kg czystego żelaza."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-symulator-korozji",
    "name": "Symulator Korozji i Dyfuzji Tlenu w Ogrzewaniu Podłogowym",
    "description": "Interaktywny kalkulator generowania szlamu magnetytowego (rdzy). Symuluje procesy korozyjne w czasie rzeczywistym w zależności od metrażu budynku dla rur 16x2.0.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-oxy-container" id="rk-oxy-app">
    <div class="rk-oxy-header">
        <div class="rk-oxy-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
            Fizyka Instalacji
        </div>
        <h2>Ile tlenu przenika do instalacji bez zabezpieczenia EVOH?</h2>
        <p>
            Rura z tworzywa sztucznego pozbawiona powłoki EVOH przypomina gąbkę dla gazów. Przeanalizujmy precyzyjny bilans masowy dla standardowej rury polietylenowej 16x2.0 mm pracującej przy zasilaniu <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">z pompy ciepła</a> (35/30°C). Wybierz metraż swojego domu, by zobaczyć skalę problemu.
        </p>
    </div>

    <div class="rk-oxy-interactive">
        <div class="rk-oxy-panel">
            
            <div class="rk-oxy-controls">
                <div class="rk-oxy-label-row">
                    <span class="rk-oxy-label">Powierzchnia Twojego domu</span>
                    <span class="rk-oxy-val-display"><span id="rkHouseArea">150</span> m²</span>
                </div>
                <input type="range" id="rkAreaRange" class="rk-oxy-slider" min="50" max="350" step="10" value="150" aria-label="Wybierz powierzchnię">
            </div>

            <div class="rk-oxy-grid">
                
                <div class="rk-oxy-card danger">
                    <svg class="rk-oxy-svg-bg" viewBox="0 0 100 100" fill="none" stroke="currentColor" stroke-width="4">
                        <path d="M50 10 L10 90 L90 90 Z" stroke-linejoin="round"/>
                        <line x1="50" y1="40" x2="50" y2="60" stroke-linecap="round"/>
                        <circle cx="50" cy="75" r="4" fill="currentColor" stroke="none"/>
                    </svg>
                    <h3 class="rk-oxy-card-title">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                        Rura BEZ bariery
                    </h3>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Dobowe przenikanie O₂:</span>
                        <span class="rk-oxy-stat-val" style="color: var(--rk-oxy-red);"><span id="valO2DayDanger">1800</span> mg</span>
                    </div>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Roczny ładunek tlenu:</span>
                        <span class="rk-oxy-stat-val" style="color: var(--rk-oxy-red);"><span id="valO2YearDanger">657</span> g</span>
                    </div>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Wygenerowany szlam (Rdza):</span>
                        <span class="rk-oxy-big-val"><span id="valRust">1.50</span> kg</span>
                    </div>
                </div>

                <div class="rk-oxy-card safe">
                    <svg class="rk-oxy-svg-bg" viewBox="0 0 100 100" fill="none" stroke="currentColor" stroke-width="4">
                        <path d="M50 10 L10 25 L10 50 C10 75 40 90 50 95 C60 90 90 75 90 50 L90 25 Z" stroke-linejoin="round"/>
                        <polyline points="35 50 45 60 70 35" stroke-linecap="round" stroke-linejoin="round" />
                    </svg>
                    <h3 class="rk-oxy-card-title">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                        Rura z EVOH (Norma DIN)
                    </h3>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Dobowe przenikanie O₂:</span>
                        <span class="rk-oxy-stat-val" style="color: var(--rk-oxy-green);"><span id="valO2DaySafe">15</span> mg</span>
                    </div>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Roczny ładunek tlenu:</span>
                        <span class="rk-oxy-stat-val" style="color: var(--rk-oxy-green);"><span id="valO2YearSafe">5.5</span> g</span>
                    </div>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Wygenerowany szlam:</span>
                        <span class="rk-oxy-big-val">~0.00 kg</span>
                    </div>
                </div>

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

    <div class="rk-oxy-theory">
        <h3>Skutki chemiczne w Twojej kotłowni</h3>
        <p>
            Rura pozbawiona powłoki EVOH przepuszcza średnio od 1,5 do 3,6 mg tlenu na metr bieżący rury w ciągu doby. Zastosowanie rury z barierą antydyfuzyjną spełniającej normę <strong>DIN 4726</strong> redukuje tę wartość do poziomu poniżej 0,02 mg/(m·dobę).
        </p>
        
        

        <div class="rk-oxy-highlight-box">
            <strong>Co oznaczają wartości ze wskaźnika po lewej stronie?</strong><br>
            Ponad pół kilograma czystego gazowego tlenu (przy domu 150m²) wchodzi w gwałtowną reakcję chemiczną ze stalą i mosiądzem w zamkniętym układzie hydraulicznym. Taka ilość utlenia żelazo, tworząc twardy magnetyt. Wymienniki ciepła, które natrafią na taki roztwór, po prostu <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">zamulają instalację</a> i zacierają pompy obiegowe w ciągu zaledwie kilku lat eksploatacji.
        </div>

        <h3>Dlaczego powłoka EVOH rozwiązuje problem?</h3>
        <p>
            Ilość rzędu 5,47 grama tlenu na rok (wariant z zabezpieczeniem EVOH) jest zjawiskiem marginalnym. Jest ona w pełni wiązana przez standardowe <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">inhibitory korozji do ogrzewania podłogowego</a> dawkowane do wody instalacyjnej (np. w stężeniu zaledwie 1% objętości całego zładu) i nie stanowi absolutnie żadnego zagrożenia dla integralności strukturalnej najdroższych komponentów kotłowni.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkAreaRange');
    const areaDisplay = document.getElementById('rkHouseArea');
    
    // Pola Danger (Brak EVOH)
    const o2DayDanger = document.getElementById('valO2DayDanger');
    const o2YearDanger = document.getElementById('valO2YearDanger');
    const valRust = document.getElementById('valRust');

    // Pola Safe (EVOH)
    const o2DaySafe = document.getElementById('valO2DaySafe');
    const o2YearSafe = document.getElementById('valO2YearSafe');

    // Stałe przeliczeniowe
    // Srednie zużycie rury mb na m2 podłogówki = 6.67
    const ratioPipeLength = 6.67;
    
    // Przenikalność (mg / metr / dobę) wariantu A i B (temperatura ok 35C)
    const diffDangerMg = 1.8;
    const diffSafeMg = 0.015;

    // Współczynnik zamiany tlenu na szlam: 657g O2 -> 1.5kg rdzy (szlamu)
    // 1.5 / 657 = 0.002283 kg rdzy na każdy 1 gram tlenu rocznie
    const rustRatio = 0.002283;

    function calculateDiffusion() {
        let area = parseFloat(slider.value);
        areaDisplay.textContent = area;

        // Długość rur w metrach
        let length = area * ratioPipeLength;

        // WARIANT: BRAK EVOH
        let mgDayDanger = length * diffDangerMg;
        let gramYearDanger = (mgDayDanger * 365) / 1000;
        let rustKg = gramYearDanger * rustRatio;

        o2DayDanger.textContent = Math.round(mgDayDanger);
        o2YearDanger.textContent = Math.round(gramYearDanger);
        valRust.textContent = rustKg.toFixed(2);

        // WARIANT: Z EVOH
        let mgDaySafe = length * diffSafeMg;
        let gramYearSafe = (mgDaySafe * 365) / 1000;

        o2DaySafe.textContent = Math.round(mgDaySafe);
        o2YearSafe.textContent = gramYearSafe.toFixed(2);
    }

    // Unikamy zapisu if(a && b), choć w prostych kalkulacjach bez obiektów to bezpieczne.
    // Inicjalizacja:
    calculateDiffusion();

    // Nasłuch:
    slider.addEventListener('input', calculateDiffusion);
});
</script>



<style>
:root {
    --rk-comp-dark: #0f172a;
    --rk-comp-blue: #0284c7;
    --rk-comp-light: #f0f9ff;
    --rk-comp-accent: #0ea5e9;
    --rk-comp-green: #10b981;
    --rk-comp-orange: #f59e0b;
    --rk-comp-red: #ef4444;
    --rk-comp-gray: #64748b;
    --rk-comp-border: #e2e8f0;
    --rk-comp-bg: #ffffff;
}

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

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

.rk-comp-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 4px;
    background: var(--rk-comp-blue);
}

.rk-comp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-comp-light);
    color: var(--rk-comp-blue);
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid #bae6fd;
}

.rk-comp-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

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

/* Interaktywny Selektor Rur */
.rk-comp-interactive {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-pipe-selector {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 35px;
}

.rk-pipe-btn {
    background: #f1f5f9;
    border: 2px solid transparent;
    border-radius: 16px;
    padding: 20px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.rk-pipe-btn:hover {
    background: #e2e8f0;
    transform: translateY(-2px);
}

.rk-pipe-btn.active {
    background: var(--rk-comp-light);
    border-color: var(--rk-comp-blue);
    box-shadow: 0 10px 20px -10px rgba(2, 132, 199, 0.2);
}

.rk-pipe-icon {
    width: 40px;
    height: 40px;
    margin: 0 auto 10px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: var(--rk-comp-gray);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    transition: all 0.3s;
}

.rk-pipe-btn.active .rk-pipe-icon {
    color: var(--rk-comp-blue);
}

.rk-pipe-name {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-comp-dark);
}

/* Kafelki z Danymi (Zamiast Tabeli) */
.rk-pipe-data-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    animation: rkFadeIn 0.4s ease-out;
}

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

.rk-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.rk-data-card::after {
    content: '';
    position: absolute;
    bottom: 0; right: 0;
    width: 60px; height: 60px;
    background: var(--rk-comp-light);
    border-radius: 100% 0 0 0;
    z-index: 0;
    opacity: 0.5;
}

.rk-data-label {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rk-comp-gray);
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
}

.rk-data-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-comp-dark);
    position: relative;
    z-index: 1;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.rk-data-unit {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-comp-blue);
}

/* Znaczniki Kolorystyczne dla kart */
.status-high { color: var(--rk-comp-green); }
.status-mid { color: var(--rk-comp-orange); }
.status-low { color: var(--rk-comp-red); }

/* Pro Tip Cytat */
.rk-pro-tip-box {
    margin: 40px 50px;
    padding: 35px 40px;
    background: var(--rk-comp-dark);
    border-radius: 20px;
    color: #ffffff;
    position: relative;
    display: flex;
    gap: 25px;
    align-items: flex-start;
    box-shadow: 0 15px 30px -10px rgba(15, 23, 42, 0.3);
}

.rk-pro-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-comp-accent);
}

.rk-pro-content h4 {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 900;
    color: #7dd3fc;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-pro-content p {
    margin: 0 0 20px 0;
    font-size: 16px;
    line-height: 1.7;
    color: #e2e8f0;
}

.rk-pro-author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-pro-author-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #cbd5e1;
    overflow: hidden;
    border: 2px solid var(--rk-comp-accent);
}

.rk-pro-author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rk-pro-author-name {
    font-size: 15px;
    font-weight: 800;
    color: #ffffff;
}

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

@media (max-width: 850px) {
    .rk-pipe-selector { grid-template-columns: repeat(2, 1fr); }
    .rk-pipe-data-grid { grid-template-columns: repeat(2, 1fr); }
    .rk-pro-tip-box { flex-direction: column; padding: 30px; gap: 20px; }
}

@media (max-width: 600px) {
    .rk-comp-header, .rk-comp-interactive { padding: 30px 20px; }
    .rk-pipe-selector { grid-template-columns: 1fr; gap: 10px; }
    .rk-pipe-btn { display: flex; align-items: center; justify-content: flex-start; gap: 15px; padding: 15px; }
    .rk-pipe-icon { margin: 0; }
    .rk-pipe-data-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-pro-tip-box { margin: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-porownanie-rur",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Porównanie rur grzewczych: PEX-EVOH vs PE-RT-EVOH vs PB",
    "description": "Szczegółowe porównanie parametrów pracy ciągłej rur grzewczych. Analiza współczynników przewodzenia ciepła, promieni gięcia oraz odporności na błędy montażowe.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-parametry-rur",
    "name": "Zestawienie parametrów technicznych rur do ogrzewania podłogowego (PEX, PE-RT, PB)",
    "description": "Baza danych porównująca rury sieciowane i niesieciowane pod kątem klas roboczych, promieni gięcia, norm (PN-EN ISO 15875 / PN-EN ISO 22391) oraz termicznej pamięci kształtu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "porównanie rur grzewczych",
      "rura pex czy pert opinie",
      "promień gięcia rury pex 16",
      "wytrzymałość rur do ogrzewania podłogowego",
      "termiczna pamięć kształtu rury pex",
      "rura polibutylenowa właściwości"
    ],
    "measurementTechnique": "Weryfikacja maksymalnych parametrów pracy ciągłej (Tmax, ciśnienie) z normami PN-EN ISO 15875 i 22391 oraz pomiar współczynnika lambda W/(m·K).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura PEX-a EVOH: Lambda 0,38-0,41, Temp 90°C, Gięcie 5xD, Odporność wysoka (pamięć kształtu).",
        "Rura PE-RT EVOH: Lambda 0,40-0,42, Temp 70°C, Gięcie 5xD, Odporność niska (ryzyko trwałego załamania).",
        "Praktyka HVAC: Uszkodzony PEX-a można podgrzać opalarką do 130°C w celu regeneracji profilu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-selektor-rur",
    "name": "Interaktywny Selektor Rury Grzewczej",
    "description": "Narzędzie pozwalające na dynamiczne analizowanie kart charakterystyki rur grzewczych, podmieniające parametry robocze (ciśnienie, temperatura, lambda).",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-container" id="rk-comp-app">
    <div class="rk-comp-header">
        <div class="rk-comp-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line></svg>
            Analiza Materiałowa
        </div>
        <h2>Porównanie rur grzewczych: PEX-EVOH vs PE-RT-EVOH vs PB</h2>
        <p>
            Wybór konkretnego typu rury determinuje maksymalne parametry pracy ciągłej (ciśnienie do 6 bar lub 10 bar) oraz bezpieczny promień gięcia (od 5xD do 8xD). Wszystkie parametry muszą być weryfikowane pod kątem zgodności z normą <a href="https://projekt-ogrzewania.pl/norma-en-iso-15875/">PN-EN ISO 15875</a> (dla PEX) lub PN-EN ISO 22391 (dla PE-RT). Kliknij wybrany przewód, aby poznać jego parametry.
        </p>
    </div>

    <div class="rk-comp-interactive">
        
        <div class="rk-pipe-selector" id="pipeSelector">
            <div class="rk-pipe-btn active" data-pipe="pexa">
                <div class="rk-pipe-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v8"></path><path d="M8 12h8"></path></svg>
                </div>
                <div class="rk-pipe-name">PEX-a EVOH</div>
            </div>
            
            <div class="rk-pipe-btn" data-pipe="pexb">
                <div class="rk-pipe-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                </div>
                <div class="rk-pipe-name">PEX-b EVOH</div>
            </div>

            <div class="rk-pipe-btn" data-pipe="pert">
                <div class="rk-pipe-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                </div>
                <div class="rk-pipe-name">PE-RT Typ II</div>
            </div>

            <div class="rk-pipe-btn" data-pipe="pb">
                <div class="rk-pipe-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z"></path><line x1="16" y1="8" x2="2" y2="22"></line><line x1="17.5" y1="15" x2="9" y2="6.5"></line></svg>
                </div>
                <div class="rk-pipe-name">Polibutylen PB</div>
            </div>
        </div>

        <div class="rk-pipe-data-grid" id="pipeDataGrid">
            </div>

    </div>

    <div class="rk-pro-tip-box">
        <div class="rk-pro-icon">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
        </div>
        <div class="rk-pro-content">
            <h4>Ważna uwaga z praktyki instalacyjnej</h4>
            <p>
                Rura PEX-a EVOH posiada tzw. termiczną pamięć kształtu. Jeśli podczas <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/">profilowania zakrętu meandrowego</a> instalator załamie rurę, uszkodzone miejsce wystarczy podgrzać opalarką do temperatury około 130°C (aż tworzywo stanie się przezroczyste). Rura powróci do pierwotnego przekroju bez utraty wytrzymałości ciśnieniowej. W przypadku rury PE-RT takie załamanie kwalifikuje odcinek do wycięcia i wyrzucenia – nie wolno go regenerować ani zalewać betonem.
            </p>
            <div class="rk-pro-author">
                <div class="rk-pro-author-avatar">
                    <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" width="40" height="40" loading="lazy">
                </div>
                <div>
                    <div class="rk-pro-author-name">Robert Kucharski</div>
                    <div class="rk-pro-author-role">Specjalista HVAC / Projekt-Ogrzewania.pl</div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // Dane dla poszczególnych rur
    const pipeDB = {
        pexa: {
            lambda: { val: "0,38 - 0,41", unit: "W/(m·K)" },
            temp: { val: "90°C", unit: "Klasa 5" },
            radius: { val: "5xD", unit: "Pamięć kształtu" },
            crosslink: { val: "&ge; 70%", unit: "Nadtlenkowe" },
            pressure: { val: "10 bar", unit: "przy 50°C" },
            errorRes: { val: "Wysoka", unit: "Możliwość regeneracji", status: "status-high" }
        },
        pexb: {
            lambda: { val: "0,35 - 0,39", unit: "W/(m·K)" },
            temp: { val: "90°C", unit: "Klasa 5" },
            radius: { val: "6xD", unit: "Sztywniejsza" },
            crosslink: { val: "&ge; 65%", unit: "Silanowe" },
            pressure: { val: "10 bar", unit: "przy 50°C" },
            errorRes: { val: "Średnia", unit: "Wymaga ostrożności", status: "status-mid" }
        },
        pert: {
            lambda: { val: "0,40 - 0,42", unit: "W/(m·K)" },
            temp: { val: "70°C", unit: "Klasa 4" },
            radius: { val: "5xD", unit: "Elastyczna" },
            crosslink: { val: "0%", unit: "Brak sieciowania" },
            pressure: { val: "6 bar", unit: "przy 50°C" },
            errorRes: { val: "Niska", unit: "Ryzyko załamania", status: "status-low" }
        },
        pb: {
            lambda: { val: "0,22", unit: "W/(m·K)" },
            temp: { val: "70°C", unit: "Klasa 4" },
            radius: { val: "4xD", unit: "B. elastyczna" },
            crosslink: { val: "0%", unit: "Liniowa struktura" },
            pressure: { val: "10 bar", unit: "przy 50°C" },
            errorRes: { val: "Wysoka", unit: "Bezpieczna instalacja", status: "status-high" }
        }
    };

    const buttons = document.querySelectorAll('.rk-pipe-btn');
    const dataGrid = document.getElementById('pipeDataGrid');

    function renderCards(pipeKey) {
        let data = pipeDB[pipeKey];
        
        let html = `
            <div class="rk-data-card">
                <div class="rk-data-label">Przewodzenie ciepła λ</div>
                <div class="rk-data-value">${data.lambda.val} <span class="rk-data-unit">${data.lambda.unit}</span></div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-label">Max. Temp. Ciągła</div>
                <div class="rk-data-value">${data.temp.val} <span class="rk-data-unit">${data.temp.unit}</span></div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-label">Wytrzymałość (Ciśnienie)</div>
                <div class="rk-data-value">${data.pressure.val} <span class="rk-data-unit">${data.pressure.unit}</span></div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-label">Promień Gięcia (Rmin)</div>
                <div class="rk-data-value">${data.radius.val} <span class="rk-data-unit">${data.radius.unit}</span></div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-label">Stopień Sieciowania</div>
                <div class="rk-data-value">${data.crosslink.val} <span class="rk-data-unit">${data.crosslink.unit}</span></div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-label">Odporność na Błędy</div>
                <div class="rk-data-value ${data.errorRes.status}">${data.errorRes.val} <span class="rk-data-unit" style="color: inherit;">${data.errorRes.unit}</span></div>
            </div>
        `;

        // Restart animacji
        dataGrid.style.animation = 'none';
        dataGrid.offsetHeight; // trigger reflow (bezpieczny zapis w JS)
        dataGrid.style.animation = null;
        
        dataGrid.innerHTML = html;
    }

    // Inicjalizacja pierwszej rury
    renderCards('pexa');

    // Obsługa kliknięć (Zastępuje pętle i złożone && bezpieczniejszymi konstrukcjami)
    for (let i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            
            // Usunięcie active ze wszystkich
            for (let j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active');
            }
            
            // Dodanie active
            this.classList.add('active');
            
            let selectedPipe = this.getAttribute('data-pipe');
            renderCards(selectedPipe);
        });
    }
});
</script>



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

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

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

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

.rk-hyd-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
    color: #ffffff;
}

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

/* Kalkulator Interaktywny */
.rk-hyd-app {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-hyd-border);
}

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

/* Kontrolki (Suwaki i Switche) */
.rk-hyd-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-hyd-control-group {
    background: var(--rk-hyd-light);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid #bae6fd;
}

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

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

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

.rk-hyd-slider {
    width: 100%;
    height: 8px;
    background: #cbd5e1;
    border-radius: 8px;
    outline: none;
    -webkit-appearance: none;
}

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

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

/* Przełącznik Źródła Ciepła */
.rk-hyd-switch-wrapper {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 4px;
    position: relative;
}

.rk-hyd-switch-btn {
    flex: 1;
    padding: 10px;
    text-align: center;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-hyd-gray);
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s;
    z-index: 2;
}

.rk-hyd-switch-btn.active {
    color: #ffffff;
}

.rk-hyd-switch-bg {
    position: absolute;
    top: 4px;
    bottom: 4px;
    width: calc(50% - 4px);
    background: var(--rk-hyd-blue);
    border-radius: 8px;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 8px rgba(2, 132, 199, 0.4);
    z-index: 1;
}

.switch-pos-right .rk-hyd-switch-bg {
    transform: translateX(100%);
}

/* Wyniki (Odczyty) */
.rk-hyd-outputs {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-hyd-out-card {
    background: #ffffff;
    border: 2px solid var(--rk-hyd-border);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: all 0.3s;
}

.rk-hyd-out-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    background: var(--rk-hyd-light);
    color: var(--rk-hyd-blue);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-hyd-out-data {
    flex-grow: 1;
}

.rk-hyd-out-name {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-hyd-gray);
    text-transform: uppercase;
    margin-bottom: 4px;
}

.rk-hyd-out-value {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-hyd-dark);
}

.rk-hyd-out-unit {
    font-size: 16px;
    color: var(--rk-hyd-gray);
    font-weight: 700;
}

/* Dynamiczne kolory wyników */
.status-ok { border-color: var(--rk-hyd-green); }
.status-ok .rk-hyd-out-icon { background: #dcfce7; color: var(--rk-hyd-green); }
.status-ok .rk-hyd-out-value { color: var(--rk-hyd-green); }

.status-warn { border-color: var(--rk-hyd-red); }
.status-warn .rk-hyd-out-icon { background: #fef2f2; color: var(--rk-hyd-red); }
.status-warn .rk-hyd-out-value { color: var(--rk-hyd-red); }

/* Treść Teoretyczna */
.rk-hyd-theory {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-hyd-step {
    margin-bottom: 35px;
}

.rk-hyd-step:last-child {
    margin-bottom: 0;
}

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

.rk-hyd-step-num {
    width: 36px;
    height: 36px;
    background: var(--rk-hyd-blue);
    color: #ffffff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 900;
}

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

.rk-hyd-theory p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 15px 0;
    padding-left: 51px;
}

.rk-hyd-formula-box {
    background: #f1f5f9;
    border-left: 4px solid var(--rk-hyd-blue);
    padding: 15px 20px;
    margin: 15px 0 15px 51px;
    border-radius: 0 12px 12px 0;
    font-family: monospace;
    font-size: 16px;
    color: var(--rk-hyd-dark);
    font-weight: 700;
    overflow-x: auto;
}

.rk-hyd-theory ul {
    margin: 0 0 15px 51px;
    padding-left: 20px;
    color: #475569;
    line-height: 1.7;
}

.rk-hyd-theory li {
    margin-bottom: 5px;
}

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

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

.rk-hyd-theory a:hover {
    color: #0369a1;
}

@media (max-width: 850px) {
    .rk-hyd-dashboard { grid-template-columns: 1fr; gap: 30px; }
}

@media (max-width: 600px) {
    .rk-hyd-header, .rk-hyd-app, .rk-hyd-theory { padding: 30px 20px; }
    .rk-hyd-header h2 { font-size: 26px; }
    .rk-hyd-theory p, .rk-hyd-formula-box, .rk-hyd-theory ul { padding-left: 0; margin-left: 0; }
    .rk-hyd-step-header { flex-direction: column; align-items: flex-start; gap: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-hydraulika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Algorytm obliczania hydrauliki i strat ciśnienia dla pętli z rurą EVOH",
    "description": "Profesjonalne wzory inżynierskie i narzędzie obliczeniowe dla ogrzewania podłogowego. Oblicz strumień masy, prędkość przepływu i liniową stratę ciśnienia.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-tablice-hydrauliczne",
    "name": "Tablice hydrauliczne i opory ciśnienia dla rur PEX/EVOH 16x2.0",
    "description": "Zestawienie zależności między przepływem (l/min), prędkością (m/s) a oporem liniowym (Pa/m) uwzględniające opory miejscowe i gęstość wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "algorytm obliczania hydrauliki podłogówki",
      "straty ciśnienia w rurach pex",
      "jak obliczyć przepływ wody w podłogówce",
      "prędkość przepływu w rurach ogrzewania",
      "opory miejscowe w instalacji podłogowej",
      "równoważenie rozdzielacza rotametrami",
      "wzór na strumień masy wody",
      "kalkulator przepływu ogrzewania podłogowego"
    ],
    "measurementTechnique": "Wykorzystanie równania ciągłości strugi oraz uproszczonego wzoru Darcy-Weisbacha dla chropowatości bezwzględnej 0,007 mm.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalna prędkość przepływu: 0,25 - 0,60 m/s dla skutecznego odpowietrzania i braku szumów.",
        "Maksymalny zalecany opór pętli: poniżej 20 kPa.",
        "Naddatek na opory miejscowe (np. łuki, rozdzielacz): +20% do oporu liniowego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-kalkulator-hydrauliczny",
    "name": "Kalkulator Hydrauliki i Strat Ciśnienia Pętli Grzewczej",
    "description": "Zaawansowane narzędzie inżynierskie online symulujące przepływ, prędkość wody i opory hydrauliczne na podstawie mocy pokoju i długości pętli rury 16x2.0.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-hyd-container" id="rk-hyd-app">
    <div class="rk-hyd-header">
        <div class="rk-hyd-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
            Narzędzie Inżynierskie
        </div>
        <h2>Algorytm obliczania hydrauliki i strat ciśnienia dla pętli z rurą EVOH</h2>
        <p>
            Aby prawidłowo dobrać pompę obiegową i zrównoważyć rozdzielacz, należy obliczyć całkowitą stratę ciśnienia pętli grzewczej. Użyj poniższego symulatora, aby wykonać obliczenia w czasie rzeczywistym.
        </p>
    </div>

    <div class="rk-hyd-app">
        <div class="rk-hyd-dashboard">
            <div class="rk-hyd-controls">
                
                <div class="rk-hyd-control-group">
                    <div class="rk-hyd-label-row">
                        <span class="rk-hyd-label">Moc cieplna pokoju (Q)</span>
                        <span class="rk-hyd-val-display"><span id="valPower">1200</span> W</span>
                    </div>
                    <input type="range" id="sliderPower" class="rk-hyd-slider" min="300" max="2500" step="50" value="1200">
                </div>

                <div class="rk-hyd-control-group">
                    <div class="rk-hyd-label-row">
                        <span class="rk-hyd-label">Długość pętli rury 16x2.0 (L)</span>
                        <span class="rk-hyd-val-display"><span id="valLen">100</span> m</span>
                    </div>
                    <input type="range" id="sliderLen" class="rk-hyd-slider" min="40" max="150" step="5" value="100">
                </div>

                <div class="rk-hyd-control-group">
                    <div class="rk-hyd-label-row">
                        <span class="rk-hyd-label">Parametr ΔT (Źródło)</span>
                    </div>
                    <div class="rk-hyd-switch-wrapper" id="sourceSwitch">
                        <div class="rk-hyd-switch-bg"></div>
                        <div class="rk-hyd-switch-btn active" data-dt="5">Pompa Ciepła (5K)</div>
                        <div class="rk-hyd-switch-btn" data-dt="10">Kocioł Gazowy (10K)</div>
                    </div>
                </div>

            </div>

            <div class="rk-hyd-outputs">
                
                <div class="rk-hyd-out-card">
                    <div class="rk-hyd-out-icon">
                        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"></path><path d="m17 5-5-3-5 3"></path><path d="m19 19-7 3-7-3"></path></svg>
                    </div>
                    <div class="rk-hyd-out-data">
                        <div class="rk-hyd-out-name">Wymagany przepływ</div>
                        <div><span class="rk-hyd-out-value" id="resFlow">3.44</span> <span class="rk-hyd-out-unit">l/min</span></div>
                    </div>
                </div>

                <div class="rk-hyd-out-card" id="cardSpeed">
                    <div class="rk-hyd-out-icon">
                        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    </div>
                    <div class="rk-hyd-out-data">
                        <div class="rk-hyd-out-name">Prędkość wody</div>
                        <div><span class="rk-hyd-out-value" id="resSpeed">0.51</span> <span class="rk-hyd-out-unit">m/s</span></div>
                    </div>
                </div>

                <div class="rk-hyd-out-card" id="cardPress">
                    <div class="rk-hyd-out-icon">
                        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z"></path><path d="M12 18a6 6 0 1 0 0-12 6 6 0 0 0 0 12z"></path><path d="M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"></path></svg>
                    </div>
                    <div class="rk-hyd-out-data">
                        <div class="rk-hyd-out-name">Całkowity opór pętli</div>
                        <div><span class="rk-hyd-out-value" id="resPress">17.4</span> <span class="rk-hyd-out-unit">kPa</span></div>
                    </div>
                </div>

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

    <div class="rk-hyd-theory">
        <div class="rk-hyd-step">
            <div class="rk-hyd-step-header">
                <div class="rk-hyd-step-num">1</div>
                <h3>Obliczenie projektowego strumienia masy wody (m)</h3>
            </div>
            <p>
                Wzór bazuje na zapotrzebowaniu na moc cieplną pętli (Q) oraz założonym spadku temperatury (ΔT = T zasilania - T powrotu):
            </p>
            <div class="rk-hyd-formula-box">
                m = Q / (cw · ΔT)
            </div>
            <ul>
                <li><strong>m</strong> – strumień masy [kg/s]</li>
                <li><strong>Q</strong> – moc cieplna pętli [W] (wyznaczona z obliczeń OZC dla danego pokoju)</li>
                <li><strong>cw</strong> – ciepło właściwe wody = 4186 J/(kg·K)</li>
                <li><strong>ΔT</strong> – schłodzenie wody w pętli (dla pomp ciepła przyjmuje się rygorystycznie 5 K, dla kotłów gazowych 10 K)</li>
            </ul>
        </div>

        <div class="rk-hyd-step">
            <div class="rk-hyd-step-header">
                <div class="rk-hyd-step-num">2</div>
                <h3>Wyznaczenie prędkości przepływu wody (v)</h3>
            </div>
            <p>
                Prędkość w rurze o średnicy wewnętrznej d_w (dla rury 16x2.0 mm, d_w = 12 mm = 0.012 m):
            </p>
            <div class="rk-hyd-formula-box">
                v = (4 · m) / (ρ · π · d_w²)
            </div>
            <ul>
                <li><strong>ρ</strong> – gęstość wody w temp. 35°C ≈ 994 kg/m³</li>
            </ul>
            <p>
                Prędkość musi mieścić się w optymalnym przedziale projektowym <strong>0.25 - 0.60 m/s</strong>. Gwarantuje to skuteczne odpowietrzanie pętli (porywanie pęcherzyków do odpowietrzników na <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielaczu do podłogówki</a>) przy jednoczesnym braku szumów w instalacji.
            </p>
        </div>

        <div class="rk-hyd-step">
            <div class="rk-hyd-step-header">
                <div class="rk-hyd-step-num">3</div>
                <h3>Obliczenie liniowej straty ciśnienia (Δpl)</h3>
            </div>
            <p>
                Wykorzystujemy uproszczony wzór Darcy-Weisbacha dla rur z tworzyw sztucznych o niskiej chropowatości bezwzględnej (k = 0.007 mm):
            </p>
            <div class="rk-hyd-formula-box">
                Δpl = R · L
            </div>
            <p>
                Gdzie <strong>R</strong> to jednostkowy opór liniowy odczytany z tablic hydraulicznych (Pa/m), a <strong>L</strong> to fizyczna długość pętli w metrach.
            </p>
        </div>

        <div class="rk-hyd-step">
            <div class="rk-hyd-step-header">
                <div class="rk-hyd-step-num">4</div>
                <h3>Uwzględnienie oporów miejscowych (Δpz)</h3>
            </div>
            <p>
                Opory miejscowe (łuki 180° przy układaniu w ślimak, gęste meandrowanie, podejścia pod rozdzielacz) generują dodatkowe straty. W projektowaniu inżynierskim przyjmuje się zryczałtowany <strong>naddatek 20% na opory miejscowe</strong>:
            </p>
            <div class="rk-hyd-formula-box">
                Δp całkowite = Δpl · 1.20
            </div>
            <p>
                Wartość całkowita określa punkt pracy dla doboru <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej w instalacji ogrzewania podłogowego</a>. Następnie każda krótsza pętla musi zostać zdławiona na rotometrze, aby zrównać swój opór z wartością pętli najdłuższej.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const sliderPower = document.getElementById('sliderPower');
    const sliderLen = document.getElementById('sliderLen');
    const valPower = document.getElementById('valPower');
    const valLen = document.getElementById('valLen');
    
    const switchBtns = document.querySelectorAll('.rk-hyd-switch-btn');
    const switchWrapper = document.getElementById('sourceSwitch');
    let currentDeltaT = 5;

    const resFlow = document.getElementById('resFlow');
    const resSpeed = document.getElementById('resSpeed');
    const resPress = document.getElementById('resPress');
    
    const cardSpeed = document.getElementById('cardSpeed');
    const cardPress = document.getElementById('cardPress');

    // Funkcja zabezpieczająca logikę - unikamy operatora '&&'
    function isBetween(val, min, max) {
        let ok = false;
        if (val >= min) {
            if (val <= max) {
                ok = true;
            }
        }
        return ok;
    }

    function calculateHydraulics() {
        let q = parseFloat(sliderPower.value);
        let len = parseFloat(sliderLen.value);
        
        valPower.textContent = q;
        valLen.textContent = len;

        // Stałe inżynierskie
        let cw = 4186; // J/(kg*K)
        let rho = 994; // kg/m3 (dla wody 35C)
        let dw = 0.012; // 12mm średnica wew. (rura 16x2.0)

        // 1. Strumień masy [kg/s]
        let m = q / (cw * currentDeltaT);

        // Przepływ w [l/min] (1 kg ~ 1 litr)
        let flowLmin = m * 60.36; // 60000 / 994 (zamiana na minuty i litry)
        
        // 2. Prędkość wody [m/s]
        let pi = 3.14159;
        let area = pi * Math.pow((dw / 2), 2);
        let volumeFlow = m / rho; // m3/s
        let speed = volumeFlow / area;

        // 3 i 4. Strata ciśnienia (Uproszczenie oparte na tablicach: 3.44 l/min -> 145 Pa/m)
        // R skaluje się w przybliżeniu wykładniczo z przepływem dla rur gładkich (v^1.75)
        let R = 145 * Math.pow((flowLmin / 3.44), 1.75); 
        
        // Calkowita strata ciśnienia [kPa] z dodatkiem 20%
        let pressLossKpa = (R * len / 1000) * 1.20;

        // Aktualizacja DOM
        resFlow.textContent = flowLmin.toFixed(2);
        resSpeed.textContent = speed.toFixed(2);
        resPress.textContent = pressLossKpa.toFixed(1);

        // Walidacja Prędkości (0.25 - 0.6 m/s)
        if (isBetween(speed, 0.25, 0.60)) {
            cardSpeed.className = 'rk-hyd-out-card status-ok';
        } else {
            cardSpeed.className = 'rk-hyd-out-card status-warn';
        }

        // Walidacja Ciśnienia (poniżej 20 kPa jest super, powyżej 25 kPa duży problem)
        let pressOk = false;
        if (pressLossKpa <= 25) {
            pressOk = true;
        }

        if (pressOk) {
            cardPress.className = 'rk-hyd-out-card status-ok';
        } else {
            cardPress.className = 'rk-hyd-out-card status-warn';
        }
    }

    // Eventy na suwaki
    sliderPower.addEventListener('input', calculateHydraulics);
    sliderLen.addEventListener('input', calculateHydraulics);

    // Eventy na przełącznik Delta T
    for (let i = 0; i < switchBtns.length; i++) {
        switchBtns[i].addEventListener('click', function() {
            // Czyszczenie klas
            for (let j = 0; j < switchBtns.length; j++) {
                switchBtns[j].classList.remove('active');
            }
            this.classList.add('active');
            
            // Animacja tła i zmiana wartości
            currentDeltaT = parseFloat(this.getAttribute('data-dt'));
            if (currentDeltaT === 10) {
                switchWrapper.classList.add('switch-pos-right');
            } else {
                switchWrapper.classList.remove('switch-pos-right');
            }
            
            calculateHydraulics();
        });
    }

    // Init
    calculateHydraulics();
});
</script>



<style>
:root {
    --rk-ozc-dark: #0f172a;
    --rk-ozc-blue: #0284c7;
    --rk-ozc-light-blue: #f0f9ff;
    --rk-ozc-accent: #0ea5e9;
    --rk-ozc-green: #10b981;
    --rk-ozc-gray: #64748b;
    --rk-ozc-border: #e2e8f0;
    --rk-ozc-bg: #ffffff;
    --rk-ozc-cta: #f59e0b;
}

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

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

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

.rk-ozc-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
    color: #ffffff;
}

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

/* Sekcja Interaktywna - Symulator Zładu */
.rk-ozc-interactive {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-ozc-border);
}

.rk-ozc-calc-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-ozc-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
}

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

.rk-ozc-calc-title svg {
    color: var(--rk-ozc-blue);
}

/* Slider Controls */
.rk-slider-container {
    margin-bottom: 30px;
}

.rk-slider-label {
    display: flex;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-ozc-gray);
    margin-bottom: 15px;
}

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

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

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

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

/* Wyniki Grid */
.rk-ozc-results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-ozc-result-box {
    background: var(--rk-ozc-light-blue);
    border: 1px solid #bae6fd;
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-ozc-result-box::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 4px;
    background: var(--rk-ozc-accent);
}

.rk-ozc-result-box:nth-child(2)::before { background: var(--rk-ozc-blue); }
.rk-ozc-result-box:nth-child(3)::before { background: var(--rk-ozc-green); }

.rk-ozc-res-label {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-ozc-gray);
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.rk-ozc-res-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-ozc-dark);
    margin-bottom: 5px;
}

.rk-ozc-res-unit {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-ozc-blue);
}

/* Content Sekcja */
.rk-ozc-content {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-ozc-diagram-flow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--rk-ozc-dark);
    padding: 20px 30px;
    border-radius: 16px;
    color: #ffffff;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 40px;
    overflow-x: auto;
}

.rk-ozc-flow-step {
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.rk-ozc-flow-arrow {
    color: var(--rk-ozc-accent);
}

.rk-ozc-content h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-ozc-dark);
    margin: 35px 0 15px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-ozc-content h3:first-of-type { margin-top: 0; }

.rk-ozc-content h3::before {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230284c7' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center;
}

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

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

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

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

/* CTA Creative */
.rk-ozc-cta {
    padding: 50px;
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-ozc-cta::before {
    content: '';
    position: absolute;
    top: -50%; left: -10%; width: 50%; height: 200%;
    background: rgba(255,255,255,0.05);
    transform: rotate(15deg);
    pointer-events: none;
}

.rk-ozc-cta h3 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    position: relative;
}

.rk-ozc-cta p {
    font-size: 17px;
    color: #e0f2fe;
    margin: 0 auto 35px auto;
    max-width: 650px;
    line-height: 1.6;
    position: relative;
}

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background: var(--rk-ozc-cta);
    color: #ffffff;
    font-size: 19px;
    font-weight: 900;
    padding: 22px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    border: 2px solid transparent;
}

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

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

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

@media (max-width: 850px) {
    .rk-ozc-results-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-ozc-diagram-flow { flex-direction: column; align-items: flex-start; gap: 15px; padding: 25px; }
    .rk-ozc-flow-arrow { transform: rotate(90deg); margin-left: 20px; }
}

@media (max-width: 600px) {
    .rk-ozc-header, .rk-ozc-interactive, .rk-ozc-content, .rk-ozc-cta { padding: 30px 20px; }
    .rk-ozc-header h2 { font-size: 26px; }
    .rk-btn-massive { width: 100%; padding: 20px; font-size: 16px; flex-direction: column; gap: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-ozc-wplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Jak obecność powłoki EVOH wpływa na projekt ogrzewania podłogowego?",
    "description": "Techniczna analiza wpływu rury EVOH na parametry algorytmów CAD/OZC, dobór naczynia wzbiorczego (0,113 l/m) oraz obniżenie krzywej grzewczej przy rekuperacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-parametry-ozc",
    "name": "Parametry Projektowe i Zład Wody dla Rur EVOH",
    "description": "Baza danych wejściowych do programów Audytor OZC / InstalSystem dla rur 16x2.0 EVOH. Zład wody: 0,113 litra/mb. Opór sekcji: max 20 kPa.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego",
      "obliczeniowe zapotrzebowanie na ciepło ozc",
      "zład wody w podłogówce",
      "dobór naczynia wzbiorczego",
      "rekuperacja a ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Normatywne obliczenia długości pętli (max 120m), spadków ciśnień hydraulicznych oraz pojemności buforowej zgodnie z PN-B-02414.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przewodność rury EVOH (lambda) = 0,41 W/(m·K).",
        "Pojemność wodna rury 16x2.0 = 0,113 l/m.",
        "Obniżenie temperatury zasilania o 2-3°C przy jednoczesnym zastosowaniu rekuperacji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-kalkulator-zladu",
    "name": "Kalkulator Zładu Wody i Parametrów OZC",
    "description": "Interaktywny kalkulator przeliczający powierzchnię budynku na całkowitą długość rur grzewczych, pojemność wodną instalacji oraz wielkość naczynia wzbiorczego.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-ozc-container" id="rk-ozc-app">
    <div class="rk-ozc-header">
        <div class="rk-ozc-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            Algorytmy Projektowe
        </div>
        <h2>Jak obecność powłoki EVOH wpływa na projekt ogrzewania podłogowego?</h2>
        <p>
            Wdrożenie rury z barierą EVOH to nie tylko wybór materiału. To zmiana parametrów wejściowych algorytmów w programach klasy CAD/OZC (np. InstalSystem, Audytor OZC). Projektant musi bezwzględnie powiązać parametry fizyczne rury z charakterystyką źródła ciepła.
        </p>
    </div>

    <div class="rk-ozc-interactive">
        <div class="rk-ozc-calc-wrapper">
            <div class="rk-ozc-calc-title">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                Symulator Zładu Wodnego (Dla Rury 16x2.0 EVOH)
            </div>
            
            <div class="rk-slider-container">
                <div class="rk-slider-label">
                    <span>Powierzchnia grzewcza budynku:</span>
                    <span class="rk-slider-val"><span id="rkAreaVal">150</span> m²</span>
                </div>
                <input type="range" id="rkAreaSlider" class="rk-range-input" min="80" max="300" step="10" value="150" aria-label="Wybierz powierzchnię domu">
            </div>

            <div class="rk-ozc-results-grid">
                <div class="rk-ozc-result-box">
                    <div class="rk-ozc-res-label">Szacowana długość rur</div>
                    <div class="rk-ozc-res-val" id="rkResLen">1005</div>
                    <div class="rk-ozc-res-unit">metrów bieżących</div>
                </div>
                <div class="rk-ozc-result-box">
                    <div class="rk-ozc-res-label">Woda w podłogówce</div>
                    <div class="rk-ozc-res-val" id="rkResVol">114</div>
                    <div class="rk-ozc-res-unit">litrów w pętlach</div>
                </div>
                <div class="rk-ozc-result-box">
                    <div class="rk-ozc-res-label">Naczynie wzbiorcze</div>
                    <div class="rk-ozc-res-val" id="rkResVessel">31</div>
                    <div class="rk-ozc-res-unit">litrów (z buforem 200L)</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-ozc-content">
        <div class="rk-ozc-diagram-flow">
            <div class="rk-ozc-flow-step">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4"></path><polyline points="14 2 14 8 20 8"></polyline><path d="M2 15h10"></path><path d="M9 18l3-3-3-3"></path></svg>
                Dane OZC budynku
            </div>
            <div class="rk-ozc-flow-arrow">➔</div>
            <div class="rk-ozc-flow-step">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M8 14s1.5 2 4 2 4-2 4-2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line></svg>
                Rozstaw rur (W/m²)
            </div>
            <div class="rk-ozc-flow-arrow">➔</div>
            <div class="rk-ozc-flow-step">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg>
                Obliczenie zładu wody
            </div>
            <div class="rk-ozc-flow-arrow">➔</div>
            <div class="rk-ozc-flow-step">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                Dobór naczynia / pompy
            </div>
        </div>

        <h3>Korelacja z OZC (Obliczeniowym Zapotrzebowaniem na Ciepło)</h3>
        <p>
            Rura z barierą EVOH o przewodności <strong>0,41 W/(m·K)</strong> pozwala na dokładne mapowanie strumienia cieplnego. Przy gęstym <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstawie rur w wodnym ogrzewaniu podłogowym</a> (np. co 10 cm) w domach energooszczędnych o zapotrzebowaniu 30 W/m², niska chropowatość wewnętrzna rury EVOH pozwala na projektowanie <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">pętli o maksymalnej długości do 120 m</a> bez przekraczania dopuszczalnych oporów hydraulicznych pojedynczej sekcji rozdzielacza (20 kPa).
        </p>

        <h3>Dobór pojemności zładu wodnego a naczynie wzbiorcze</h3>
        <p>
            Standardowa rura <strong>16x2.0 mm mieści dokładnie 0,113 litra wody na metr bieżący</strong>. Znając całkowitą długość z projektu (np. 1200 m dla domu 180 m²), objętość samej instalacji podłogowej wynosi 1200 × 0,113 = <strong>135,6 litra</strong>. Dane te są niezbędne, aby wyliczyć <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">ile wody mieści się w instalacji</a> i dokonać prawidłowego doboru objętościowego zgodnie z normą PN-B-02414. Dla układu z pompą ciepła i buforem 200 l, całkowity zład wynosi ok. 350 litrów, co wymaga <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynia wzbiorczego przeponowego</a> o pojemności minimum 35 litrów.
        </p>

        <h3>Integracja z systemami wentylacji (Rekuperacja)</h3>
        <p>
            Obecność stabilnej termicznie podłogówki z barierą EVOH współpracującej z <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">rekuperacją pozwala na obniżenie projektowej temperatury zasilania</a> o kolejne 2-3°C (z 35°C na 32°C). Wynika to z faktu, że rekuperator eliminuje drastyczne straty ciepła charakterystyczne dla wentylacji grawitacyjnej, a czysta, wolna od szlamu rura EVOH stale oddaje ciepło ze sprawnością początkową na poziomie 100%.
        </p>
    </div>

    <div class="rk-ozc-cta">
        <h3>Skończ z instalacjami robionymi "na oko"</h3>
        <p>
            Twój instalator twierdzi, że "zawsze tak robił i grzeje"? Ogrzewanie podłogowe to czysta fizyka i twarde wzory matematyczne. Zbuduj swój dom na fundamencie profesjonalnych obliczeń OZC i uniknij przewymiarowania kotłowni.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-massive">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkAreaSlider');
    const valArea = document.getElementById('rkAreaVal');
    const resLen = document.getElementById('rkResLen');
    const resVol = document.getElementById('rkResVol');
    const resVessel = document.getElementById('rkResVessel');

    // Współczynniki do obliczeń (przybliżenia inżynierskie)
    // Srednie zużycie rury: ~6.7 mb / m2 (mieszanka łazienki 10cm i pokoje 15cm)
    const factorLength = 6.7;
    // Pojemność wodna rury 16x2.0: 0.113 l/mb
    const factorVol = 0.113;
    // Pojemność bufora założona na sztywno do obliczeń naczynia
    const bufferVol = 200;

    function calculateValues() {
        let area = parseInt(slider.value);
        valArea.textContent = area;

        // Obliczenia
        let length = Math.round(area * factorLength);
        let waterInPipes = Math.round(length * factorVol);
        
        // Naczynie wzbiorcze: ok. 10% całkowitego zładu (woda w rurach + bufor + zapas na źródło)
        let totalSystemVol = waterInPipes + bufferVol + 20; // 20L zapas na kocioł/PC
        let vesselSize = Math.round(totalSystemVol * 0.10);

        // Aktualizacja DOM
        resLen.textContent = length;
        resVol.textContent = waterInPipes;
        resVessel.textContent = vesselSize;
    }

    // Inicjalizacja i nasłuch
    calculateValues();
    slider.addEventListener('input', calculateValues);
});
</script>



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

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

.rk-dec-container * {
    box-sizing: border-box;
}

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

.rk-dec-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.2);
    color: #fcd34d;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.rk-dec-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

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

/* Sekcja: Jaka rura do podłogówki (Pojedynek) */
.rk-dec-duel {
    padding: 40px 50px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-dec-border);
}

.rk-duel-title {
    text-align: center;
    margin-bottom: 30px;
}

.rk-duel-title h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-dec-dark);
    margin: 0 0 10px 0;
}

.rk-duel-tabs {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 6px;
    margin-bottom: 30px;
    gap: 6px;
}

.rk-duel-btn {
    flex: 1;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-dec-gray);
    background: transparent;
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    margin: 0;
}

.rk-duel-btn:hover {
    color: var(--rk-dec-dark);
    background: rgba(255, 255, 255, 0.5);
}

.rk-duel-btn.active {
    background: var(--rk-dec-blue);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
}

/* Zawartość Zakładek */
.rk-duel-content {
    display: none;
    animation: fadeInDec 0.4s ease-out;
}

.rk-duel-content.active {
    display: block;
}

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

.rk-duel-card {
    background: #ffffff;
    border: 2px solid var(--rk-dec-border);
    border-radius: 20px;
    padding: 35px;
}

.rk-duel-card.highlight {
    border-color: #bae6fd;
    background: var(--rk-dec-light);
}

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

.rk-duel-card-title svg {
    color: var(--rk-dec-blue);
    flex-shrink: 0;
}

/* Przebudowana lista na kafelki z wymuszeniem sztywnych SVG */
.rk-duel-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 25px;
}

.rk-duel-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background: #ffffff;
    padding: 16px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-dec-border);
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-duel-item p {
    margin: 0;
    font-size: 15px;
    color: #334155;
    line-height: 1.6;
    font-weight: 500;
}

/* TO ZAPOBIEGA ROZRASTANIU SIĘ SVG */
.rk-icon-fixed {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    color: var(--rk-dec-green);
    margin-top: 2px;
}

.rk-duel-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-dec-gray);
    margin: 0;
    padding: 20px;
    background: #f8fafc;
    border-radius: 12px;
    border-left: 4px solid var(--rk-dec-blue);
}

.rk-duel-desc strong {
    color: var(--rk-dec-dark);
}

/* Sekcja: ROI i Opłacalność dopłaty */
.rk-dec-roi {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-roi-text {
    margin-bottom: 35px;
}

.rk-roi-text h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-dec-dark);
    margin: 0 0 15px 0;
}

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

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

/* Kalkulator Dopłaty */
.rk-roi-calculator {
    background: #ffffff;
    border: 1px solid var(--rk-dec-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
}

.rk-roi-calc-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 20px;
}

.rk-roi-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-dec-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-roi-val-display {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-dec-blue);
}

.rk-roi-slider {
    width: 100%;
    height: 10px;
    background: #e2e8f0;
    border-radius: 10px;
    outline: none;
    -webkit-appearance: none;
    margin-bottom: 35px;
}

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

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

/* Porównanie Kosztów */
.rk-roi-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-roi-box {
    padding: 25px 20px;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
}

.rk-roi-box.invest {
    background: var(--rk-dec-light);
    border: 2px solid #bae6fd;
}

.rk-roi-box.risk {
    background: #fef2f2;
    border: 2px solid #fca5a5;
}

.rk-roi-box-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.invest .rk-roi-box-title { color: var(--rk-dec-blue); }
.risk .rk-roi-box-title { color: var(--rk-dec-red); }

.rk-roi-box-cost {
    font-size: 32px;
    font-weight: 900;
    margin-bottom: 8px;
}

.invest .rk-roi-box-cost { color: var(--rk-dec-dark); }
.risk .rk-roi-box-cost { color: var(--rk-dec-red); }

.rk-roi-box-desc {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-dec-gray);
    line-height: 1.5;
}

@media (max-width: 850px) {
    .rk-roi-compare { grid-template-columns: 1fr; gap: 15px; }
}

@media (max-width: 600px) {
    .rk-dec-header, .rk-dec-duel, .rk-dec-roi { padding: 30px 20px; }
    .rk-dec-header h2, .rk-duel-title h2, .rk-roi-text h2 { font-size: 26px; }
    
    .rk-duel-tabs { flex-direction: column; padding: 6px; gap: 6px; }
    .rk-duel-btn { width: 100%; height: 46px; }
    
    .rk-duel-card, .rk-roi-calculator { padding: 25px 20px; }
    .rk-roi-calc-header { flex-direction: column; align-items: flex-start; gap: 5px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-wybor-rury",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Jaka rura do ogrzewania podłogowego – PEX-a EVOH czy PE-RT EVOH? Czy warto dopłacić?",
    "description": "Szczegółowe porównanie rur PEX-a EVOH i PE-RT EVOH do ogrzewania podłogowego oraz analiza rentowności i zwrotu z inwestycji (dopłaty) do bariery tlenowej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-21",
    "dateModified": "2026-06-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-roi-evoh",
    "name": "Analiza zwrotu z inwestycji (ROI) w barierę EVOH względem kosztów awarii",
    "description": "Zestawienie kosztów dopłaty do rury z barierą antydyfuzyjną na m2 budynku z potencjalnymi kosztami napraw kotłowni (wymiana pompy ciepła, płukanie instalacji).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy warto dopłacić do rury EVOH",
      "jaka rura do ogrzewania podłogowego",
      "rura EVOH cena",
      "PEX-a EVOH czy PE-RT EVOH",
      "ile kosztuje 100 m² ogrzewania podłogowego",
      "koszt ogrzewania domu 2025"
    ],
    "measurementTechnique": "Obliczanie różnicy cenowej (dopłaty) na podstawie szacunkowego zużycia rury 6,7 mb/m2 w relacji do stałego kosztu serwisu uszkodzonej instalacji (ok. 2500 PLN).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt dopłaty do bariery EVOH: ok. 0,40 - 0,60 PLN za metr bieżący.",
        "Koszty braku bariery: Uszkodzenie pompy klasy A (ok. 2500 PLN), czyszczenie wymiennika.",
        "Rekomendacja rynkowa: PEX-a (termiczna pamięć kształtu, sieciowanie) vs PE-RT Typ II (elastyczność, brak sieciowania)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-kalkulator-doplaty",
    "name": "Kalkulator Dopłaty do EVOH",
    "description": "Narzędzie pozwalające inwestorowi obliczyć koszt dopłaty do lepszej rury z barierą tlenową na podstawie powierzchni domu i zestawić to z kosztem potencjalnej awarii.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dec-container" id="rk-decision-maker">
    <div class="rk-dec-header">
        <div class="rk-dec-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            Decyzjomat Inwestora
        </div>
        <h2>Jaka rura do ogrzewania podłogowego – PEX-a EVOH czy PE-RT EVOH?</h2>
        <p>
            Stoisz przed ostatecznym wyborem materiału. Poznaj twarde argumenty inżynierskie, które rozwieją Twoje wątpliwości przed zakupem.
        </p>
    </div>

    <div class="rk-dec-duel">
        
        <div class="rk-duel-tabs" id="rkDuelTabs">
            <button class="rk-duel-btn active" data-target="duel-pexa">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink:0;"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v8"></path><path d="M8 12h8"></path></svg>
                PEX-a EVOH
            </button>
            <button class="rk-duel-btn" data-target="duel-pert">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink:0;"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                PE-RT Typ II EVOH
            </button>
        </div>

        <div class="rk-duel-content active" id="duel-pexa">
            <div class="rk-duel-card highlight">
                <h3 class="rk-duel-card-title">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
                    Król Wytrzymałości (Sieciowany Nadtlenkowo)
                </h3>
                
                <div class="rk-duel-list">
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Posiada termiczną pamięć kształtu (uszkodzenia można łatwo zregenerować w temperaturze 130°C).</p>
                    </div>
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Odporna na ekstremalne wahania temperatur roboczych w układzie (najwyższa Klasa 5).</p>
                    </div>
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Minimalizuje ryzyko pęknięć naprężeniowych przy mrozie podczas prac budowlanych.</p>
                    </div>
                </div>

                <div class="rk-duel-desc">
                    <strong>Werdykt Inżyniera:</strong> Wybór bezkompromisowy. Jeśli budujesz dom na lata i chcesz wykluczyć błędy montażowe instalatora (np. przypadkowe załamania rury), PEX-a EVOH to materiał z absolutnie najwyższej półki.
                </div>
            </div>
        </div>

        <div class="rk-duel-content" id="duel-pert">
            <div class="rk-duel-card">
                <h3 class="rk-duel-card-title">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    Elastyczność i Ekonomia (Polietylen Typu II)
                </h3>
                
                <div class="rk-duel-list">
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Bardzo wysoka elastyczność struktury, mocno ułatwiająca układanie trudnych pętli grzewczych.</p>
                    </div>
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Brak skomplikowanego procesu sieciowania przekłada się na delikatnie niższą cenę za metr.</p>
                    </div>
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Świetnie współpracuje ze standardowymi, niskotemperaturowymi instalacjami płaszczyznowymi.</p>
                    </div>
                </div>

                <div class="rk-duel-desc">
                    <strong>Werdykt Inżyniera:</strong> Doskonały wybór do optymalnych budżetowo projektów, gdzie źródłem ciepła jest <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a>. Wymaga jednak od wykonawcy precyzji, gdyż załamanie rury definitywnie wyklucza ją z użytku.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-dec-roi">
        <div class="rk-roi-text">
            <h2>Czy warto dopłacić do rury z barierą antydyfuzyjną EVOH?</h2>
            <p>
                W praktyce różnica cenowa pomiędzy standardową rurą bez bariery tlenowej a nowoczesną rurą 5-warstwową z powłoką EVOH stanowi zwykle zaledwie ułamek całkowitego <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">kosztu wykonania ogrzewania</a>. Z punktu widzenia projektanta instalacji grzewczych, wybór rury z <strong>barierą antydyfuzyjną EVOH</strong> nie jest dodatkiem podnoszącym komfort, lecz absolutnie podstawowym zabezpieczeniem trwałości całego systemu.
            </p>
            <p>
                Dlatego zarówno w instalacjach z pompą ciepła, jak i <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kotłem gazowym</a>, rekomendowane są <strong>wyłącznie</strong> rury PEX-a EVOH lub PE-RT Typ II EVOH spełniające wymagania rygorystycznej normy DIN 4726. Zobacz na konkretnych liczbach, dlaczego oszczędzanie na rurze to finansowa pułapka.
            </p>
        </div>

        <div class="rk-roi-calculator">
            <div class="rk-roi-calc-header">
                <span class="rk-roi-label">Metraż Twojej podłogówki</span>
                <span class="rk-roi-val-display"><span id="roiAreaVal">150</span> m²</span>
            </div>
            
            <input type="range" id="roiAreaSlider" class="rk-roi-slider" min="50" max="300" step="10" value="150" aria-label="Suwak metrażu">

            <div class="rk-roi-compare">
                <div class="rk-roi-box invest">
                    <div class="rk-roi-box-title">Dopłata do rury z EVOH</div>
                    <div class="rk-roi-box-cost">+ <span id="roiEvohCost">500</span> zł</div>
                    <div class="rk-roi-box-desc">Jednorazowa inwestycja materiałowa. Zapewnia brak tlenu w instalacji przez 50 lat.</div>
                </div>
                
                <div class="rk-roi-box risk">
                    <div class="rk-roi-box-title">Koszt awarii bez EVOH</div>
                    <div class="rk-roi-box-cost">- <span id="roiBreakCost">2500</span> zł</div>
                    <div class="rk-roi-box-desc">Ryzyko pęknięcia wymiennika lub zatarcia pompy co ok. 3-5 lat z powodu szlamu.</div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // Obsługa zakładek (Pojedynek Rur)
    const duelBtns = document.querySelectorAll('.rk-duel-btn');
    const duelContents = document.querySelectorAll('.rk-duel-content');

    for (let i = 0; i < duelBtns.length; i++) {
        duelBtns[i].addEventListener('click', function() {
            // Usunięcie klas active bez uzycia &#038;&#038;
            for (let j = 0; j < duelBtns.length; j++) {
                duelBtns[j].classList.remove('active');
            }
            for (let k = 0; k < duelContents.length; k++) {
                duelContents[k].classList.remove('active');
            }

            // Dodanie klas
            this.classList.add('active');
            let targetId = this.getAttribute('data-target');
            let targetContent = document.getElementById(targetId);
            
            let isFound = false;
            if (targetContent) {
                isFound = true;
            }
            if (isFound) {
                targetContent.classList.add('active');
            }
        });
    }

    // Obsługa Kalkulatora ROI
    const slider = document.getElementById('roiAreaSlider');
    const areaVal = document.getElementById('roiAreaVal');
    const evohCost = document.getElementById('roiEvohCost');
    const breakCost = document.getElementById('roiBreakCost');

    // Stałe do obliczeń (Ceny Rynkowe Oszacowane)
    const pipePerM2 = 6.7; // mb rury na m2
    const priceDiffPerMeter = 0.50; // Różnica w PLN między rurą bez EVOH a markową z EVOH

    function calculateROI() {
        let area = parseInt(slider.value, 10);
        areaVal.textContent = area;

        // Obliczenie dopłaty do EVOH
        let totalMeters = area * pipePerM2;
        let extraCost = Math.round(totalMeters * priceDiffPerMeter);
        evohCost.textContent = extraCost;

        // Szacowanie ryzyka awarii (Kocioł/Pompa) na przestrzeni 5 lat
        let risk = 2500; 
        
        let condition1 = false;
        if (area <= 100) { condition1 = true; }
        if (condition1) { risk = 1800; }
        
        let condition2 = false;
        if (area > 100) {
            if (area <= 200) {
                condition2 = true;
            }
        }
        if (condition2) { risk = 2500; }
        
        let condition3 = false;
        if (area > 200) { condition3 = true; }
        if (condition3) { risk = 3800; }

        breakCost.textContent = risk;
    }

    // Inicjalizacja i nasłuch
    calculateROI();
    slider.addEventListener('input', calculateROI);
});
</script>



<style>
:root {
    --rk-scan-dark: #0f172a;
    --rk-scan-blue: #0284c7;
    --rk-scan-light: #f8fafc;
    --rk-scan-accent: #0ea5e9;
    --rk-scan-green: #10b981;
    --rk-scan-gray: #64748b;
    --rk-scan-border: #e2e8f0;
    --rk-scan-bg: #ffffff;
    --rk-scan-gold: #f59e0b;
}

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

.rk-scan-container * {
    box-sizing: border-box;
}

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

.rk-scan-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(52, 211, 153, 0.2);
}

.rk-scan-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

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

/* Sekcja Interaktywna - Dekoder */
.rk-scan-interactive {
    padding: 45px 50px;
    background: #f1f5f9;
    border-bottom: 1px solid var(--rk-scan-border);
}

.rk-scan-int-title {
    text-align: center;
    margin-bottom: 30px;
}

.rk-scan-int-title h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-scan-dark);
    margin: 0 0 10px 0;
}

.rk-scan-int-title p {
    color: var(--rk-scan-gray);
    font-size: 15px;
    margin: 0;
}

/* Wirtualna Rura z Nadrukiem */
.rk-virtual-pipe-wrap {
    background: #ffffff;
    border: 2px solid var(--rk-scan-border);
    border-radius: 16px;
    padding: 40px 20px;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 4px 6px rgba(0,0,0,0.02);
}

/* Tło rury - symulacja zaokrąglenia */
.rk-pipe-graphic {
    background: linear-gradient(to bottom, #d1d5db 0%, #f8fafc 20%, #e2e8f0 80%, #94a3b8 100%);
    height: 80px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    box-shadow: 0 10px 20px -10px rgba(0,0,0,0.1);
    position: relative;
    z-index: 2;
}

.rk-pipe-print {
    display: flex;
    gap: 15px;
    font-family: monospace;
    font-size: 18px;
    font-weight: 800;
    color: #334155;
    flex-wrap: wrap;
    justify-content: center;
}

.rk-print-segment {
    padding: 4px 10px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s;
    border: 2px solid transparent;
}

.rk-print-segment:hover {
    background: rgba(2, 132, 199, 0.1);
    color: var(--rk-scan-blue);
}

.rk-print-segment.active {
    background: var(--rk-scan-blue);
    color: #ffffff;
    border-color: #0369a1;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
}

/* Wyświetlacz informacji */
.rk-scan-display {
    background: #ffffff;
    border-left: 4px solid var(--rk-scan-blue);
    border-radius: 0 16px 16px 0;
    padding: 25px 30px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    display: none;
    animation: slideInScan 0.4s ease-out;
}

.rk-scan-display.active {
    display: block;
}

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

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

.rk-scan-display h4 svg {
    color: var(--rk-scan-blue);
}

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

/* Część Teoretyczna */
.rk-scan-theory {
    padding: 40px 50px;
    background: #ffffff;
}

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

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

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

.rk-scan-theory a:hover {
    color: #0369a1;
}

.rk-scan-warning {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-top: 25px;
}

.rk-scan-warning svg {
    color: var(--rk-scan-red);
    flex-shrink: 0;
}

.rk-scan-warning-text h4 {
    margin: 0 0 8px 0;
    color: #991b1b;
    font-size: 16px;
    font-weight: 800;
}

.rk-scan-warning-text p {
    margin: 0;
    color: #7f1d1d;
    font-size: 14px;
    line-height: 1.6;
}

/* Wskazówka Eksperta (Mini-Autorytet) */
.rk-expert-tip {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid var(--rk-scan-border);
}

.rk-expert-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--rk-scan-green);
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.2);
    flex-shrink: 0;
}

.rk-expert-details h5 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-scan-dark);
}

.rk-expert-details p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-scan-gray);
    line-height: 1.5;
}

@media (max-width: 850px) {
    .rk-pipe-print { font-size: 15px; gap: 10px; }
}

@media (max-width: 600px) {
    .rk-scan-header, .rk-scan-interactive, .rk-scan-theory { padding: 30px 20px; }
    .rk-scan-header h2 { font-size: 26px; }
    
    .rk-pipe-graphic { height: auto; padding: 20px 10px; flex-direction: column; }
    .rk-pipe-print { flex-direction: column; gap: 5px; width: 100%; text-align: center; }
    .rk-print-segment { width: 100%; padding: 8px; background: rgba(255,255,255,0.5); }
    .rk-scan-display { padding: 20px; border-left: none; border-top: 4px solid var(--rk-scan-blue); border-radius: 12px; }
    
    .rk-expert-tip { flex-direction: column; text-align: center; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-jak-sprawdzic-oznaczenia",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Jak sprawdzić, czy rura posiada barierę antydyfuzyjną EVOH?",
    "description": "Instrukcja weryfikacji rur do ogrzewania podłogowego. Jak czytać oznaczenia na rurach PEX/PE-RT, by potwierdzić obecność powłoki EVOH i normę DIN 4726.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-21",
    "dateModified": "2026-06-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-weryfikacja-oznaczen",
    "name": "Weryfikacja oznaczeń rur ogrzewania podłogowego (DIN 4726)",
    "description": "Baza danych interpretacji technicznych nadruków na rurach grzewczych pozwalająca inwestorowi rozpoznać prawdziwą barierę tlenową.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak sprawdzić rurę EVOH",
      "jak rozpoznać rurę do podłogówki",
      "jaka rura do ogrzewania podłogowego",
      "czy rura ma barierę tlenową",
      "oznaczenia na rurach PEX"
    ],
    "measurementTechnique": "Organoleptyczna weryfikacja parametrów fizycznych poprzez analizę ciągów znaków (nadruków) z naniesionymi klasami ciśnienia i normami na warstwie zewnętrznej polimeru.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Weryfikacja warstw: Szukaj oznaczeń 5L lub struktury wielowarstwowej na nadruku.",
        "Potwierdzenie szczelności tlenowej: Zgodność z niemiecką normą DIN 4726.",
        "Brak oznaczeń oznacza brak bariery antydyfuzyjnej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-dekoder-oznaczen",
    "name": "Interaktywny Dekoder Oznaczeń Rury PEX/PE-RT",
    "description": "Narzędzie symulujące prawdziwy nadruk na rurze do podłogówki, pozwalające kliknąć w dany ciąg znaków, aby poznać inżynierskie znaczenie atestów EVOH i klas ciśnienia.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-scan-container" id="rk-scan-module">
    <div class="rk-scan-header">
        <div class="rk-scan-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12h3l3-9 5 18 3-9h5"></path></svg>
            Weryfikacja Placu Budowy
        </div>
        <h2>Jak sprawdzić, czy rura posiada barierę antydyfuzyjną EVOH?</h2>
        <p>
            Nie wierz na słowo. Instalator przyniósł rolki rur na budowę? Zanim zalejesz je betonem, organoleptycznie zweryfikuj nadruk. Brak odpowiednich znaków to sygnał alarmowy.
        </p>
    </div>

    <div class="rk-scan-interactive">
        <div class="rk-scan-int-title">
            <h3>Skaner Oznaczeń Rury Grzewczej</h3>
            <p>Kliknij w poszczególne fragmenty nadruku na poniższej wirtualnej rurze, aby poznać ich inżynierskie znaczenie.</p>
        </div>

        <div class="rk-virtual-pipe-wrap">
            <div class="rk-pipe-graphic">
                <div class="rk-pipe-print" id="rkPrintContainer">
                    <span class="rk-print-segment active" data-target="scan-mat">PE-RT/EVOH/PE-RT</span>
                    <span class="rk-print-segment" data-target="scan-dim">16x2.0</span>
                    <span class="rk-print-segment" data-target="scan-class">Klasa 4 / 6bar</span>
                    <span class="rk-print-segment" data-target="scan-din">DIN 4726</span>
                    <span class="rk-print-segment" data-target="scan-layer">5L</span>
                </div>
            </div>
        </div>

        <div class="rk-scan-display active" id="scan-mat">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                Oznaczenie Warstw Materiału
            </h4>
            <p>Ten ciąg potwierdza budowę wielowarstwową rury. Skrót EVOH musi znajdować się wewnątrz tego zapisu (często między warstwami polietylenu, takimi jak PEX lub PE-RT). Jeśli widzisz tylko "PE-RT", rura jest jednorodna i nie ma bariery!</p>
        </div>

        <div class="rk-scan-display" id="scan-dim">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="22" y1="12" x2="18" y2="12"></line><line x1="6" y1="12" x2="2" y2="12"></line><line x1="12" y1="6" x2="12" y2="2"></line><line x1="12" y1="22" x2="12" y2="18"></line></svg>
                Średnica i Ścianka
            </h4>
            <p>16x2.0 to standardowa rura używana w systemach płaszczyznowych. Pierwsza liczba to zewnętrzna średnica w milimetrach, druga to grubość ścianki. Rura o grubości ścianki 2.0mm gwarantuje bezpieczne zalewanie betonem.</p>
        </div>

        <div class="rk-scan-display" id="scan-class">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                Klasa Zastosowania (Parametry)
            </h4>
            <p>Zgodnie z PN-EN ISO 21003. "Klasa 4" dotyczy ogrzewania podłogowego o maksymalnej temperaturze pracy ciągłej 70°C, a "Klasa 5" grzejnikowego (90°C). 6bar określa bezpieczne ciśnienie układu. W podłogówce te wartości to potężny zapas bezpieczeństwa.</p>
        </div>

        <div class="rk-scan-display" id="scan-din">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
                Kluczowa Norma Antydyfuzyjna
            </h4>
            <p>To najważniejszy element, którego musisz szukać! Nadruk "DIN 4726" to laboratoryjne poświadczenie, że bariera EVOH na tej rurze rzeczywiście powstrzymuje dyfuzję tlenu do wartości bezpiecznych dla kotła i pompy ciepła.</p>
        </div>

        <div class="rk-scan-display" id="scan-layer">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                Konstrukcja 5L
            </h4>
            <p>Oznaczenie 5L (lub rzadziej 5-Layer) mówi o tym, że bariera EVOH ukryta jest bezpiecznie w rdzeniu rury (pomiędzy warstwami PEX/PE-RT). Chroni ją to przed przetarciem o styropian podczas montażu. Rury 3L są bardziej podatne na uszkodzenia bariery.</p>
        </div>
    </div>

    <div class="rk-scan-theory">
        <p>
            Przed zakupem lub montażem warto i trzeba sprawdzać oznaczenia nadrukowane na rurze co kilkadziesiąt centymetrów. Poważny producent <strong>zawsze</strong> podaje informację o warstwie EVOH, budowie wielowarstwowej oraz zgodności z certyfikatami. 
        </p>

        <div class="rk-scan-warning">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
            <div class="rk-scan-warning-text">
                <h4>Ostrzeżenie Inwestycyjne</h4>
                <p>
                    Jeśli na rurze, którą hydraulik rozwinął w Twoim salonie, nie ma jasnej informacji o EVOH lub normie antydyfuzyjnej DIN 4726, zachowaj natychmiastową ostrożność. W profesjonalnych i bezpiecznych systemach <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/">wodnego ogrzewania podłogowego</a> stosuje się <strong>wyłącznie</strong> rury posiadające potwierdzoną barierę tlenową. Zwykła rura instalacyjna nadaje się do przesyłu wody pitnej, ale nigdy do zamkniętego układu centralnego ogrzewania.
                </p>
            </div>
        </div>

        <div class="rk-expert-tip">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-expert-avatar" loading="lazy">
            <div class="rk-expert-details">
                <h5>Wskazówka Specjalisty HVAC</h5>
                <p>Jako inżynierowie projektujący tysiące układów dla <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>, uczulam: nawet najlepsza <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rura PEX</a>, do której producent nie załącza pełnej karty technicznej z udokumentowanym badaniem przenikalności tlenu, jest z punktu widzenia projektowego materiałem wysokiego ryzyka.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const printSegments = document.querySelectorAll('.rk-print-segment');
    const displays = document.querySelectorAll('.rk-scan-display');

    for (let i = 0; i < printSegments.length; i++) {
        printSegments[i].addEventListener('click', function() {
            
            // Usunięcie stanu active ze wszystkich przycisków
            for (let j = 0; j < printSegments.length; j++) {
                printSegments[j].classList.remove('active');
            }
            
            // Ukrycie wszystkich okien informacji
            for (let k = 0; k < displays.length; k++) {
                displays[k].classList.remove('active');
            }

            // Aktywacja wybranego
            this.classList.add('active');
            let targetId = this.getAttribute('data-target');
            let targetPanel = document.getElementById(targetId);
            
            let isFound = false;
            if (targetPanel) {
                isFound = true;
            }

            if (isFound) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



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

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

/* Nagłówek */
.rk-err-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, #7f1d1d 0%, var(--rk-err-dark) 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-err-red);
}

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

.rk-err-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
    color: #ffffff;
}

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

.rk-err-loss-tag {
    display: inline-block;
    margin-top: 15px;
    background: #ef4444;
    color: #fff;
    padding: 6px 16px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 15px;
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.4);
}

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

.rk-err-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

/* Karty Błędów */
.rk-err-card {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 20px;
    padding: 25px;
    position: relative;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
}

/* Stan: Błąd (Domyślny) */
.rk-err-card.state-error {
    border-color: #fca5a5;
    box-shadow: 0 10px 25px -5px rgba(239, 68, 68, 0.1);
}

/* Stan: Bezpieczny */
.rk-err-card.state-safe {
    border-color: #6ee7b7;
    box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.1);
}

/* Przełącznik (Switch) */
.rk-err-switch-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-err-border);
}

.rk-err-switch-label {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.state-error .rk-err-switch-label { color: var(--rk-err-red); }
.state-safe .rk-err-switch-label { color: var(--rk-err-green); }

.rk-toggle-btn {
    position: relative;
    width: 54px;
    height: 30px;
    background: var(--rk-err-red);
    border-radius: 30px;
    cursor: pointer;
    transition: background 0.3s;
    border: none;
    outline: none;
}

.rk-toggle-circle {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 24px;
    height: 24px;
    background: #ffffff;
    border-radius: 50%;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.state-safe .rk-toggle-btn { background: var(--rk-err-green); }
.state-safe .rk-toggle-circle { transform: translateX(24px); }

/* Zawartość Karty */
.rk-err-icon-wrap {
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.rk-err-svg { width: 70px; height: 70px; }

/* Animacje SVG */
.anim-shake { animation: errShake 0.5s infinite alternate; }
.anim-pulse { animation: errPulse 2s infinite; }
.anim-geyser { stroke-dasharray: 5; animation: errGeyser 0.5s linear infinite; }

@keyframes errShake { from { transform: rotate(-5deg); } to { transform: rotate(5deg); } }
@keyframes errPulse { 0% { opacity: 0.7; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.7; transform: scale(0.95); } }
@keyframes errGeyser { to { stroke-dashoffset: -10; } }

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

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

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

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

.rk-err-status {
    padding: 12px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.state-error .rk-err-status { background: var(--rk-err-red-light); color: #991b1b; }
.state-safe .rk-err-status { background: var(--rk-err-green-light); color: #065f46; }

/* Tagi u dołu */
.rk-err-tags {
    padding: 0 50px 30px;
    background: #f8fafc;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rk-invisible-tag { display: none; } /* Używane tylko w JSON-LD, tu dajemy wizualne na prośbę zachowania stylistyki, ale zapytanie mówi "nie dawaj mi hasztagów widocznych", więc je ukrywam całkowicie dla usera, a zostawiam mechanikę, jeśli by była potrzebna. W tym przypadku usuwam widoczne tagi na polecenie: "nie dawaj mi hasztagów widocznych dla użytkownika osadzie tylko w warstwie strukturalnej" */

@media (max-width: 850px) {
    .rk-err-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .rk-err-header, .rk-err-interactive { padding: 30px 20px; }
    .rk-err-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-err-header h2 { font-size: 26px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-bledy-montazowe",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Najczęstsze błędy instalacyjne podczas układania rur z barierą tlenową",
    "description": "Niewłaściwy montaż rur podłogowych (brak dylatacji w peszlach, załamywanie PE-RT, brak próby 6 bar) generuje straty rzędu 40 000 PLN po zalaniu jastrychu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-straty-awarie",
    "name": "Zestawienie strat finansowych z tytułu błędów instalacyjnych Ogrzewania Podłogowego",
    "description": "Dane dotyczące ukrytych wad instalacji płaszczyznowych. Wskazane wartości to 10 000 PLN - 40 000 PLN z tytułu konieczności zrywania wylewek i naprawy uszkodzonych barier EVOH.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "skutki źle ułożonej podłogówki",
      "pęknięta rura w podłodze koszty",
      "jak zabezpieczyć rury w dylatacji",
      "czy można zalać podłogówkę bez ciśnienia",
      "złamana rura pert co robić"
    ],
    "measurementTechnique": "Szacowanie strat na podstawie kosztorysów naprawczych uwzględniających skucie betonu, naprawę dylatacji (PN-EN 1264-4) i testy szczelności (0,6 MPa wg PORT PC).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt braku peszla w dylatacji: ścięcie rury przez beton pracujący termicznie.",
        "Koszt prostowania rury PE-RT w rękach: pocienienie ścianki i rozerwanie powłoki EVOH, wyciek w 2-5 lat.",
        "Koszt lania betonu bez ciśnienia: ryzyko zgniecenia rury lub przebicia bez natychmiastowej detekcji (brak gejzeru)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-symulator-bledow",
    "name": "Symulator Błędów Instalacyjnych Podłogówki",
    "description": "Aplikacja edukacyjna pozwalająca użytkownikowi zdiagnozować krytyczne usterki wykonawcze przed wylaniem posadzki i przełączyć tryb na standard inżynierski.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-err-simulator">
    <div class="rk-err-header">
        <div class="rk-err-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Krytyczna Weryfikacja
        </div>
        <h2>Najczęstsze błędy instalacyjne podczas układania rur z barierą tlenową</h2>
        <p>
            Niewłaściwy montaż rur grzewczych generuje ukryte wady instalacji, które ujawniają się dopiero po zalaniu jastrychu betonowego i uruchomieniu ogrzewania. Oszczędność czasu na tym etapie oznacza katastrofę budowlaną.
        </p>
        <div class="rk-err-loss-tag">Potencjalne straty po wylewce: 10 000 PLN – 40 000 PLN</div>
    </div>

    <div class="rk-err-interactive">
        <div class="rk-err-grid">
            
            <div class="rk-err-card state-error" data-id="card-1">
                <div class="rk-err-switch-box">
                    <span class="rk-err-switch-label" id="label-1">BŁĄD MONTAŻU</span>
                    <button class="rk-toggle-btn" aria-label="Przełącz standard" type="button">
                        <div class="rk-toggle-circle"></div>
                    </button>
                </div>
                
                <div class="rk-err-icon-wrap" id="icon-1">
                    <svg class="rk-err-svg anim-shake" viewBox="0 0 100 100" stroke="#ef4444" fill="none" stroke-width="4">
                        <path d="M20 50 L45 50 L50 40 L55 60 L60 50 L80 50" stroke-linejoin="round"/>
                        <circle cx="52" cy="50" r="15" stroke-dasharray="4"/>
                        <path d="M40 20 L60 80" stroke="#fca5a5" stroke-width="2"/>
                    </svg>
                </div>

                <h3>Brak osłon w dylatacjach</h3>
                <p>
                    Prowadzenie rur na wskroś bez osłon ochronnych (peszli). Rozszerzalność liniowa betonu działająca jak gilotyna ścina rurę. Dowiedz się więcej o wymogach dla <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej i dylatacji</a>.
                </p>
                <div class="rk-err-status" id="status-1">
                    <strong>Skutek:</strong> Zniszczenie bariery EVOH, mikropęknięcia i zalanie stropu.
                </div>
            </div>

            <div class="rk-err-card state-error" data-id="card-2">
                <div class="rk-err-switch-box">
                    <span class="rk-err-switch-label" id="label-2">BŁĄD MONTAŻU</span>
                    <button class="rk-toggle-btn" aria-label="Przełącz standard" type="button">
                        <div class="rk-toggle-circle"></div>
                    </button>
                </div>
                
                <div class="rk-err-icon-wrap" id="icon-2">
                    <svg class="rk-err-svg" viewBox="0 0 100 100" stroke="#ef4444" fill="none" stroke-width="4">
                        <path d="M20 80 Q 50 80 50 50 Q 50 20 80 20" stroke-linecap="round"/>
                        <ellipse cx="50" cy="50" rx="6" ry="12" fill="#fca5a5" stroke="none" class="anim-pulse"/>
                        <line x1="35" y1="35" x2="45" y2="45" stroke-width="2"/>
                        <line x1="65" y1="65" x2="55" y2="55" stroke-width="2"/>
                    </svg>
                </div>

                <h3>Załamanie rur PE-RT</h3>
                <p>
                    Prostowanie "w rękach" załamanego przewodu i mocowanie spinkami. Dochodzi do pocienienia ścianki z 2,0 mm do ok. 1,2 mm oraz rozerwania ciągłości EVOH. Sprawdź dokładną <a href="https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/">wytrzymałość rur grzewczych</a>.
                </p>
                <div class="rk-err-status" id="status-2">
                    <strong>Skutek:</strong> Rozwarstwienie pod wpływem ciśnienia i wyciek w ciągu 2-5 lat.
                </div>
            </div>

            <div class="rk-err-card state-error" data-id="card-3">
                <div class="rk-err-switch-box">
                    <span class="rk-err-switch-label" id="label-3">BŁĄD MONTAŻU</span>
                    <button class="rk-toggle-btn" aria-label="Przełącz standard" type="button">
                        <div class="rk-toggle-circle"></div>
                    </button>
                </div>
                
                <div class="rk-err-icon-wrap" id="icon-3">
                    <svg class="rk-err-svg" viewBox="0 0 100 100" stroke="#ef4444" fill="none" stroke-width="4">
                        <line x1="20" y1="80" x2="80" y2="80" stroke-linecap="round"/>
                        <path d="M50 80 L50 20" class="anim-geyser"/>
                        <path d="M50 20 Q 30 40 45 60" class="anim-geyser"/>
                        <path d="M50 20 Q 70 40 55 60" class="anim-geyser"/>
                    </svg>
                </div>

                <h3>Zalewanie bez ciśnienia</h3>
                <p>
                    Wylewanie miksokreta, gdy w pętlach nie ma ciśnienia na poziomie minimum 3 bar. Ryzyko zgniecenia przewodu przez ciężar betonu podczas prac nad <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewką betonową</a>.
                </p>
                <div class="rk-err-status" id="status-3">
                    <strong>Skutek:</strong> Brak możliwości wykrycia uszkodzenia łopatą w czasie rzeczywistym.
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Definicje SVG dla stanu bezpiecznego (Inżynierskiego)
    const safeSvg1 = `
        <svg class="rk-err-svg anim-pulse" viewBox="0 0 100 100" stroke="#10b981" fill="none" stroke-width="4">
            <path d="M10 50 L90 50" stroke-width="6" stroke-linecap="round"/>
            <rect x="35" y="35" width="30" height="30" rx="5" stroke-dasharray="4" stroke="#34d399" fill="rgba(52, 211, 153, 0.1)"/>
            <line x1="50" y1="20" x2="50" y2="80" stroke="#a7f3d0" stroke-width="2"/>
        </svg>
    `;
    const errSvg1 = document.getElementById('icon-1').innerHTML;

    const safeSvg2 = `
        <svg class="rk-err-svg anim-pulse" viewBox="0 0 100 100" stroke="#10b981" fill="none" stroke-width="4">
            <path d="M20 80 Q 50 80 50 50 Q 50 20 80 20" stroke-width="6" stroke-linecap="round"/>
            <path d="M30 65 A 25 25 0 0 1 65 30" stroke="#34d399" stroke-width="2" stroke-dasharray="4"/>
        </svg>
    `;
    const errSvg2 = document.getElementById('icon-2').innerHTML;

    const safeSvg3 = `
        <svg class="rk-err-svg anim-pulse" viewBox="0 0 100 100" stroke="#10b981" fill="none" stroke-width="4">
            <circle cx="50" cy="45" r="30"/>
            <circle cx="50" cy="45" r="4" fill="#10b981"/>
            <line x1="50" y1="45" x2="65" y2="30" stroke-width="3" stroke-linecap="round"/>
            <path d="M40 75 L40 90 L60 90 L60 75" stroke-linejoin="round"/>
        </svg>
    `;
    const errSvg3 = document.getElementById('icon-3').innerHTML;

    const cards = document.querySelectorAll('.rk-err-card');

    for (let i = 0; i < cards.length; i++) {
        let card = cards[i];
        let btn = card.querySelector('.rk-toggle-btn');
        let cardId = card.getAttribute('data-id');
        
        let label = card.querySelector('.rk-err-switch-label');
        let iconBox = card.querySelector('.rk-err-icon-wrap');
        let statusBox = card.querySelector('.rk-err-status');

        btn.addEventListener('click', function() {
            let isError = card.classList.contains('state-error');

            if (isError) {
                // Zmiana na SAFE
                card.classList.remove('state-error');
                card.classList.add('state-safe');
                label.textContent = "STANDARD INŻYNIERSKI";

                if (cardId === 'card-1') {
                    iconBox.innerHTML = safeSvg1;
                    statusBox.innerHTML = "<strong>Norma PN-EN 1264-4:</strong> Rura ochronna o dł. min. 40 cm przejmuje naprężenia wylewki.";
                }
                if (cardId === 'card-2') {
                    iconBox.innerHTML = safeSvg2;
                    statusBox.innerHTML = "<strong>Procedura:</strong> Bezwzględne wycięcie uszkodzonego odcinka lub regeneracja (tylko PEX-a termicznie).";
                }
                if (cardId === 'card-3') {
                    iconBox.innerHTML = safeSvg3;
                    statusBox.innerHTML = "<strong>Wytyczne PORT PC:</strong> Test na wodzie 0,6 MPa przez 24h. Beton lany przy 3 barach roboczych.";
                }
            } else {
                // Zmiana z powrotem na ERROR
                card.classList.remove('state-safe');
                card.classList.add('state-error');
                label.textContent = "BŁĄD MONTAŻU";

                if (cardId === 'card-1') {
                    iconBox.innerHTML = errSvg1;
                    statusBox.innerHTML = "<strong>Skutek:</strong> Zniszczenie bariery EVOH, mikropęknięcia i zalanie stropu.";
                }
                if (cardId === 'card-2') {
                    iconBox.innerHTML = errSvg2;
                    statusBox.innerHTML = "<strong>Skutek:</strong> Rozwarstwienie pod wpływem ciśnienia i wyciek w ciągu 2-5 lat.";
                }
                if (cardId === 'card-3') {
                    iconBox.innerHTML = errSvg3;
                    statusBox.innerHTML = "<strong>Skutek:</strong> Brak możliwości wykrycia uszkodzenia łopatą w czasie rzeczywistym.";
                }
            }
        });
    }
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-blue: #0284c7;
    --rk-case-light: #f8fafc;
    --rk-case-accent: #38bdf8;
    --rk-case-warning: #f59e0b;
    --rk-case-danger: #ef4444;
    --rk-case-success: #10b981;
    --rk-case-gray: #64748b;
    --rk-case-border: #e2e8f0;
    --rk-case-bg: #ffffff;
}

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

.rk-case-container * {
    box-sizing: border-box;
}

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

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.2);
    color: #fcd34d;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(252, 211, 77, 0.2);
}

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

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

/* Wstęp do historii */
.rk-case-story {
    padding: 40px 50px;
    background: var(--rk-case-light);
    border-bottom: 1px solid var(--rk-case-border);
    display: flex;
    gap: 30px;
    align-items: center;
}

.rk-case-avatar {
    width: 80px;
    height: 80px;
    background: #e2e8f0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--rk-case-gray);
    border: 3px solid #cbd5e1;
}

.rk-case-story-text p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
}

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

/* Skaner Ofert - Sekcja Interaktywna */
.rk-case-interactive {
    padding: 50px;
    background: #ffffff;
}

.rk-case-int-title {
    text-align: center;
    margin-bottom: 30px;
}

.rk-case-int-title h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin: 0 0 10px 0;
}

.rk-case-int-title p {
    color: var(--rk-case-gray);
    font-size: 15px;
    margin: 0;
}

.rk-scanner-toggle {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.rk-scan-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f1f5f9;
    color: var(--rk-case-gray);
    border: 2px solid var(--rk-case-border);
    padding: 16px 32px;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

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

.rk-scan-btn.active {
    background: var(--rk-case-blue);
    color: #ffffff;
    border-color: var(--rk-case-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
}

.rk-scan-btn.active svg {
    transform: rotate(180deg);
}

/* Grid ofertowy */
.rk-offer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-offer-card {
    border: 2px solid var(--rk-case-border);
    border-radius: 20px;
    padding: 30px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.rk-offer-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-case-border);
}

.rk-offer-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rk-case-light);
}

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

.rk-offer-subtitle {
    font-size: 13px;
    color: var(--rk-case-gray);
    font-weight: 700;
    text-transform: uppercase;
}

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

.rk-offer-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 15px;
    font-size: 15px;
    color: #334155;
    line-height: 1.6;
}

.rk-offer-list svg {
    flex-shrink: 0;
    margin-top: 2px;
}

/* Stan "Nieskanowany" (Domyslny) */
.state-default .rk-card-bad .rk-offer-icon { color: var(--rk-case-gray); }
.state-default .rk-card-bad { background: #ffffff; }

/* Stan "Prześwietlony" */
.state-scanned .rk-card-bad {
    background: #fef2f2;
    border-color: #fca5a5;
    box-shadow: 0 10px 30px -10px rgba(239, 68, 68, 0.2);
}

.state-scanned .rk-card-bad .rk-offer-icon {
    background: #fee2e2;
    color: var(--rk-case-danger);
}

.state-scanned .rk-card-good {
    background: #f0fdf4;
    border-color: #6ee7b7;
    box-shadow: 0 10px 30px -10px rgba(16, 185, 129, 0.2);
}

.state-scanned .rk-card-good .rk-offer-icon {
    background: #d1fae5;
    color: var(--rk-case-success);
}

/* Dynamiczne modyfikatory list */
.rk-hidden-truth {
    display: none;
    font-size: 13px;
    font-weight: 800;
    margin-top: 5px;
    padding: 8px 12px;
    border-radius: 6px;
}

.state-scanned .rk-hidden-truth.danger {
    display: block;
    background: #fee2e2;
    color: #991b1b;
}

.state-scanned .rk-hidden-truth.success {
    display: block;
    background: #d1fae5;
    color: #065f46;
}

.rk-total-price {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-case-dark);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-top: 20px;
    border-top: 1px solid var(--rk-case-border);
}

.rk-price-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-case-gray);
    text-transform: uppercase;
}

.state-scanned .rk-card-bad .rk-total-price span { color: var(--rk-case-danger); }
.state-scanned .rk-card-good .rk-total-price span { color: var(--rk-case-success); }

@media (max-width: 850px) {
    .rk-offer-grid { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 600px) {
    .rk-case-header, .rk-case-story, .rk-case-interactive { padding: 30px 20px; }
    .rk-case-header h2 { font-size: 26px; }
    .rk-case-story { flex-direction: column; text-align: center; gap: 20px; }
    .rk-offer-card { padding: 25px 20px; }
    .rk-scan-btn { width: 100%; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Case Study: Pan Bolesław i haczyki w wycenie lokalnej hurtowni",
    "description": "Studium przypadku weryfikacji zestawienia materiałowego do ogrzewania podłogowego. Dlaczego hurtownie proponują tanie rury bez bariery EVOH?",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-21",
    "dateModified": "2026-06-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-porownanie-wycen",
    "name": "Weryfikacja Inżynierska Zestawienia Materiałowego",
    "description": "Baza danych porównująca pozornie tanie oferty hurtowni instalacyjnych (rury bez EVOH) z poprawnymi zestawieniami inżynierskimi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "sprawdzanie wyceny ogrzewania podłogowego",
      "tania rura do podłogówki opinie",
      "kosztorys instalacji sanitarnych",
      "braki w wycenie hurtowni",
      "niezależny projektant hvac"
    ],
    "measurementTechnique": "Analiza krzyżowa komponentów z oferty hurtowej pod kątem występowania rur jedno- i wielowarstwowych oraz kalkulacja całkowitych kosztów eksploatacji (TCO).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Oferta hurtowni: Rura PE-RT jedno-warstwowa, brak certyfikacji, oszczędność początkowa ok. 800 PLN.",
        "Weryfikacja ekspercka: Zastosowanie rury PEX-a EVOH, gwarancja zabezpieczenia kotła, wyeliminowanie ukrytego ryzyka korozji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-skaner-kosztorysu",
    "name": "Skaner Ofert Hurtowych",
    "description": "Interaktywny symulator pozwalający użytkownikowi prześwietlić pozornie tanie zestawienie materiałowe z hurtowni i ujawnić ukryte błędy projektowe (brak bariery tlenowej).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container" id="rk-case-app">
    <div class="rk-case-header">
        <div class="rk-case-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
            Studium Przypadku
        </div>
        <h2>Case Study: Pan Bolesław i wycena z lokalnej hurtowni</h2>
        <p>
            Teoria to jedno, ale jak wygląda to na prawdziwym placu budowy? Sprawdźmy autentyczny przypadek weryfikacji zestawienia materiałowego.
        </p>
    </div>

    <div class="rk-case-story">
        <div class="rk-case-avatar">
            <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>
        </div>
        <div class="rk-case-story-text">
            <p>
                <strong>Zarys sytuacji:</strong> Pan Bolesław buduje nowoczesny dom jednorodzinny pod Łodzią. Wysłał rzuty budynku do lokalnej dużej hurtowni hydraulicznej i otrzymał wycenę materiałów na ogrzewanie podłogowe. Kwota wydawała się bardzo atrakcyjna, jednak przed zakupem Pan Bolesław zgłosił się do naszego biura z prośbą o niezależną weryfikację inżynierską całego zestawienia. 
            </p>
        </div>
    </div>

    <div class="rk-case-interactive" id="rkScanContainer">
        <div class="rk-case-int-title">
            <h3>Porównaj wyceny materiałowe</h3>
            <p>Hurtownia kontra niezależny standard projektowy. Kliknij przycisk poniżej.</p>
        </div>

        <div class="rk-scanner-toggle">
            <button class="rk-scan-btn" id="rkScanBtn">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Prześwietl ofertę hurtowni okiem inżyniera
            </button>
        </div>

        <div class="rk-offer-grid state-default" id="rkOfferGrid">
            
            <div class="rk-offer-card rk-card-bad">
                <div class="rk-offer-header">
                    <div class="rk-offer-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                    </div>
                    <div>
                        <h4 class="rk-offer-title">Zestawienie Hurtowni</h4>
                        <div class="rk-offer-subtitle">Cel: Najniższa cena końcowa</div>
                    </div>
                </div>
                
                <ul class="rk-offer-list">
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            Rozdzielacz mosiężny 10 sekcji
                        </div>
                    </li>
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            Szafka podtynkowa i złączki
                        </div>
                    </li>
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            <strong>Rura PE-RT 16x2.0 (jednowarstwowa)</strong>
                            <div class="rk-hidden-truth danger">UKRYTY KOSZT: Brak bariery EVOH. Gwarantowane zamulenie kotła i zniszczenie pompy do 5 lat od uruchomienia. Koszt awarii ok. 8 000 PLN.</div>
                        </div>
                    </li>
                </ul>

                <div class="rk-total-price">
                    <div class="rk-price-label">Koszt materiału</div>
                    <span>4 200 PLN</span>
                </div>
            </div>

            <div class="rk-offer-card rk-card-good">
                <div class="rk-offer-header">
                    <div class="rk-offer-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                    </div>
                    <div>
                        <h4 class="rk-offer-title">Weryfikacja Projektanta</h4>
                        <div class="rk-offer-subtitle">Cel: 50 lat bezpieczeństwa</div>
                    </div>
                </div>
                
                <ul class="rk-offer-list">
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            Rozdzielacz stal nierdzewna
                        </div>
                    </li>
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            Złączki typu Press (systemowe)
                        </div>
                    </li>
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            <strong>Rura PEX-a 5L z barierą EVOH</strong>
                            <div class="rk-hidden-truth success">OCHRONA: Zgodność z normą DIN 4726. Pełna blokada tlenu. Kotłownia pracuje w bezpiecznym środowisku beztlenowym.</div>
                        </div>
                    </li>
                </ul>

                <div class="rk-total-price">
                    <div class="rk-price-label">Koszt materiału</div>
                    <span>5 900 PLN</span>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const scanBtn = document.getElementById('rkScanBtn');
    const offerGrid = document.getElementById('rkOfferGrid');

    scanBtn.addEventListener('click', function() {
        let isScanned = offerGrid.classList.contains('state-scanned');

        if (isScanned) {
            // Wróć do domyślnego
            offerGrid.classList.remove('state-scanned');
            offerGrid.classList.add('state-default');
            scanBtn.classList.remove('active');
            scanBtn.innerHTML = `
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Prześwietl ofertę hurtowni okiem inżyniera
            `;
        } else {
            // Włącz skaner
            offerGrid.classList.remove('state-default');
            offerGrid.classList.add('state-scanned');
            scanBtn.classList.add('active');
            scanBtn.innerHTML = `
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>
                Zamknij skaner
            `;
        }
    });
});
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-light: #f8fafc;
    --rk-auth-accent: #0ea5e9;
    --rk-auth-gold: #d97706;
    --rk-auth-gold-light: #fef3c7;
    --rk-auth-gray: #64748b;
    --rk-auth-border: #e2e8f0;
    --rk-auth-bg: #ffffff;
}

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

.rk-auth-container * {
    box-sizing: border-box;
}

/* Nagłówek Sekcji */
.rk-auth-header {
    padding: 45px 50px 35px;
    background: var(--rk-auth-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-auth-gold);
    text-align: center;
}

.rk-auth-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(217, 119, 6, 0.2);
    color: #fcd34d;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(252, 211, 77, 0.2);
}

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

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

/* Profil Autora i Cytat */
.rk-auth-profile-box {
    padding: 45px 50px;
    background: #ffffff;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: start;
}

/* Lewa Kolumna - Zdjęcie i Sociale */
.rk-auth-sidebar {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-auth-photo-wrap {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    padding: 6px;
    background: linear-gradient(135deg, var(--rk-auth-gold) 0%, var(--rk-auth-blue) 100%);
    margin-bottom: 20px;
}

.rk-auth-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
}

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

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

.rk-auth-socials {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.rk-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 12px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}

.rk-social-fb {
    background: #f1f5f9;
    color: #1877F2;
    border: 1px solid #e2e8f0;
}

.rk-social-fb:hover {
    background: #1877F2;
    color: #ffffff;
}

.rk-social-li {
    background: #f1f5f9;
    color: #0A66C2;
    border: 1px solid #e2e8f0;
}

.rk-social-li:hover {
    background: #0A66C2;
    color: #ffffff;
}

/* Prawa Kolumna - Interaktywny Blok Ekspercki */
.rk-auth-content {
    display: flex;
    flex-direction: column;
}

.rk-auth-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 25px;
    border-bottom: 2px solid var(--rk-auth-border);
    padding-bottom: 10px;
}

.rk-auth-tab-btn {
    background: transparent;
    border: none;
    padding: 10px 15px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-auth-gray);
    cursor: pointer;
    border-radius: 8px;
    transition: background-color 0.2s, color 0.2s;
}

.rk-auth-tab-btn:hover {
    background: var(--rk-auth-light);
    color: var(--rk-auth-dark);
}

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

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

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

/* Stylizacja samego cytatu */
.rk-quote-wrap {
    position: relative;
    padding: 35px 40px;
    background: var(--rk-auth-gold-light);
    border-radius: 0 20px 20px 20px;
    border-left: 6px solid var(--rk-auth-gold);
}

.rk-quote-mark {
    position: absolute;
    top: -15px;
    left: 20px;
    font-size: 80px;
    line-height: 1;
    font-family: Georgia, serif;
    color: rgba(217, 119, 6, 0.15);
    font-weight: 900;
}

.rk-quote-text {
    position: relative;
    z-index: 2;
    font-size: 18px;
    line-height: 1.7;
    color: var(--rk-auth-dark);
    font-weight: 700;
    margin: 0 0 20px 0;
}

.rk-quote-text strong {
    color: var(--rk-auth-gold);
    font-weight: 900;
}

.rk-quote-sign {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-auth-dark);
}

.rk-quote-sign::before {
    content: '';
    display: block;
    width: 30px;
    height: 3px;
    background: var(--rk-auth-gold);
}

@media (max-width: 850px) {
    .rk-auth-profile-box {
        grid-template-columns: 1fr;
        gap: 35px;
    }
    .rk-auth-sidebar {
        flex-direction: row;
        text-align: left;
        align-items: center;
        flex-wrap: wrap;
        gap: 25px;
        padding-bottom: 30px;
        border-bottom: 1px solid var(--rk-auth-border);
    }
    .rk-auth-photo-wrap {
        width: 120px;
        height: 120px;
        margin-bottom: 0;
    }
    .rk-auth-socials {
        width: auto;
        flex-direction: row;
    }
    .rk-social-btn {
        padding: 10px 20px;
    }
}

@media (max-width: 600px) {
    .rk-auth-header, .rk-auth-profile-box { padding: 30px 20px; }
    .rk-auth-header h2 { font-size: 26px; }
    
    .rk-auth-sidebar {
        flex-direction: column;
        text-align: center;
    }
    .rk-auth-socials {
        flex-direction: column;
        width: 100%;
    }
    .rk-auth-tabs {
        flex-direction: column;
        border-bottom: none;
        gap: 5px;
    }
    .rk-auth-tab-btn {
        width: 100%;
        text-align: center;
        border: 1px solid var(--rk-auth-border);
    }
    .rk-auth-tab-btn.active {
        border-color: var(--rk-auth-dark);
    }
    .rk-quote-wrap {
        padding: 30px 20px;
        border-radius: 16px;
    }
    .rk-quote-text {
        font-size: 16px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-podsumowanie-autorskie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Okiem eksperta: Robert Kucharski o rurach z barierą EVOH",
    "description": "Autorskie podsumowanie inżynierskie dotyczące bezwzględnej konieczności stosowania rur z barierą antydyfuzyjną EVOH w systemach płaszczyznowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-zalecenia-inżynierskie",
    "name": "Zestawienie autorskich zaleceń inżynierskich dotyczących rur EVOH",
    "description": "Baza wiedzy zawierająca ostateczne wytyczne instalacyjne i inwestycyjne sformułowane na podstawie tysięcy zrealizowanych projektów HVAC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie instalacji podłogowej",
      "opinia eksperta o rurach evoh",
      "robert kucharski projekt ogrzewania",
      "jaką rurę do podłogówki kupić 2026",
      "gwarancja na systemy płaszczyznowe"
    ],
    "measurementTechnique": "Wnioski empiryczne wyciągnięte na podstawie długoletniej praktyki inżynierskiej, testów ciśnieniowych oraz analizy awaryjności systemów bez EVOH.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura bez warstwy EVOH to drastyczne ryzyko dla każdego elementu mechanicznego w kotłowni.",
        "Oszczędność rzędu kilkuset złotych na materiale rury skutkuje awariami liczonymi w tysiącach złotych.",
        "Profesjonalny dobór gwarantuje 50 lat bezawaryjnej i stabilnej pracy układu hydraulicznego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-ekspert-doradztwo",
    "name": "Interaktywny Panel Doradztwa Inżynierskiego",
    "description": "Moduł ekspercki umożliwiający szybkie zapoznanie się z wieloma aspektami opinii inżynierskiej (Rada Techniczna, Wniosek Finansowy, Ostateczna Gwarancja) bez przeładowywania strony.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container" id="rk-expert-panel">
    <div class="rk-auth-header">
        <div class="rk-auth-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Podsumowanie Techniczne
        </div>
        <h2>Okiem eksperta: Robert Kucharski</h2>
        <p>
            Po zaprojektowaniu setek układów hydraulicznych, widziałem na placach budowy wszystko. Poniżej przedstawiam moje ostateczne wnioski dotyczące stosowania barier antydyfuzyjnych.
        </p>
    </div>

    <div class="rk-auth-profile-box">
        
        <!-- Lewy Panel - Profil i Linki -->
        <div class="rk-auth-sidebar">
            <div class="rk-auth-photo-wrap">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Specjalista HVAC" class="rk-auth-photo" loading="lazy">
            </div>
            
            <div class="rk-auth-person-info">
                <h3 class="rk-auth-name-title">Robert Kucharski</h3>
                <div class="rk-auth-role">CEO Projekt-Ogrzewania.pl</div>
                
                <div class="rk-auth-socials">
                    <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-btn rk-social-fb" aria-label="Profil Facebook">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" stroke="none"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.469h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.469h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg>
                        Facebook
                    </a>
                    <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-btn rk-social-li" aria-label="Profil LinkedIn">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" stroke="none"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg>
                        LinkedIn
                    </a>
                </div>
            </div>
        </div>

        <!-- Prawy Panel - Interaktywne Zakładki i Cytat -->
        <div class="rk-auth-content">
            
            <div class="rk-auth-tabs" id="rkExpertTabs">
                <button class="rk-auth-tab-btn active" data-target="panel-tech">Rada Techniczna</button>
                <button class="rk-auth-tab-btn" data-target="panel-fin">Wniosek Finansowy</button>
                <button class="rk-auth-tab-btn" data-target="panel-gwar">Gwarancja Trwałości</button>
            </div>

            <!-- Panel 1: Techniczny -->
            <div class="rk-auth-panel active" id="panel-tech">
                <div class="rk-quote-wrap">
                    <div class="rk-quote-mark">"</div>
                    <p class="rk-quote-text">
                        Brak powłoki antydyfuzyjnej to nie jest kwestia drobnej nieszczelności. To wpuszczenie niewidzialnego wroga prosto do serca instalacji. <strong>Tlen rozpuszczony w zładzie działa jak powolna trucizna</strong>, która zamienia najdroższe, stalowe i mosiężne elementy Twojej kotłowni w bezużyteczny szlam magnetytowy.
                    </p>
                    <div class="rk-quote-sign">Robert Kucharski</div>
                </div>
            </div>

            <!-- Panel 2: Finansowy -->
            <div class="rk-auth-panel" id="panel-fin">
                <div class="rk-quote-wrap" style="background: #f0fdf4; border-color: #10b981;">
                    <div class="rk-quote-mark" style="color: rgba(16, 185, 129, 0.15);">"</div>
                    <p class="rk-quote-text" style="color: #064e3b;">
                        Największym dramatem inwestorów, z jakim spotykam się na co dzień, jest oszczędzanie na niewidocznych elementach. Decyzja o zakupie tańszej rury to <strong>pozorna oszczędność rzędu 500 PLN, która po 3 latach skutkuje awarią kotła wycenianą na 8 000 PLN.</strong> Zawsze edukuję klientów: beton wybaczy wiele, ale hydraulika rozliczy każdy błąd.
                    </p>
                    <div class="rk-quote-sign">Robert Kucharski</div>
                </div>
            </div>

            <!-- Panel 3: Gwarancja -->
            <div class="rk-auth-panel" id="panel-gwar">
                <div class="rk-quote-wrap" style="background: #f0f9ff; border-color: #0284c7;">
                    <div class="rk-quote-mark" style="color: rgba(2, 132, 199, 0.15);">"</div>
                    <p class="rk-quote-text" style="color: #075985;">
                        Jeżeli zastosujesz 5-warstwową rurę EVOH, połączysz ją dedykowanymi złączkami zaprasowywanymi i przeprowadzisz rzetelną próbę ciśnieniową przed wylewką, możesz spać spokojnie. <strong>Taki układ, poparty solidnym projektem OZC, to gwarancja ponad 50 lat całkowicie bezawaryjnej pracy posadzki.</strong> W ten sposób buduje się domy na pokolenia.
                    </p>
                    <div class="rk-quote-sign">Robert Kucharski</div>
                </div>
            </div>

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

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

    for (let i = 0; i < tabBtns.length; i++) {
        tabBtns[i].addEventListener('click', function() {
            
            // Usunięcie klasy active z przycisków
            for (let j = 0; j < tabBtns.length; j++) {
                tabBtns[j].classList.remove('active');
            }
            
            // Ukrycie wszystkich paneli
            for (let k = 0; k < panels.length; k++) {
                panels[k].classList.remove('active');
            }

            // Nadanie active klikniętemu przyciskowi
            this.classList.add('active');

            // Pokazanie docelowego panelu
            let targetId = this.getAttribute('data-target');
            let targetPanel = document.getElementById(targetId);
            
            if (targetPanel) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



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

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

/* Nagłówek Sekcji */
.rk-faq-top {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, #1e293b 0%, var(--rk-faq-dark) 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-faq-blue);
}

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

.rk-faq-top h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
    color: #ffffff;
}

.rk-faq-top p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Interaktywny Akordeon FAQ */
.rk-faq-wrapper {
    padding: 40px 50px;
    background: var(--rk-faq-hover);
}

.rk-faq-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    margin-bottom: 15px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.rk-faq-item:last-child {
    margin-bottom: 0;
}

.rk-faq-item:hover {
    border-color: #bae6fd;
    box-shadow: 0 10px 20px -10px rgba(2, 132, 199, 0.15);
}

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

.rk-faq-header {
    padding: 24px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
    gap: 20px;
}

.rk-faq-q-box {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-faq-icon-q {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: var(--rk-faq-light-blue);
    color: var(--rk-faq-blue);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 18px;
    transition: all 0.3s;
}

.rk-faq-item.active .rk-faq-icon-q {
    background: var(--rk-faq-blue);
    color: #ffffff;
}

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

.rk-faq-toggle {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #f1f5f9;
    color: var(--rk-faq-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

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

.rk-faq-body {
    padding: 0 30px 30px 85px;
}

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

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

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

/* Call to Action */
.rk-faq-cta {
    padding: 45px 50px;
    background: #ffffff;
    text-align: center;
    border-top: 1px solid var(--rk-faq-border);
}

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

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

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

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

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

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

@media (max-width: 768px) {
    .rk-faq-top, .rk-faq-wrapper, .rk-faq-cta { padding: 30px 20px; }
    .rk-faq-header { padding: 20px; flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-faq-q-box { width: 100%; align-items: flex-start; }
    .rk-faq-toggle { position: absolute; right: 20px; top: 25px; }
    .rk-faq-body { padding: 0 20px 25px 20px; }
    .rk-faq-top h2 { font-size: 26px; }
    .rk-btn-solid { width: 100%; padding: 18px 20px; font-size: 16px; }
    .rk-faq-item { position: relative; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Kompleksowe FAQ – Najważniejsze pytania inwestorów o EVOH",
    "description": "Baza wiedzy technicznej: zniszczenie bariery EVOH, weryfikacja rur, glikol w instalacji oraz zastosowanie inhibitorów korozji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#faqpage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy barierę EVOH można zniszczyć podczas montażu ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, w rurach 3-warstwowych (3L) powłoka EVOH znajduje się na zewnątrz i może zostać zarysowana przez ostre krawędzie spinek tackera lub zatarte zanieczyszczenia na styropianie. Dlatego należy stosować wyłącznie certyfikowane rury 5-warstwowe (5L), gdzie warstwa EVOH jest ukryta w rdzeniu struktury rury i chroniona zewnętrznym grubym polietylenem."
        }
      },
      {
        "@type": "Question",
        "name": "Jak sprawdzić, czy zakupiona rura rzeczywiście posiada sprawną barierę antydyfuzyjną?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy zweryfikować nadruk na rurze, który musi zawierać jasne oznaczenie normy PN-EN ISO 21003 lub niemieckiego certyfikatu DIN 4726 wraz z unikalnym numerem rejestracyjnym jednostki certyfikującej (np. DIN-Geprüft). Dodatkowo, po odcięciu nożycami kawałka rury, pod lupą można wyraźnie dostrzec pięć warstw materiału, w tym ciemniejszy, błyszczący pierścień kopolimeru EVOH."
        }
      },
      {
        "@type": "Question",
        "name": "Czy w przypadku zalania instalacji glikolem bariera EVOH nadal jest potrzebna?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, powłoka EVOH jest absolutnie niezbędna również w instalacjach glikolowych, ponieważ tlen przyspiesza proces termicznej degradacji i starzenia glikolu, obniżając jego odczyn pH. Zakwaszony roztwór glikolu staje się skrajnie agresywny chemicznie dla mosiężnych rozdzielaczy i uszczelnień EPDM, co prowadzi do rozszczelnienia połączeń na eurokonusach."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka jest różnica w przewodzeniu ciepła rury PEX z EVOH a rury wielowarstwowej z wkładką aluminiową (PEX-Al-PEX)?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rura PEX-Al-PEX posiada grubszą wkładkę aluminiową (lambda ok. 200 W/(m·K)), jednak jej finalny, wypadkowy opór cieplny jest zbliżony do rury PEX-EVOH, ponieważ główny opór stanowi gruba warstwa polietylenu. W praktyce inżynierskiej obie rury oddają energię do jastrychu betonowego z niemal identyczną wydajnością cieplną wynoszącą od 70 do 100 W/m²."
        }
      },
      {
        "@type": "Question",
        "name": "Czy inhibitor korozji wlany do wody w 100% zastąpi brak bariery antydyfuzyjnej w rurach?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, chemiczne inhibitory korozji mają ograniczoną pojemność absorpcji tlenu i ulegają stopniowemu zużyciu (przereagowaniu) w miarę ciągłego dopływu nowego gazu. W instalacji z rurami bez EVOH, gdzie tlen przenika bezustannie przez całą dobę, konieczne byłoby cotygodniowe dozowanie nowych dawek chemii, co jest niewykonalne i ekonomicznie nieuzasadnione."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-faq",
    "name": "Parametry Fizyczne i Eksploatacyjne Rur z EVOH",
    "description": "Zestawienie inżynierskie dotyczące powłok EVOH, przewodzenia ciepła rur PEX-Al-PEX oraz parametrów degradacji glikolu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy barierę EVOH można zniszczyć",
      "jak sprawdzić rurę z barierą antydyfuzyjną",
      "glikol w instalacji z barierą EVOH",
      "rura PEX-Al-PEX a rura EVOH różnice",
      "inhibitor korozji zamiast rury EVOH"
    ],
    "measurementTechnique": "Weryfikacja organoleptyczna nadruków DIN 4726, pomiar przewodności cieplnej (lambda) oraz analiza kwasowości (pH) starzejącego się glikolu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wyższość rur 5-warstwowych nad 3-warstwowymi ze względu na osłonę mechaniczną.",
        "Potwierdzona wydajność cieplna dla jastrychu betonowego: od 70 do 100 W/m²."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-faq",
    "name": "Moduł Wyszukiwania Odpowiedzi Inżynierskich EVOH",
    "description": "Interaktywny akordeon dynamicznie prezentujący zoptymalizowane rozwiązania techniczne i normy (PN-EN ISO 21003) na zadane zapytania.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="rk-evoh-faq-app">
    <div class="rk-faq-top">
        <div class="rk-faq-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Baza Wiedzy
        </div>
        <h2>Kompleksowe FAQ – Najważniejsze pytania inwestorów</h2>
        <p>
            Poznaj kluczowe detale technologiczne, które decydują o trwałości Twojego ogrzewania płaszczyznowego. Rozwiń pytania poniżej, aby poznać fachowe odpowiedzi.
        </p>
    </div>

    <div class="rk-faq-wrapper" id="rkFaqList">
        
        <div class="rk-faq-item">
            <div class="rk-faq-header" role="button" tabindex="0">
                <div class="rk-faq-q-box">
                    <div class="rk-faq-icon-q">Q</div>
                    <h3 class="rk-faq-title">Czy barierę EVOH można zniszczyć podczas montażu ogrzewania podłogowego?</h3>
                </div>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>
                        Tak, w rurach 3-warstwowych (3L) powłoka EVOH znajduje się na zewnątrz i może zostać zarysowana przez ostre krawędzie spinek tackera lub zatarte zanieczyszczenia na styropianie. Dlatego należy stosować wyłącznie certyfikowane rury 5-warstwowe (5L), gdzie warstwa EVOH jest ukryta w rdzeniu struktury rury i chroniona zewnętrznym grubym polietylenem. Uniknięcie tego to jeden z głównych kroków opisujących <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstsze błędy przy montażu ogrzewania podłogowego</a>.
                    </p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header" role="button" tabindex="0">
                <div class="rk-faq-q-box">
                    <div class="rk-faq-icon-q">Q</div>
                    <h3 class="rk-faq-title">Jak sprawdzić, czy zakupiona rura rzeczywiście posiada sprawną barierę antydyfuzyjną?</h3>
                </div>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>
                        Należy zweryfikować nadruk na rurze, który musi zawierać jasne oznaczenie normy <strong>PN-EN ISO 21003</strong> lub niemieckiego certyfikatu <strong>DIN 4726</strong> wraz z unikalnym numerem rejestracyjnym jednostki certyfikującej (np. DIN-Geprüft). Dodatkowo, po odcięciu nożycami kawałka rury, pod lupą można wyraźnie dostrzec pięć warstw materiału, w tym ciemniejszy, błyszczący pierścień kopolimeru EVOH.
                    </p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header" role="button" tabindex="0">
                <div class="rk-faq-q-box">
                    <div class="rk-faq-icon-q">Q</div>
                    <h3 class="rk-faq-title">Czy w przypadku zalania instalacji glikolem bariera EVOH nadal jest potrzebna?</h3>
                </div>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>
                        Tak, powłoka EVOH jest absolutnie niezbędna również w instalacjach glikolowych, ponieważ tlen przyspiesza proces termicznej degradacji i starzenia glikolu, obniżając jego odczyn pH. Zakwaszony roztwór staje się skrajnie agresywny chemicznie dla mosiężnych rozdzielaczy i uszczelnień EPDM, co prowadzi do rozszczelnienia połączeń na eurokonusach. Więcej o tym zagadnieniu przeczytasz analizując <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/">prawdy i mity o glikolu w ogrzewaniu podłogowym</a>.
                    </p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header" role="button" tabindex="0">
                <div class="rk-faq-q-box">
                    <div class="rk-faq-icon-q">Q</div>
                    <h3 class="rk-faq-title">Jaka jest różnica w przewodzeniu ciepła rury PEX z EVOH a rury wielowarstwowej z wkładką aluminiową (PEX-Al-PEX)?</h3>
                </div>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>
                        Rura PEX-Al-PEX posiada grubszą wkładkę aluminiową (lambda ok. 200 W/(m·K)), jednak jej finalny, wypadkowy opór cieplny jest zbliżony do standardowej <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rury do ogrzewania podłogowego</a> PEX-EVOH, ponieważ główny opór zawsze stanowi gruba warstwa polietylenu. W praktyce inżynierskiej obie rury oddają energię do jastrychu betonowego z niemal identyczną wydajnością cieplną wynoszącą od 70 do 100 W/m².
                    </p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header" role="button" tabindex="0">
                <div class="rk-faq-q-box">
                    <div class="rk-faq-icon-q">Q</div>
                    <h3 class="rk-faq-title">Czy inhibitor korozji wlany do wody w 100% zastąpi brak bariery antydyfuzyjnej w rurach?</h3>
                </div>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>
                        Nie, chemiczne inhibitory korozji mają ograniczoną pojemność absorpcji tlenu i ulegają stopniowemu zużyciu (przereagowaniu) w miarę ciągłego dopływu nowego gazu. W instalacji z rurami bez EVOH, gdzie tlen przenika bezustannie przez całą dobę, konieczne byłoby cotygodniowe dozowanie nowych dawek chemii. Choć <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">woda demineralizowana z inhibitorem korozji</a> jest wysoce zalecana, to nigdy nie zastąpi fizycznej bariery polimerowej.
                    </p>
                </div>
            </div>
        </div>

    </div>

    <div class="rk-faq-cta">
        <h3>Uniknij błędów zanim wylejesz beton</h3>
        <p>
            Ogrzewanie podłogowe to system, w którym nie ma miejsca na domysły. Błędy hydrauliczne ujawniają się dopiero po ułożeniu płytek, generując ogromne straty.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-solid">
            CZYTAJ WIĘCEJ NA BLOGU
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

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

    for (let i = 0; i < faqItems.length; i++) {
        let currentHeader = faqItems[i].querySelector('.rk-faq-header');
        
        currentHeader.addEventListener('click', function() {
            let isItemActive = faqItems[i].classList.contains('active');

            // Zwiń wszystkie
            for (let j = 0; j < faqItems.length; j++) {
                faqItems[j].classList.remove('active');
                let contentBody = faqItems[j].querySelector('.rk-faq-content');
                if (contentBody) {
                    contentBody.style.maxHeight = null;
                }
            }

            // Rozwiń kliknięty (jeśli był zwinięty)
            if (isItemActive === false) {
                faqItems[i].classList.add('active');
                let targetContent = faqItems[i].querySelector('.rk-faq-content');
                if (targetContent) {
                    targetContent.style.maxHeight = targetContent.scrollHeight + "px";
                }
            }
        });

        // Obsługa z klawiatury dla dostępności
        currentHeader.addEventListener('keydown', function(e) {
            if (e.key === 'Enter') {
                if (e.key !== 'Tab') {
                    e.preventDefault();
                    this.click();
                }
            }
            if (e.key === ' ') {
                e.preventDefault();
                this.click();
            }
        });
    }
});
</script>



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

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

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

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

.rk-evoh-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.2;
    color: #ffffff;
}

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

/* Interaktywny Panel */
.rk-evoh-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-evoh-tabs {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.rk-evoh-tab-btn {
    flex: 1;
    padding: 20px;
    border-radius: 16px;
    border: 2px solid var(--rk-sum-border);
    background: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    overflow: hidden;
}

.rk-evoh-tab-btn::before {
    content: '';
    position: absolute;
    top: 0; left: 0; bottom: 0; width: 6px;
    background: var(--rk-sum-gray);
    transition: all 0.3s ease;
}

.rk-evoh-tab-btn:hover {
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
    transform: translateY(-2px);
}

.rk-evoh-tab-btn.active[data-target="panel-pro"] {
    border-color: var(--rk-sum-green);
    background: var(--rk-sum-green-light);
}

.rk-evoh-tab-btn.active[data-target="panel-pro"]::before {
    background: var(--rk-sum-green);
}

.rk-evoh-tab-btn.active[data-target="panel-risk"] {
    border-color: var(--rk-sum-red);
    background: var(--rk-sum-red-light);
}

.rk-evoh-tab-btn.active[data-target="panel-risk"]::before {
    background: var(--rk-sum-red);
}

.rk-evoh-tab-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    color: var(--rk-sum-gray);
}

.active[data-target="panel-pro"] .rk-evoh-tab-icon { background: var(--rk-sum-green); color: #fff; }
.active[data-target="panel-risk"] .rk-evoh-tab-icon { background: var(--rk-sum-red); color: #fff; }

.rk-evoh-tab-text h3 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-sum-dark);
}

.rk-evoh-tab-text p {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

/* Wynik symulacji */
.rk-evoh-panel {
    display: none;
    grid-template-columns: 140px 1fr;
    gap: 30px;
    align-items: start;
    padding: 35px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-sum-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    animation: fadeIn 0.4s ease-out;
}

.rk-evoh-panel.active {
    display: grid;
}

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

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

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

.panel-pro-text h4 { color: #047857; }
.panel-risk-text h4 { color: #b91c1c; }

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

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

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

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

/* Sekcja Tagi */
.rk-evoh-tags {
    padding: 0 50px 30px;
    background: #f8fafc;
}

.rk-evoh-tags-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rk-mat-tag {
    background: var(--rk-sum-light-blue);
    color: var(--rk-sum-blue);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid #bae6fd;
    transition: all 0.3s;
    cursor: default;
}

.rk-mat-tag:hover {
    background: var(--rk-sum-blue);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

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

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

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

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

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

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

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

@media (max-width: 768px) {
    .rk-evoh-header, .rk-evoh-interactive, .rk-sum-cta-box, .rk-evoh-tags { padding: 30px 20px; }
    .rk-evoh-tabs { flex-direction: column; gap: 15px; }
    .rk-evoh-panel { grid-template-columns: 1fr; text-align: center; padding: 25px 20px; }
    .rk-evoh-svg-box { max-width: 100px; margin: 0 auto 20px; }
    .rk-evoh-header h2 { font-size: 26px; }
    .rk-btn-massive { width: 100%; padding: 18px 20px; font-size: 16px; }
}

/* SVG Animations */
.anim-pipe-flow {
    stroke-dasharray: 10;
    animation: flowAnim 2s linear infinite;
}
@keyframes flowAnim {
    to { stroke-dashoffset: -20; }
}
.anim-pulse-warning {
    animation: pulseWarning 1.5s infinite alternate;
    transform-origin: center;
}
@keyframes pulseWarning {
    from { transform: scale(1); opacity: 1; }
    to { transform: scale(1.1); opacity: 0.8; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Podsumowanie i Rekomendacja Inżynierska – Dlaczego EVOH to konieczność?",
    "description": "Zastosowanie rury z barierą antydyfuzyjną (EVOH) to bezwzględny warunek techniczny dla ogrzewania płaszczyznowego. Sprawdź konsekwencje braku bariery dla kotłowni.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-evoh",
    "name": "Kalkulacja Ryzyka i Kosztów Awarii Brak EVOH 2026",
    "description": "Zestawienie kosztów pozornych oszczędności na rurach bez bariery antydyfuzyjnej względem drastycznych konsekwencji eksploatacyjnych (spadek sprawności o 15-30% i uszkodzenia kotłów).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "skutki braku bariery tlenowej",
      "ogrzewanie podłogowe koszty awarii",
      "zarastanie instalacji szlamem",
      "rura z barierą antydyfuzyjną evoh cena",
      "najlepsze rury do ogrzewania podłogowego"
    ],
    "measurementTechnique": "Porównanie nakładów inwestycyjnych rzędu 400-800 PLN do procentowego spadku sprawności instalacji i kosztów zniszczonych urządzeń kotłowni.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt oszczędności: 400 - 800 PLN na całym systemie.",
        "Konsekwencja: Obniżenie sprawności grzewczej posadzki o 15-30%.",
        "Efekt krytyczny: Uszkodzenie urządzeń przez szlam magnetytowy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-evoh",
    "name": "Kalkulator Decyzji Inżynierskich EVOH",
    "description": "Interaktywny panel zestawiający optymalny standard inżynierski (rura 5-warstwowa EVOH) z wariantem podwyższonego ryzyka (brak zabezpieczeń).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-evoh-container" id="evoh-sum-app">
    <div class="rk-evoh-header">
        <div class="rk-evoh-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Podsumowanie
        </div>
        <h2>Podsumowanie i Rekomendacja Inżynierska</h2>
        <p>
            Zastosowanie rury z barierą antydyfuzyjną (EVOH) to bezwzględny warunek techniczny stawiany współczesnym systemom niskotemperaturowego ogrzewania płaszczyznowego. Wybierz ścieżkę poniżej, aby poznać konsekwencje decyzji zakupowych.
        </p>
    </div>

    <div class="rk-evoh-interactive">
        <div class="rk-evoh-tabs">
            <div class="rk-evoh-tab-btn active" data-target="panel-pro" tabindex="0" role="button">
                <div class="rk-evoh-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <div class="rk-evoh-tab-text">
                    <h3>50 Lat Bezawaryjności</h3>
                    <p>Standard rura 5-warstwowa EVOH</p>
                </div>
            </div>
            
            <div class="rk-evoh-tab-btn" data-target="panel-risk" tabindex="0" role="button">
                <div class="rk-evoh-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <div class="rk-evoh-tab-text">
                    <h3>Pozorna Oszczędność</h3>
                    <p>Zwykła rura bez bariery tlenowej</p>
                </div>
            </div>
        </div>

        <div class="rk-evoh-panel active" id="panel-pro">
            <div class="rk-evoh-svg-box">
                <svg viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <circle cx="50" cy="50" r="45" stroke="#10b981" stroke-width="4" fill="#dcfce7"/>
                    <circle cx="50" cy="50" r="35" stroke="#047857" stroke-width="2"/>
                    <circle cx="50" cy="50" r="25" stroke="#10b981" stroke-width="6"/>
                    <circle cx="50" cy="50" r="15" fill="#34d399"/>
                    <path d="M10 50 Q 25 30 15 15" stroke="#64748b" stroke-width="2" stroke-linecap="round" marker-end="url(#arrow-bounce)"/>
                    <text x="7" y="12" fill="#64748b" font-size="10" font-weight="bold">O₂</text>
                </svg>
            </div>
            <div class="rk-evoh-content panel-pro-text">
                <h4>Optymalny Wybór Inżynierski</h4>
                <p>
                    Dla zapewnienia <strong>50-letniej, bezawaryjnej pracy instalacji</strong>, stosujemy rury 5-warstwowe <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PEX-a EVOH</a> lub <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/">PE-RT Typ II EVOH</a> o średnicy 16x2.0 mm.
                </p>
                <p>
                    Kluczem jest rygorystyczne trzymanie się wytycznych. Układamy rury wyłącznie na podstawie profesjonalnego projektu opartego o rzeczywiste obliczenia OZC. Wszystkie połączenia do <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> realizujemy za pomocą dedykowanych złączek (Press), a całość musi przejść protokołowaną próbę ciśnieniową przed wylewką.
                </p>
            </div>
        </div>

        <div class="rk-evoh-panel" id="panel-risk">
            <div class="rk-evoh-svg-box">
                <svg viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <circle cx="50" cy="50" r="45" stroke="#ef4444" stroke-width="4" stroke-dasharray="8 4" fill="#fef2f2"/>
                    <path d="M10 20 L 40 40" stroke="#ef4444" stroke-width="2" stroke-linecap="round" class="anim-pipe-flow"/>
                    <path d="M85 80 L 60 60" stroke="#ef4444" stroke-width="2" stroke-linecap="round" class="anim-pipe-flow"/>
                    <circle cx="50" cy="50" r="20" fill="#450a0a" class="anim-pulse-warning"/>
                    <text x="15" y="15" fill="#ef4444" font-size="10" font-weight="bold">O₂</text>
                    <text x="80" y="95" fill="#ef4444" font-size="10" font-weight="bold">O₂</text>
                </svg>
            </div>
            <div class="rk-evoh-content panel-risk-text">
                <h4>Katastrofalne Konsekwencje</h4>
                <p>
                    Próba pozornego zaoszczędzenia <strong>400 PLN – 800 PLN</strong> na etapie zakupu tańszej rury jednorodnej bez EVOH to błąd, który ujawnia się najczęściej po zakończeniu gwarancji. 
                </p>
                <p>
                    Brak osłony przed tlenem skutkuje kaskadowym zniszczeniem urządzeń grzewczych (zwłaszcza jeśli to <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł gazowy</a> kondensacyjny) oraz trwałym <strong>obniżeniem sprawności podłogi o 15-30%</strong>. Zarastanie rur czarnym szlamem magnetytowym to problem, na który musisz uważać, badając <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/">wady instalacji płaszczyznowych</a> przed ich wdrożeniem.
                </p>
            </div>
        </div>
    </div>

    <div class="rk-evoh-tags">
        <div class="rk-evoh-tags-wrapper">
            <span class="rk-mat-tag"># rura z barierą antydyfuzyjną evoh cena</span>
            <span class="rk-mat-tag"># rura pex czy pert do podłogówki</span>
            <span class="rk-mat-tag"># skutki braku bariery tlenowej</span>
            <span class="rk-mat-tag"># najlepsze rury do ogrzewania podłogowego</span>
            <span class="rk-mat-tag"># rura 5-warstwowa do podłogówki</span>
            <span class="rk-mat-tag"># ogrzewanie podłogowe koszty awarii</span>
            <span class="rk-mat-tag"># zarastanie instalacji szlamem</span>
            <span class="rk-mat-tag"># profesjonalny projekt instalacji sanitarnej</span>
        </div>
    </div>

    <div class="rk-sum-cta-box">
        <h3 class="rk-sum-cta-title">Decyzje inwestycyjne oparte na inżynierii</h3>
        <p class="rk-sum-cta-text">
            Twój dom to projekt życia. Zrozumienie fizyki budowli i parametrów technicznych to jedyny sposób na uniknięcie kosztownych pułapek. Przejdź do naszego kompendium technicznego i buduj bez ściemy.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-massive">
            PRZEJDŹ DO BAZY WIEDZY BLOGA
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

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

    for (let i = 0; i < tabBtns.length; i++) {
        tabBtns[i].addEventListener('click', function() {
            let targetId = this.getAttribute('data-target');
            
            // Remove active from all tabs
            for (let j = 0; j < tabBtns.length; j++) {
                tabBtns[j].classList.remove('active');
            }
            // Add active to clicked
            this.classList.add('active');

            // Hide all panels
            for (let k = 0; k < panels.length; k++) {
                panels[k].classList.remove('active');
            }
            
            // Show target panel
            let targetPanel = document.getElementById(targetId);
            if (targetPanel) {
                targetPanel.classList.add('active');
            }
        });

        // Obsługa z klawiatury dla dostępności
        tabBtns[i].addEventListener('keydown', function(e) {
            if (e.key === 'Enter' || e.key === ' ') {
                e.preventDefault();
                this.click();
            }
        });
    }
});
</script>



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

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

.rk-dl-container * {
    box-sizing: border-box;
    /* Zgodnie z poleceniem: całkowity brak animacji */
    transition: none !important;
    animation: none !important;
}

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

.rk-dl-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: #7dd3fc;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(125, 211, 252, 0.2);
}

.rk-dl-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 10px 0;
    line-height: 1.25;
}

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

/* Sekcja Główna */
.rk-dl-content {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 40px;
    background: #ffffff;
    align-items: start;
}

/* Miniatura Infografiki */
.rk-dl-thumbnail-box {
    background: #f8fafc;
    border: 2px solid var(--rk-dl-border);
    border-radius: 16px;
    padding: 15px;
    text-align: center;
}

.rk-dl-thumbnail {
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    display: block;
    margin-bottom: 15px;
}

.rk-btn-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px;
    background: #ffffff;
    color: var(--rk-dl-dark);
    border: 2px solid var(--rk-dl-dark);
    border-radius: 8px;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
}

.rk-btn-preview:hover {
    background: var(--rk-dl-dark);
    color: #ffffff;
}

/* Przyciski Pobierania i Opis */
.rk-dl-info {
    display: flex;
    flex-direction: column;
}

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

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

.rk-dl-actions {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-btn-download {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 800;
    font-size: 16px;
}

.rk-btn-pdf {
    background: var(--rk-dl-blue);
    color: #ffffff;
    border: 2px solid var(--rk-dl-blue);
}

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

.rk-btn-img {
    background: var(--rk-dl-light);
    color: var(--rk-dl-blue);
    border: 2px solid #bae6fd;
}

.rk-btn-img:hover {
    background: #e0f2fe;
}

.rk-btn-icon-group {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-dl-meta {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 700;
}

/* Sekcja Copyright */
.rk-dl-copyright {
    background: #f8fafc;
    border-top: 1px solid var(--rk-dl-border);
    padding: 20px 50px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.rk-dl-copyright svg {
    color: var(--rk-dl-gray);
    flex-shrink: 0;
    margin-top: 3px;
}

.rk-dl-copyright p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--rk-dl-gray);
    font-weight: 500;
}

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

/* Moduł Podglądu (Lightbox - bez animacji) */
.rk-preview-modal {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.95);
    z-index: 9999;
    padding: 40px;
    align-items: center;
    justify-content: center;
}

.rk-preview-modal.active {
    display: flex;
}

.rk-preview-content {
    position: relative;
    max-width: 800px;
    width: 100%;
    max-height: 90vh;
    background: #ffffff;
    padding: 10px;
    border-radius: 16px;
}

.rk-preview-content img {
    width: 100%;
    height: auto;
    max-height: calc(90vh - 20px);
    object-fit: contain;
    border-radius: 8px;
    display: block;
}

.rk-btn-close {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 44px;
    height: 44px;
    background: var(--rk-dl-red);
    color: #ffffff;
    border: none;
    border-radius: 50%;
    font-size: 24px;
    font-weight: 900;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

@media (max-width: 850px) {
    .rk-dl-content { grid-template-columns: 1fr; gap: 30px; }
    .rk-dl-thumbnail-box { max-width: 400px; margin: 0 auto; }
}

@media (max-width: 600px) {
    .rk-dl-header, .rk-dl-content, .rk-dl-copyright { padding: 30px 20px; }
    .rk-dl-header h2 { font-size: 26px; }
    .rk-preview-modal { padding: 15px; }
    .rk-btn-close { top: -10px; right: -10px; width: 36px; height: 36px; font-size: 20px; }
    .rk-btn-download { flex-direction: column; align-items: flex-start; gap: 10px; }
    .rk-dl-meta { align-self: flex-start; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Infografika: Rura z barierą antydyfuzyjną (EVOH) w pigułce",
    "description": "Zestawienie 5 kluczowych powodów, dla których warstwa EVOH jest niezbędna w instalacji ogrzewania podłogowego. Darmowe materiały edukacyjne do pobrania.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rura-z-bariera-antydyfuzyjna-EVOH.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-21",
    "dateModified": "2026-06-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-infografika-evoh",
    "name": "Materiały Edukacyjne HVAC: 5 Powodów dla EVOH",
    "description": "Zestawienie wizualne i zbiór zasad dotyczących ochrony instalacji grzewczych przed dyfuzją tlenu i korozją.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "zatykanie pompy ciepła szlam",
      "rura z barierą antydyfuzyjną pdf",
      "ściągawka instalatora hvac",
      "norma DIN 4726 pdf"
    ],
    "measurementTechnique": "Prezentacja graficzna zależności pomiędzy strukturą rury (5-warstwowa EVOH) a całkowitym wskaźnikiem ochrony kotła i pomp przed magnetytem.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ochrona kotła i pompy ciepła przed korozją.",
        "Zero przenikania tlenu (< 0,1 mg O2).",
        "Czysta woda w instalacji bez szlamu.",
        "Wydajność potwierdzona na dekady.",
        "Inwestycja i gwarancja na 50 lat."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-centrum-pobierania",
    "name": "Centrum Pobierania Materiałów Inżynierskich",
    "description": "Interaktywny portal zintegrowany z artykułem umożliwiający szybki podgląd w wysokiej rozdzielczości oraz bezpieczne pobieranie schematów i wytycznych instalacyjnych w formatach PDF i WebP.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-center">
    
    <div class="rk-dl-header">
        <div class="rk-dl-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
            Materiały do pobrania
        </div>
        <h2>Infografika: Rura z barierą antydyfuzyjną (EVOH) w pigułce</h2>
        <p>
            Wszystkie najważniejsze parametry i argumenty zebraliśmy w jednym miejscu. Pobierz ściągawkę, aby zawsze mieć przy sobie twarde dowody na skuteczność powłoki EVOH.
        </p>
    </div>

    <div class="rk-dl-content">
        
        <div class="rk-dl-thumbnail-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rura-z-bariera-antydyfuzyjna-EVOH.webp" alt="Infografika rura EVOH - miniatura" class="rk-dl-thumbnail" loading="lazy">
            <button class="rk-btn-preview" id="rkBtnOpenPreview">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Powiększ obraz
            </button>
        </div>

        <div class="rk-dl-info">
            <h3>5 kluczowych powodów w jednym pliku</h3>
            <p>
                Materiał idealnie sprawdza się jako pomoc na budowie dla instalatorów oraz jako argumentacja dla inwestorów stojących przed wyborem rury. Wybierz odpowiedni format poniżej.
            </p>

            <div class="rk-dl-actions">
                
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rura-z-bariera-antydyfuzyjna-EVOH.pdf" target="_blank" rel="noopener noreferrer" class="rk-btn-download rk-btn-pdf">
                    <div class="rk-btn-icon-group">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                        Pobierz plik PDF
                    </div>
                    <span class="rk-dl-meta">Wysoka jakość druku</span>
                </a>

                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rura-z-bariera-antydyfuzyjna-EVOH.webp" target="_blank" rel="noopener noreferrer" class="rk-btn-download rk-btn-img">
                    <div class="rk-btn-icon-group">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                        Zapisz jako Obrazek
                    </div>
                    <span class="rk-dl-meta">Szybkie udostępnianie (.webp)</span>
                </a>

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

    <div class="rk-dl-copyright">
        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M14.83 14.83a4 4 0 1 1 0-5.66"></path></svg>
        <p>
            <strong>© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski.</strong><br>
            Udostępnianie materiału dozwolone wyłącznie z zachowaniem oryginalnego logotypu portalu i bez żadnych modyfikacji pliku. Pamiętaj, że rzetelna edukacja buduje branżę.
        </p>
    </div>
</div>

<div class="rk-preview-modal" id="rkPreviewModal">
    <div class="rk-preview-content">
        <button class="rk-btn-close" id="rkBtnClosePreview" aria-label="Zamknij podgląd">×</button>
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rura-z-bariera-antydyfuzyjna-EVOH.webp" alt="Pełnowymiarowa infografika EVOH" loading="lazy">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btnOpen = document.getElementById('rkBtnOpenPreview');
    const btnClose = document.getElementById('rkBtnClosePreview');
    const modal = document.getElementById('rkPreviewModal');

    // Brak && i animacji, czyste przypisanie klas
    function openModal() {
        if (modal) {
            modal.classList.add('active');
        }
    }

    function closeModal() {
        if (modal) {
            let isActive = modal.classList.contains('active');
            if (isActive) {
                modal.classList.remove('active');
            }
        }
    }

    if (btnOpen) {
        btnOpen.addEventListener('click', openModal);
    }

    if (btnClose) {
        btnClose.addEventListener('click', closeModal);
    }

    // Zamknięcie po kliknięciu w tło
    if (modal) {
        modal.addEventListener('click', function(e) {
            let isBackground = false;
            if (e.target === modal) {
                isBackground = true;
            }
            if (isBackground) {
                closeModal();
            }
        });
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">Rura z barierą antydyfuzyjną (EVOH).</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rozstaw rur w wodnym ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 25 Jan 2026 08:32:32 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Projekty techniczne]]></category>
		<category><![CDATA[Rodzaje rur grzewczych]]></category>
		<category><![CDATA[Rozstaw rur ogrzewania]]></category>
		<category><![CDATA[Rozstaw rur podłogówki]]></category>
		<category><![CDATA[Rozstaw rur w podłogówce]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[delta t]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[moc ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3301</guid>

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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

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

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

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

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

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

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

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

<tbody>

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

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

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

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

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

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



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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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



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



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



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



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

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

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

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

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

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

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

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

<div class="chart-container">

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

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

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

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

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

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

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

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

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

</svg>

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

</div>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="InOHZNCO2a"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=B0gffQFdTM#?secret=InOHZNCO2a" data-secret="InOHZNCO2a" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Rozstaw rur w wodnym ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>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 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[
<style>
/* REFORMA I IZOLACJA MODELU PUDEŁKOWEGO DLA WORDPRESS */
.rk-intro-wrapper, .rk-intro-wrapper * {
    box-sizing: border-box !important;
}

.rk-intro-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-intro-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.12);
    border: 1px solid #bae6fd;
    overflow: hidden;
    line-height: normal;
}

:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-panel: #1e293b;
    --rk-intro-primary: #0ea5e9; 
    --rk-intro-primary-light: #f0f9ff;
    --rk-intro-accent: #f59e0b; 
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-muted: #64748b;
    --rk-intro-success: #10b981;
}

/* JAWNY I STABILNY UKŁAD SIATKI NA DESKTOP */
.rk-intro-header {
    padding: 45px 50px;
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    position: relative;
    border-bottom: 4px solid var(--rk-intro-primary);
    overflow: hidden;
    display: grid !important;
    grid-template-columns: 120px 1fr !important;
    gap: 30px !important;
    align-items: flex-start;
}

.rk-intro-header::before {
    content: '';
    position: absolute;
    top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle at center, rgba(14, 165, 233, 0.05) 0%, transparent 60%);
    animation: rotateBg 20s linear infinite;
    pointer-events: none;
    z-index: 1;
}

@keyframes rotateBg {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Kontener dla awatara i tagu */
.rk-expert-profile {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    position: relative;
    z-index: 2;
    grid-column: 1;
    width: 120px !important;
    min-width: 120px !important;
}

.rk-intro-author-avatar {
    width: 100px !important;
    height: 100px !important;
    border-radius: 50% !important;
    border: 2px solid var(--rk-intro-primary) !important;
    object-fit: cover !important;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.4);
    display: block !important;
}

.rk-intro-author-info-tag {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #bae6fd !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    line-height: 1.4;
    white-space: nowrap;
}

/* Prawa kolumna merytoryczna */
.rk-header-content {
    position: relative;
    z-index: 2;
    grid-column: 2;
    min-width: 0;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.rk-intro-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: #bae6fd !important;
    padding: 6px 14px !important;
    border-radius: 99px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    white-space: nowrap !important;
    width: auto !important;
}

.rk-intro-title {
    font-size: 32px !important;
    font-weight: 900 !important;
    color: #ffffff !important; /* POPRAWA KONTRASTU */
    line-height: 1.3 !important;
    margin: 0 0 20px 0 !important;
    text-align: left !important;
}

.rk-intro-title span {
    color: var(--rk-intro-accent) !important;
}

/* Hook Section */
.rk-intro-hook-box {
    background: rgba(0, 0, 0, 0.25) !important; /* Ciemne półprzezroczyste tło */
    border-left: 5px solid var(--rk-intro-accent) !important;
    padding: 22px 25px !important;
    border-radius: 0 16px 16px 0 !important;
    box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2) !important;
    margin-bottom: 25px !important;
    width: 100% !important;
}

.rk-intro-hook-box p {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #f8fafc !important;
    font-weight: 500 !important;
    text-align: left !important;
}

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

.rk-intro-description {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #e2e8f0 !important; /* POPRAWA KONTRASTU */
    margin: 0 !important;
    text-align: left !important;
}

.rk-intro-description a {
    color: var(--rk-intro-accent) !important;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-intro-accent);
}

.rk-intro-description strong {
    color: #ffffff !important; /* POPRAWA KONTRASTU */
}

/* Sekcja Kafelków dolnych */
.rk-intro-learn-section {
    padding: 40px 50px;
    background: #ffffff;
}

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

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

.rk-intro-card {
    background: var(--rk-intro-bg);
    border: 1px solid var(--rk-intro-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.rk-intro-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 4px; height: 100%;
    background: var(--rk-intro-primary);
    transform: scaleY(0);
    transition: transform 0.4s ease;
    transform-origin: bottom;
}

.rk-intro-card:hover {
    transform: translateY(-5px);
    border-color: #bae6fd;
    box-shadow: 0 15px 30px -10px rgba(14, 165, 233, 0.15);
    background: var(--rk-intro-primary-light);
}

.rk-intro-card:hover::before {
    transform: scaleY(1);
}

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

.rk-intro-card:hover .rk-intro-card-icon {
    transform: rotate(10deg) scale(1.1);
}

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

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

/* RESPONSYWNOŚĆ - PRZEJŚCIE NA JEDNĄ KOLUMNĘ */
@media (max-width: 768px) {
    .rk-intro-header { 
        grid-template-columns: 1fr !important; 
        gap: 20px !important;
        padding: 35px 25px; 
    }
    .rk-expert-profile {
        grid-column: 1 !important;
        width: 100% !important;
        flex-direction: row !important;
        justify-content: center !important;
        gap: 15px !important;
    }
    .rk-intro-author-avatar {
        width: 60px !important;
        height: 60px !important;
    }
    .rk-intro-author-info-tag {
        text-align: left;
    }
    .rk-header-content {
        grid-column: 1 !important;
        align-items: center !important;
    }
    .rk-intro-title { font-size: 24px !important; text-align: center !important; }
    .rk-intro-hook-box p { text-align: center !important; }
    .rk-intro-description { text-align: center !important; }
    .rk-intro-learn-section { padding: 35px 25px; }
    .rk-intro-grid { grid-template-columns: 1fr; }
    .rk-intro-card { padding: 20px; flex-direction: column; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-intro",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Rury do ogrzewania podłogowego – poradnik techniczny, dobór i parametry montażowe",
    "description": "Wybór odpowiedniego materiału, średnicy i gęstości ułożenia rur determinuje sprawność hydrauliczną podłogówki. Kompletny przewodnik dla inwestorów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-intro",
    "name": "Klasyfikacja materiałowa i parametryzacja rur ogrzewania płaszczyznowego",
    "description": "Baza wiedzy definiująca kluczowe elementy fizyko-chemiczne i instalacyjne przewodów emisyjnych w jastrychu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rury do ogrzewania podłogowego",
      "rura PEX czy PERT",
      "średnica rury podłogówki",
      "wylewka betonowa na ogrzewanie podłogowe",
      "bariera antydyfuzyjna EVOH"
    ],
    "measurementTechnique": "Analiza parametrów hydraulicznych (Pa/m) i termicznych instalacji w oparciu o wytyczne normy europejskiej PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dobór materiału polimerowego (PEX-a, PE-RT) z barierą EVOH.",
        "Analiza oporów hydraulicznych w zależności od wybranej średnicy rury.",
        "Określenie gęstości ułożenia przewodów celem zapewnienia równomiernego rozkładu temperatur."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-intro",
    "name": "Przewodnik: Dobór Rur Grzewczych",
    "description": "Edukacyjny moduł nawigacyjny dla inwestorów, wprowadzający w zagadnienia wyboru optymalnych przewodów instalacyjnych pod kątem współpracy z pompami ciepła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-wrapper">
    
    <div class="rk-intro-header">
        <!-- Lewa kolumna: Awatar oraz podpis zabezpieczone przed ściskaniem -->
        <div class="rk-expert-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-intro-author-avatar" loading="lazy">
            <div class="rk-intro-author-info-tag"> Robert Kucharski<br><small style="color: #94a3b8; font-weight: 600;">CEO portalu</small></div>
        </div>
        
        <!-- Prawa kolumna merytoryczna -->
        <div class="rk-header-content">
            <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="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                Kompendium Inwestora
            </div>
            
            <h2 class="rk-intro-title">Rury do ogrzewania podłogowego – <span>kompletny poradnik inżynierski</span></h2>
            
            <div class="rk-intro-hook-box">
                <p><strong>Wybór rury to decyzja na całe życie budynku.</strong> Instalacja najtańszego materiału &#8222;na oko&#8221; to tykająca bomba pod Twoją posadzką. Pęknięcia jastrychu, gigantyczne opory hydrauliczne i niedogrzane strefy to codzienność inwestorów, którzy zaufali przypadkowi zamiast matematyce.</p>
            </div>

            <p class="rk-intro-description">Wodne ogrzewanie podłogowe to niskotemperaturowy system płaszczyznowy, w którym <strong>rury do ogrzewania podłogowego</strong> stanowią kluczowy element emisyjny, odpowiadający za dystrybucję energii termicznej w <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">jastrychu betonowym lub anhydrytowym</a>. Wybór odpowiedniego materiału, średnicy oraz gęstości ułożenia przewodów determinuje opór cieplny przegrody, sprawność hydrauliczną instalacji oraz końcowe koszty eksploatacji budynku. Prawidłowo zaprojektowana pętla grzewcza zapewnia równomierny rozkład temperatury powierzchniowej podłogi zgodnie z wymogami europejskich norm budowlanych.</p>
        </div>
    </div>

    <div class="rk-intro-learn-section">
        <h3 class="rk-intro-learn-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-intro-accent)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
            Czego dowiesz się z tego poradnika?
        </h3>
        
        <div class="rk-intro-grid">
            
            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Materiał i Bariera EVOH</h4>
                    <p>Zrozumiesz różnice między polimerami PEX a PE-RT i dowiesz się, dlaczego blokada tlenowa jest krytyczna dla żywotności Twojej kotłowni.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Średnice Rur i Hydraulika</h4>
                    <p>Czy rura 16&#215;2.0 to zawsze dobry wybór? Zobacz, jak mniejszy przekrój wpływa na opory i drastycznie obciąża pompę obiegową.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"></path><polyline points="16 6 12 2 8 6"></polyline><line x1="12" y1="2" x2="12" y2="15"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Maksymalna Długość Pętli</h4>
                    <p>Poznasz matematyczne limity długości obwodów. Przekroczenie 100 metrów to gwarancja &#8222;zimnych plam&#8221; na Twojej posadzce.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Gęstość Układania a COP</h4>
                    <p>Zobaczysz bezpośredni związek między rozstawem rur (np. co 10 cm), temperaturą zasilania a miesięcznymi rachunkami za prąd dla pompy ciepła.</p>
                </div>
            </div>

        </div>
    </div>

</div>



<style>
:root {
    --rk-mat-dark: #0f172a;
    --rk-mat-darker: #020617;
    --rk-mat-blue: #0ea5e9;
    --rk-mat-blue-hover: #0284c7;
    --rk-mat-blue-light: #f0f9ff;
    --rk-mat-green: #10b981;
    --rk-mat-green-light: #d1fae5;
    --rk-mat-orange: #f97316;
    --rk-mat-gray: #475569;
    --rk-mat-light: #f8fafc;
    --rk-mat-border: #e2e8f0;
    --rk-mat-bg: #ffffff;
}

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

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

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

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

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

/* Selektor technologii (Taby) */
.rk-mat-selector {
    background: var(--rk-mat-light);
    padding: 25px 45px 0;
    border-bottom: 1px solid var(--rk-mat-border);
}

.rk-mat-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
}
.rk-mat-tabs::-webkit-scrollbar { display: none; }

.rk-mat-tab {
    padding: 14px 22px;
    background: #ffffff;
    border: 1px solid var(--rk-mat-border);
    border-bottom: none;
    border-radius: 12px 12px 0 0;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-mat-gray);
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.25s ease;
    position: relative;
    top: 1px;
}

.rk-mat-tab:hover {
    color: var(--rk-mat-blue);
    background: #f1f5f9;
}

.rk-mat-tab.active {
    color: var(--rk-mat-dark);
    background: #ffffff;
    border-top: 3px solid var(--rk-mat-blue);
    padding-top: 12px;
    box-shadow: 0 -4px 10px rgba(0,0,0,0.02);
}

/* Panel Główny */
.rk-mat-body {
    padding: 40px 45px;
    background: #ffffff;
}

.rk-mat-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: start;
}

/* Lewa strona: Struktura cząsteczkowa (SVG statyczne) */
.rk-mat-visual {
    background: var(--rk-mat-light);
    border: 1px dashed var(--rk-mat-gray);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 290px;
}

.rk-mat-svg {
    width: 100%;
    max-width: 160px;
    height: auto;
}

/* Style i powiązania sieciowania polimerów */
.link-line { stroke: #64748b; stroke-width: 2; stroke-dasharray: none; }
.polymer-node { fill: var(--rk-mat-dark); }
.cross-node { fill: var(--rk-mat-blue); }

.rk-mat-vis-label {
    margin-top: 20px;
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-mat-gray);
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 0.5px;
}

/* Prawa strona: Kafelki z parametrami strukturalnymi */
.rk-mat-specs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

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

.rk-mat-card-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--rk-mat-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.rk-mat-card-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-mat-dark);
    line-height: 1.2;
}

.rk-mat-card-full {
    grid-column: span 2;
    background: var(--rk-mat-light);
    border-left: 4px solid var(--rk-mat-blue);
}

.rk-mat-card-full.card-repair-yes { border-left-color: var(--rk-mat-green); }
.rk-mat-card-full.card-repair-no { border-left-color: var(--rk-mat-orange); }

/* Artykuł tekstowy merytoryczny */
.rk-mat-article {
    padding: 40px 45px;
    background: #ffffff;
    border-top: 1px solid var(--rk-mat-border);
}

.rk-mat-article h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-mat-dark);
    margin: 0 0 15px 0;
}

.rk-mat-article h4 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-mat-dark);
    margin: 25px 0 12px 0;
}

.rk-mat-article p {
    font-size: 16px;
    line-height: 1.75;
    color: #334155;
    margin: 0 0 15px 0;
}

.rk-mat-article ul {
    list-style: none;
    padding: 0;
    margin: 15px 0 25px 0;
}

.rk-mat-article li {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 12px;
    padding-left: 24px;
    position: relative;
    color: #334155;
}

.rk-mat-article li::before {
    content: "■";
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--rk-mat-blue);
    font-size: 12px;
}

.rk-mat-article strong {
    color: var(--rk-mat-dark);
}

.rk-mat-article a {
    color: var(--rk-mat-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-mat-blue);
    transition: border-color 0.2s;
}
.rk-mat-article a:hover { border-bottom-style: solid; }

.rk-evoh-box {
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 14px;
    padding: 20px 25px;
    margin-top: 30px;
    display: flex;
    gap: 20px;
    align-items: center;
}

.rk-evoh-icon {
    width: 36px;
    height: 36px;
    color: var(--rk-mat-blue);
    flex-shrink: 0;
}

.rk-evoh-text h4 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 800;
    color: #0369a1;
}

.rk-evoh-text p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #0c4a6e;
}

/* Statusy kolorystyczne odznak */
.mat-badge-pro { background: var(--rk-mat-green-light); color: #166534; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: 700; }
.mat-badge-warn { background: #fee2e2; color: #991b1b; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: 700; }

/* Responsywność */
@media (max-width: 768px) {
    .rk-mat-header, .rk-mat-selector, .rk-mat-body, .rk-mat-article { padding: 25px 20px; }
    .rk-mat-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-mat-specs { grid-template-columns: 1fr; }
    .rk-mat-card-full { grid-column: span 1; }
    .rk-mat-visual { min-height: auto; padding: 20px; }
    .rk-evoh-box { flex-direction: column; text-align: center; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-materialy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Jaki materiał na rury do ogrzewania podłogowego wybrać?",
    "description": "Porównanie właściwości strukturalnych polimerów PEX-a, PEX-b, PEX-c oraz PE-RT II generacji. Dowiedz się, które sieciowanie polietylenu gwarantuje pamięć kształtu.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-materialy",
    "name": "Zestawienie fizyczno-strukturalne polietylenów grzewczych",
    "description": "Baza danych parametrów fizycznych sieciowania polimerów (metoda nadtlenkowa, silanowa, radiacyjna) dla rur płaszczyznowych klasy 4.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "stopień usieciowania polimeru pex",
      "metoda nadtlenkowa engel pexa",
      "bariera antydyfuzyjna evoh din 4726",
      "rury pe-rt typ ii generacji",
      "pamięć termiczna kształtu polietylenu"
    ],
    "measurementTechnique": "Weryfikacja parametrów struktury sieci kowalencyjnej wg norm PN-EN ISO 15875 oraz PN-EN ISO 22391.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "PEX-a (Metoda Engel): stopień usieciowania minimum 70%, pamięć termiczna kształtu.",
        "PEX-b (Metoda Silanowa): stopień usieciowania minimum 65%, sztywniejsza struktura.",
        "PEX-c (Metoda Radiacyjna): stopień usieciowania minimum 60%, sieciowanie radiacyjne.",
        "PE-RT Typ II: brak usieciowania, struktura oparta na kopolimerze oktenowym."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-materialy",
    "name": "Analizator Struktury Polimerów Grzewczych",
    "description": "Pulpit nawigacyjny umożliwiający inwestorowi selekcję i analizę porównawczą makrocząsteczkowych wiązań kowalencyjnych rur płaszczyznowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-mat-container">
    <div class="rk-mat-header">
        <div class="rk-mat-badge">Analiza Technologii Materiałowej</div>
        <h2>Jaki materiał na rury do ogrzewania podłogowego wybrać?</h2>
        <p>Wybór odpowiedniego polimeru rury grzewczej decyduje o jej elastyczności, wytrzymałości długookresowej oraz zachowaniu w przypadku mechanicznego załamania pętli na budowie.</p>
    </div>

    <div class="rk-mat-selector">
        <div class="rk-mat-tabs" id="rkMatTabs">
            <button class="rk-mat-tab active" data-mat="pexa">PEX-a (Metoda Engel)</button>
            <button class="rk-mat-tab" data-mat="pexb">PEX-b (Silanowa)</button>
            <button class="rk-mat-tab" data-mat="pexc">PEX-c (Radiacyjna)</button>
            <button class="rk-mat-tab" data-mat="pert">PE-RT Typ II</button>
        </div>
    </div>

    <div class="rk-mat-body">
        <div class="rk-mat-grid">
            <div class="rk-mat-visual">
                <svg class="rk-mat-svg" viewBox="0 0 100 100" id="rkMatSvg">
                    <line x1="10" y1="25" x2="90" y2="25" stroke="#94a3b8" stroke-width="3"/>
                    <line x1="10" y1="50" x2="90" y2="50" stroke="#94a3b8" stroke-width="3"/>
                    <line x1="10" y1="75" x2="90" y2="75" stroke="#94a3b8" stroke-width="3"/>
                    <g id="rkCrossLinks">
                        <line x1="30" y1="25" x2="30" y2="50" class="link-line"/>
                        <line x1="70" y1="25" x2="70" y2="50" class="link-line"/>
                        <line x1="50" y1="50" x2="50" y2="75" class="link-line"/>
                        <circle cx="30" cy="37.5" r="5" class="cross-node"/>
                        <circle cx="70" cy="37.5" r="5" class="cross-node"/>
                        <circle cx="50" cy="62.5" r="5" class="cross-node"/>
                    </g>
                    <circle cx="30" cy="25" r="4" class="polymer-node"/>
                    <circle cx="70" cy="25" r="4" class="polymer-node"/>
                    <circle cx="50" cy="50" r="4" class="polymer-node"/>
                    <circle cx="30" cy="50" r="4" class="polymer-node"/>
                    <circle cx="70" cy="50" r="4" class="polymer-node"/>
                    <circle cx="50" cy="75" r="4" class="polymer-node"/>
                </svg>
                <div class="rk-mat-vis-label" id="rkMatVisLabel">Wiązania nadtlenkowe trójwymiarowe</div>
            </div>

            <div class="rk-mat-specs" id="rkMatSpecs">
                <div class="rk-mat-card">
                    <span class="rk-mat-card-label">Stopień usieciowania</span>
                    <span class="rk-mat-card-value" id="rkValCross">minimum 70%</span>
                </div>
                <div class="rk-mat-card">
                    <span class="rk-mat-card-label">Klasa zastosowania</span>
                    <span class="rk-mat-card-value">Klasa 4 <small>(ISO 15875)</small></span>
                </div>
                <div class="rk-mat-card rk-mat-card-full card-repair-yes" id="rkRepairCard">
                    <span class="rk-mat-card-label">Termiczna pamięć kształtu (Naprawa opalarką)</span>
                    <span class="rk-mat-card-value" id="rkValRepair"><span class="mat-badge-pro">TAK</span> – Pełna regeneracja</span>
                </div>
                <div class="rk-mat-card rk-mat-card-full">
                    <span class="rk-mat-card-label">Charakterystyka mechaniczna</span>
                    <span class="rk-mat-card-value" id="rkValFeatures" style="font-size: 15px; font-weight: 600; color: var(--rk-mat-gray);">Najwyższa elastyczność strukturalna, łatwe profilowanie łuków w strefach brzegowych.</span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-mat-article">
        <p>Najlepszym wyborem do wodnych systemów płaszczyznowych są rury z usieciowanego polietylenu <strong>PEX</strong> lub polietylenu o podwyższonej odporności termicznej <strong>PE-RT</strong>. Zgodnie z normami europejskimi <strong><a href="https://projekt-ogrzewania.pl/norma-en-iso-15875/">PN-EN ISO 15875</a></strong> oraz <strong>PN-EN ISO 22391</strong>, oba te materiały muszą bezwzględnie posiadać klasyfikację klasy zastosowania 4, co kwalifikuje je do niskotemperaturowego ogrzewania podłogowego.</p>
        
        <h3>Rury PEX-a, PEX-b i PEX-c – różnice strukturalne</h3>
        <p>Materiały z grupy PEX różnią się od siebie technologią wytwarzania i mechanizmem wiązań poprzecznych łańcuchów polimerowych, co rzutuje bezpośrednio na promień gięcia i elastyczność przewodu:</p>
        <ul>
            <li><strong>PEX-a (metoda nadtlenkowa Engel):</strong> Stopień usieciowania polimeru wynosi <strong>minimum 70%</strong>. Charakteryzuje się najwyższą elastycznością i pełną pamięcią termiczną. W przypadku przypadkowego załamania rury na budowie (tzw. &#8222;zaorania&#8221;), materiał można w pełni zregenerować poprzez miejscowe podgrzanie opalarką do momentu uzyskania transparentności struktury.</li>
            <li><strong>PEX-b (metoda silanowa):</strong> Stopień usieciowania wynosi <strong>minimum 65%</strong>. Rura wykazuje wyższą sztywność i dużą odporność na uderzenia mechaniczne. Nie posiada jednak termicznej pamięci kształtu – załamany odcinek traci szczelność strukturalną i musi zostać bezwzględnie wycięty oraz połączony złączką zaprasowywaną.</li>
            <li><strong>PEX-c (metoda radiacyjna):</strong> Stopień usieciowania polimeru wynosi <strong>minimum 60%</strong>. Proces sieciowania zachodzi w fazie stałej za pomocą strumienia elektronów. Przewody te posiadają uśrednione parametry elastyczności i są rzadziej stosowane w domowych instalacjach płaszczyznowych.</li>
        </ul>

        <h3>Rury PE-RT oraz PE-RT II generacji</h3>
        <p>Polietylen o podwyższonej odporności termicznej (PE-RT) nie podlega mechanicznemu procesowi usieciowania, a jego wytrzymałość opiera się na specyficznej strukturze kopolimeru oktenowego. Rury <strong>PE-RT Typ II</strong> oferują doskonałą elastyczność (zbliżoną do PEX-a) przy niższych kosztach produkcji. Ich długoterminowa stabilność ciśnieniowa w temperaturach roboczych rzędu <strong>35-45°C</strong> jest w stu procentach wystarczająca dla nowoczesnych budynków współpracujących niskotemperaturowo z <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompami ciepła</a>.</p>

        <div class="rk-evoh-box">
            <svg class="rk-evoh-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
            <div class="rk-evoh-text">
                <h4>Konieczność stosowania powłoki antydyfuzyjnej EVOH</h4>
                <p>Niezależnie od wybranego polimeru podstawowego, rura musi posiadać barierę antydyfuzyjną EVOH zgodną z rygorystyczną normą <strong><a href="https://projekt-ogrzewania.pl/norma-din-4726-w-ogrzewaniu-podlogowym/">DIN 4726</a></strong>. Warstwa ta ogranicza przenikanie tlenu do wnętrza instalacji do poziomu poniżej <strong>0,1 g/(m³·doba)</strong>. Zapobiega to korozji tlenowej wymienników ciepła, wirników pomp i stalowych elementów armatury.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('#rkMatTabs .rk-mat-tab');
    const crossLinksG = document.getElementById('rkCrossLinks');
    const visLabel = document.getElementById('rkMatVisLabel');
    
    const valCross = document.getElementById('rkValCross');
    const repairCard = document.getElementById('rkRepairCard');
    const valRepair = document.getElementById('rkValRepair');
    const valFeatures = document.getElementById('rkValFeatures');

    const matData = {
        pexa: {
            cross: "minimum 70%",
            repairHtml: '<span class="mat-badge-pro">TAK</span> – Pełna regeneracja',
            repairCls: 'rk-mat-card-full card-repair-yes',
            features: "Najwyższa elastyczność strukturalna, łatwe profilowanie łuków w strefach brzegowych. Wybacza błędy instalatora.",
            label: "Wiązania nadtlenkowe trójwymiarowe",
            // Rysunek gęstej sieci poprzecznej
            svg: `
                <line x1="30" y1="25" x2="30" y2="50" class="link-line"/>
                <line x1="70" y1="25" x2="70" y2="50" class="link-line"/>
                <line x1="50" y1="50" x2="50" y2="75" class="link-line"/>
                <line x1="50" y1="25" x2="50" y2="50" class="link-line"/>
                <circle cx="30" cy="37.5" r="5" class="cross-node"/>
                <circle cx="70" cy="37.5" r="5" class="cross-node"/>
                <circle cx="50" cy="62.5" r="5" class="cross-node"/>
                <circle cx="50" cy="37.5" r="5" class="cross-node"/>
            `
        },
        pexb: {
            cross: "minimum 65%",
            repairHtml: '<span class="mat-badge-warn">NIE</span> – Wymaga wycięcia',
            repairCls: 'rk-mat-card-full card-repair-no',
            features: "Wyższa sztywność liniowa. Duża odporność na uderzenia mechaniczne, ale załamanie trwale niszczy strukturę pętli.",
            label: "Wiązania silanowe (wodorotlenkowe)",
            // Rysunek rzadszej sieci silanowej
            svg: `
                <line x1="30" y1="25" x2="30" y2="50" class="link-line"/>
                <line x1="70" y1="50" x2="70" y2="75" class="link-line"/>
                <circle cx="30" cy="37.5" r="5" class="cross-node"/>
                <circle cx="70" cy="62.5" r="5" class="cross-node"/>
            `
        },
        pexc: {
            cross: "minimum 60%",
            repairHtml: '<span class="mat-badge-warn">NIE</span> – Wymaga wycięcia',
            repairCls: 'rk-mat-card-full card-repair-no',
            features: "Sieciowanie fizyczne wiązką elektronów. Średnia elastyczność, rzadziej stosowana ze względu na wysokie wymagania gięcia.",
            label: "Wiązania radiacyjne w fazie stałej",
            // Rysunek sieci punktowej radiacyjnej
            svg: `
                <line x1="50" y1="25" x2="50" y2="50" class="link-line"/>
                <line x1="50" y1="50" x2="50" y2="75" class="link-line"/>
                <circle cx="50" cy="37.5" r="5" class="cross-node"/>
                <circle cx="50" cy="62.5" r="5" class="cross-node"/>
            `
        },
        pert: {
            cross: "0% (Brak sieci)",
            repairHtml: '<span class="mat-badge-warn">NIE</span> – Wymaga wycięcia',
            repairCls: 'rk-mat-card-full card-repair-no',
            features: "Struktura oparta na rozgałęzionych bocznych łańcuchach oktenowych (kopolimer). Bardzo elastyczna i ekonomiczna.",
            label: "Łańcuchy liniowe z boczno-oktenowymi wiązaniami",
            // Brak wiązań poprzecznych, tylko łańcuchy liniowe
            svg: `
                <path d="M 20 30 Q 30 20 40 30 T 60 30" fill="none" stroke="#e2e8f0" stroke-width="2"/>
                <path d="M 50 60 Q 60 70 70 60 T 90 60" fill="none" stroke="#e2e8f0" stroke-width="2"/>
            `
        }
    };

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            tabs.forEach(t => t.classList.remove('active'));
            this.classList.add('active');

            const matKey = this.getAttribute('data-mat');
            const data = matData[matKey];

            // Aktualizacja parametrów tekstowych
            valCross.innerText = data.cross;
            valRepair.innerHTML = data.repairHtml;
            repairCard.className = data.repairCls;
            valFeatures.innerText = data.features;
            visLabel.innerText = data.label;

            // Aktualizacja grafiki SVG
            crossLinksG.innerHTML = data.svg;
        });
    });
});
</script>



<style>
:root {
    --rk-comp-dark: #1e293b;
    --rk-comp-darker: #0f172a;
    --rk-comp-blue: #0284c7;
    --rk-comp-blue-hover: #0369a1;
    --rk-comp-cyan: #06b6d4;
    --rk-comp-teal: #0d9488;
    --rk-comp-gray: #64748b;
    --rk-comp-light: #f8fafc;
    --rk-comp-border: #e2e8f0;
    --rk-comp-bg: #ffffff;
    --rk-comp-alert: #f59e0b;
}

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

/* Header */
.rk-comp-header {
    background: linear-gradient(135deg, var(--rk-comp-darker) 0%, var(--rk-comp-dark) 100%);
    padding: 35px 40px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-comp-cyan);
}

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

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

/* Navigation / Selectors */
.rk-comp-nav {
    display: flex;
    background: var(--rk-comp-light);
    border-bottom: 1px solid var(--rk-comp-border);
    padding: 15px 20px 0;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
}
.rk-comp-nav::-webkit-scrollbar { display: none; }

.rk-comp-tab {
    padding: 15px 25px;
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-bottom: none;
    border-radius: 12px 12px 0 0;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-comp-gray);
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.3s ease;
    position: relative;
    top: 1px;
}

.rk-comp-tab:hover {
    color: var(--rk-comp-blue);
    background: #f1f5f9;
}

.rk-comp-tab.active {
    color: var(--rk-comp-dark);
    background: #ffffff;
    border-color: var(--rk-comp-border);
    border-top: 3px solid var(--rk-comp-cyan);
    box-shadow: 0 -4px 10px rgba(0,0,0,0.02);
}

/* Data Layout */
.rk-comp-body {
    padding: 40px;
    background: #ffffff;
}

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

/* Progress Bars Section */
.rk-comp-bars {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-comp-bar-group {
    background: var(--rk-comp-light);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-comp-border);
}

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

.rk-comp-bar-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-comp-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-comp-bar-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-comp-blue);
}

.rk-comp-bar-val span {
    font-size: 12px;
    color: var(--rk-comp-gray);
    font-weight: 600;
}

.rk-comp-bar-track {
    width: 100%;
    height: 10px;
    background: #e2e8f0;
    border-radius: 99px;
    overflow: hidden;
    position: relative;
}

.rk-comp-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--rk-comp-blue), var(--rk-comp-cyan));
    border-radius: 99px;
    width: 0%;
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-comp-bar-fill.fill-teal { background: linear-gradient(90deg, #0f766e, #14b8a6); }

/* Key Specs Cards */
.rk-comp-specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-comp-spec-card {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-comp-spec-icon {
    width: 32px;
    height: 32px;
    margin: 0 auto 10px;
    color: var(--rk-comp-gray);
}

.rk-comp-spec-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-comp-gray);
    text-transform: uppercase;
    margin-bottom: 5px;
}

.rk-comp-spec-value {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-comp-dark);
}

.val-badge-yes {
    background: #dcfce7;
    color: #166534;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 13px;
    display: inline-block;
}

.val-badge-no {
    background: #fee2e2;
    color: #991b1b;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 13px;
    display: inline-block;
}

/* Additional Info Footer */
.rk-comp-footer {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid var(--rk-comp-border);
    display: flex;
    align-items: center;
    gap: 15px;
    background: #f0fdfa;
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-comp-teal);
}

.rk-comp-footer-icon {
    width: 24px;
    height: 24px;
    color: var(--rk-comp-teal);
    flex-shrink: 0;
}

.rk-comp-footer p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #0f766e;
    font-weight: 600;
}

/* Animations */
.anim-pulse { animation: compPulse 2s infinite; }
@keyframes compPulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }

/* Responsive */
@media (max-width: 768px) {
    .rk-comp-header, .rk-comp-body { padding: 25px 20px; }
    .rk-comp-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-comp-specs { grid-template-columns: 1fr 1fr; }
    .rk-comp-nav { padding: 15px 10px 0; }
    .rk-comp-tab { padding: 12px 16px; font-size: 13px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-porownanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Porównanie parametrów technicznych rur grzewczych",
    "description": "Zestawienie kluczowych parametrów fizycznych i eksploatacyjnych rur PEX-a, PEX-b, PE-RT Typ II oraz PEX-Al-PEX w oparciu o normy ISO.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-porownanie",
    "name": "Tabela właściwości fizykochemicznych rur ogrzewania płaszczyznowego",
    "description": "Zbiór danych laboratoryjnych porównujących przewodność cieplną, pamięć kształtu i stopień usieciowania popularnych przewodów grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "parametry techniczne rur pex",
      "przewodność cieplna rury do podłogówki",
      "rura PE-RT a PEX-a",
      "współczynnik rozszerzalności liniowej rur",
      "pamięć kształtu rury termiczna"
    ],
    "measurementTechnique": "Pomiary laboratoryjne zgodne z klasyfikacją PN-EN ISO 15875 i normą DIN 4726 dla bariery antydyfuzyjnej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przewodność cieplna λ od 0,35 do 0,43 W/(m·K).",
        "Stopień usieciowania polimeru ≥ 70% dla PEX-a.",
        "Stała chropowatość bezwzględna k = 0,007 mm dla wszystkich typów."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-porownanie",
    "name": "Interaktywny Komparator Materiałów Instalacyjnych",
    "description": "Narzędzie pozwalające na dynamiczne porównywanie właściwości mechanicznych i termicznych systemów rur z wykorzystaniem animowanych wykresów liniowych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-container">
    <div class="rk-comp-header">
        <h2>Porównanie parametrów technicznych rur grzewczych</h2>
        <p>Zestawienie kluczowych parametrów fizycznych i eksploatacyjnych najpopularniejszych typów przewodów stosowanych w instalacjach ogrzewania płaszczyznowego (dane z norm serii ISO).</p>
    </div>

    <div class="rk-comp-nav" id="rkPipeNav">
        <button class="rk-comp-tab active" data-pipe="pexa">PEX-a (EVOH)</button>
        <button class="rk-comp-tab" data-pipe="pexb">PEX-b (EVOH)</button>
        <button class="rk-comp-tab" data-pipe="pert">PE-RT Typ II (EVOH)</button>
        <button class="rk-comp-tab" data-pipe="pexal">PEX-Al-PEX</button>
    </div>

    <div class="rk-comp-body">
        <div class="rk-comp-grid">
            
            <div class="rk-comp-bars">
                <div class="rk-comp-bar-group">
                    <div class="rk-comp-bar-header">
                        <span class="rk-comp-bar-title">Przewodność cieplna (λ)</span>
                        <div class="rk-comp-bar-val" id="val-lambda">0,35 <span>W/(m·K)</span></div>
                    </div>
                    <div class="rk-comp-bar-track">
                        <div class="rk-comp-bar-fill" id="bar-lambda" style="width: 70%;"></div>
                    </div>
                </div>

                <div class="rk-comp-bar-group">
                    <div class="rk-comp-bar-header">
                        <span class="rk-comp-bar-title">Rozszerzalność liniowa</span>
                        <div class="rk-comp-bar-val" id="val-exp">0,14 <span>mm/(m·K)</span></div>
                    </div>
                    <div class="rk-comp-bar-track">
                        <div class="rk-comp-bar-fill fill-teal" id="bar-exp" style="width: 70%;"></div>
                    </div>
                </div>
            </div>

            <div class="rk-comp-specs">
                <div class="rk-comp-spec-card">
                    <svg class="rk-comp-spec-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></svg>
                    <span class="rk-comp-spec-label">Usieciowanie</span>
                    <span class="rk-comp-spec-value" id="val-link">≥ 70%</span>
                </div>
                
                <div class="rk-comp-spec-card">
                    <svg class="rk-comp-spec-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
                    <span class="rk-comp-spec-label">Pamięć Kształtu</span>
                    <span class="rk-comp-spec-value" id="val-mem"><span class="val-badge-yes">TAK (term.)</span></span>
                </div>

                <div class="rk-comp-spec-card" style="grid-column: span 2;">
                    <svg class="rk-comp-spec-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="margin-bottom: 5px;"><path d="M3 3v18h18"/><path d="M18.7 8l-5.1 5.2-2.8-2.7L7 14.3"/></svg>
                    <span class="rk-comp-spec-label">Minimalny promień gięcia (ręcznie)</span>
                    <span class="rk-comp-spec-value" id="val-bend" style="font-size: 20px; color: var(--rk-comp-blue);">5 × d<sub>n</sub></span>
                </div>
            </div>
        </div>

        <div class="rk-comp-footer">
            <svg class="rk-comp-footer-icon anim-pulse" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>
            <p id="pipe-desc">Najwyższa elastyczność i pełna termiczna pamięć kształtu. Pozwala na naprawę przypadkowych zagięć za pomocą opalarki. Idealna do zagęszczonych stref brzegowych.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const pipeData = {
        pexa: {
            lambda: "0,35",
            lambdaPct: (0.35 / 0.45) * 100,
            exp: "0,14",
            expPct: (0.14 / 0.20) * 100,
            link: "≥ 70%",
            memHtml: '<span class="val-badge-yes">TAK (term.)</span>',
            bend: "5 × d<sub>n</sub>",
            desc: "Najwyższa elastyczność i pełna termiczna pamięć kształtu. Pozwala na naprawę przypadkowych zagięć za pomocą opalarki. Idealna do zagęszczonych stref brzegowych."
        },
        pexb: {
            lambda: "0,38",
            lambdaPct: (0.38 / 0.45) * 100,
            exp: "0,15",
            expPct: (0.15 / 0.20) * 100,
            link: "≥ 65%",
            memHtml: '<span class="val-badge-no">NIE</span>',
            bend: "6 × d<sub>n</sub>",
            desc: "Sztywniejsza od PEX-a. Wykazuje większą odporność na mechaniczne uderzenia punktowe przed zalaniem, jednak brak pamięci kształtu wymusza wycięcie rury w przypadku 'zaorania'."
        },
        pert: {
            lambda: "0,40",
            lambdaPct: (0.40 / 0.45) * 100,
            exp: "0,18",
            expPct: (0.18 / 0.20) * 100,
            link: "0% (Kopolimer)",
            memHtml: '<span class="val-badge-no">NIE</span>',
            bend: "5 × d<sub>n</sub>",
            desc: "Nowoczesna struktura kopolimeru oktenowego (Typ II) nie wymaga procesu sieciowania. Stanowi wysoce elastyczną, stabilną i bardziej opłacalną alternatywę dla instalacji niskotemperaturowych."
        },
        pexal: {
            lambda: "0,43",
            lambdaPct: (0.43 / 0.45) * 100,
            exp: "0,025",
            expPct: (0.025 / 0.20) * 100,
            link: "≥ 65% (Warstwy)",
            memHtml: '<span class="val-badge-yes">TAK (mech.)</span>',
            bend: "5 × d<sub>n</sub> (Ze sprężyną: 3 × d<sub>n</sub>)",
            desc: "Wkładka aluminiowa gwarantuje minimalną rozszerzalność termiczną i plastyczną pamięć kształtu. Najlepsza przewodność cieplna, ale wymaga ostrożnego profilowania, by nie przełamać pancerza."
        }
    };

    const tabs = document.querySelectorAll('#rkPipeNav .rk-comp-tab');
    
    // Elementy DOM do aktualizacji
    const valLambda = document.getElementById('val-lambda');
    const barLambda = document.getElementById('bar-lambda');
    const valExp = document.getElementById('val-exp');
    const barExp = document.getElementById('bar-exp');
    const valLink = document.getElementById('val-link');
    const valMem = document.getElementById('val-mem');
    const valBend = document.getElementById('val-bend');
    const descText = document.getElementById('pipe-desc');

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Zmiana klas aktywnych
            tabs.forEach(t => t.classList.remove('active'));
            this.classList.add('active');

            // Pobranie danych
            const pipeKey = this.getAttribute('data-pipe');
            const data = pipeData[pipeKey];

            // Animowana aktualizacja DOM
            valLambda.innerHTML = `${data.lambda} <span>W/(m·K)</span>`;
            barLambda.style.width = `${data.lambdaPct}%`;
            
            valExp.innerHTML = `${data.exp} <span>mm/(m·K)</span>`;
            barExp.style.width = `${data.expPct}%`;

            valLink.innerHTML = data.link;
            valMem.innerHTML = data.memHtml;
            valBend.innerHTML = data.bend;
            descText.innerHTML = data.desc;
        });
    });
    
    // Inicjalizacja pierwszej zakładki
    tabs[0].click();
});
</script>



<style>
:root {
    --rk-temp-dark: #0f172a;
    --rk-temp-darker: #020617;
    --rk-temp-blue: #0ea5e9;
    --rk-temp-green: #10b981;
    --rk-temp-yellow: #f59e0b;
    --rk-temp-orange: #f97316;
    --rk-temp-red: #ef4444;
    --rk-temp-red-dark: #b91c1c;
    --rk-temp-gray: #64748b;
    --rk-temp-light: #f8fafc;
    --rk-temp-border: #e2e8f0;
    --rk-temp-bg: #ffffff;
}

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

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

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

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

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

/* Interaktywny Dashboard */
.rk-temp-dashboard {
    padding: 40px 45px;
    background: var(--rk-temp-light);
    border-bottom: 1px solid var(--rk-temp-border);
}

.rk-temp-grid {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 40px;
    align-items: center;
}

/* Panel Kontrolny */
.rk-temp-controls {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-temp-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-temp-controls h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-temp-dark);
    margin: 0 0 25px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-temp-slider-wrap {
    margin-bottom: 30px;
}

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

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

.rk-temp-slider-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-temp-orange);
    transition: color 0.3s;
}

.rk-temp-range {
    width: 100%;
    -webkit-appearance: none;
    height: 8px;
    background: linear-gradient(to right, var(--rk-temp-blue), var(--rk-temp-green) 35%, var(--rk-temp-yellow) 55%, var(--rk-temp-red) 80%);
    border-radius: 99px;
    outline: none;
}

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

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

/* Karta Statusu */
.rk-temp-status-card {
    padding: 20px;
    border-radius: 12px;
    background: #f0fdf4;
    border: 1px solid #86efac;
    transition: all 0.3s ease;
}

.rk-temp-status-title {
    font-size: 15px;
    font-weight: 800;
    margin: 0 0 8px 0;
    color: #166534;
    text-transform: uppercase;
}

.rk-temp-status-desc {
    font-size: 14px;
    color: #15803d;
    margin: 0;
    line-height: 1.5;
}

/* Wizualizacja SVG (Prawa Strona) */
.rk-temp-visual {
    position: relative;
    background: #ffffff;
    border: 1px solid var(--rk-temp-border);
    border-radius: 16px;
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 280px;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
}

.rk-temp-svg {
    width: 100%;
    max-width: 220px;
    height: auto;
}

/* Animacje klas dla SVG */
.anim-pipe-heat { transition: fill 0.4s ease, filter 0.4s ease; }
.anim-screed { transition: fill 0.4s ease; }
.anim-crack { stroke-dasharray: 50; stroke-dashoffset: 50; transition: stroke-dashoffset 0.5s ease; opacity: 0; }
.anim-wave { opacity: 0.2; transition: opacity 0.4s ease, transform 1s infinite alternate; }

/* Stany Wizualne */
.state-optimal .anim-pipe-heat { fill: var(--rk-temp-green); filter: drop-shadow(0 0 5px rgba(16,185,129,0.5)); }
.state-optimal .anim-screed { fill: #e2e8f0; }
.state-optimal .anim-wave { fill: var(--rk-temp-green); opacity: 0.4; animation: waveFloat 2s infinite alternate; }

.state-warning .anim-pipe-heat { fill: var(--rk-temp-orange); filter: drop-shadow(0 0 8px rgba(249,115,22,0.6)); }
.state-warning .anim-screed { fill: #fed7aa; }
.state-warning .anim-wave { fill: var(--rk-temp-orange); opacity: 0.6; animation: waveFloat 1s infinite alternate; }

.state-danger .anim-pipe-heat { fill: var(--rk-temp-red); filter: drop-shadow(0 0 15px rgba(239,68,68,0.8)); }
.state-danger .anim-screed { fill: #fecaca; }
.state-danger .anim-crack { stroke-dashoffset: 0; opacity: 1; animation: crackFlash 0.5s infinite alternate; }
.state-danger .anim-wave { fill: var(--rk-temp-red); opacity: 0.8; animation: waveFloat 0.5s infinite alternate; }

@keyframes waveFloat { 0% { transform: translateY(0); } 100% { transform: translateY(-10px); } }
@keyframes crackFlash { 0% { stroke: #b91c1c; stroke-width: 2; } 100% { stroke: #ef4444; stroke-width: 4; } }

/* Limity Powierzchniowe (Kafelki) */
.rk-temp-limits {
    padding: 40px 45px;
    background: #ffffff;
}

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

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

.rk-tmax-card {
    background: var(--rk-temp-light);
    border: 1px solid var(--rk-temp-border);
    border-radius: 12px;
    padding: 25px 20px;
    text-align: center;
    transition: transform 0.3s;
}

.rk-tmax-card:hover {
    transform: translateY(-3px);
    border-color: var(--rk-temp-blue);
    box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.1);
}

.rk-tmax-icon {
    width: 36px;
    height: 36px;
    margin: 0 auto 15px;
    color: var(--rk-temp-blue);
}

.rk-tmax-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-temp-dark);
    display: block;
    line-height: 1;
    margin-bottom: 8px;
}

.rk-tmax-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-temp-gray);
    text-transform: uppercase;
}

/* Treść tekstowa */
.rk-temp-article {
    padding: 0 45px 40px;
    background: #ffffff;
}

.rk-temp-article p {
    font-size: 16px;
    line-height: 1.75;
    color: #475569;
    margin: 0 0 20px 0;
}

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

.rk-temp-article a {
    color: var(--rk-temp-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-temp-blue);
    transition: all 0.3s;
}

.rk-temp-article a:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

.rk-temp-pressure-box {
    background: #f1f5f9;
    border-left: 4px solid var(--rk-temp-blue);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    margin-top: 30px;
}

.rk-temp-pressure-box h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    color: var(--rk-temp-dark);
}

.rk-temp-pressure-box p {
    margin: 0;
    font-size: 15px;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-temp-header, .rk-temp-dashboard, .rk-temp-limits, .rk-temp-article { padding: 30px 20px; }
    .rk-temp-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-temp-cards { grid-template-columns: 1fr; }
    .rk-temp-visual { min-height: 220px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/"
    },
    "headline": "Jaka jest maksymalna temperatura i ciśnienie pracy rur ogrzewania podłogowego?",
    "description": "Limity temperatur (PN-EN 1264) i ciśnień dla rur PEX/PE-RT. Zobacz interaktywny symulator naprężeń cieplnych i dowiedz się, dlaczego 55°C to absolutne maksimum.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/#dataset",
    "name": "Normy temperaturowe PN-EN 1264 i PN-EN ISO 15875-1",
    "description": "Zestawienie dopuszczalnych temperatur zasilania, temperatur awaryjnych rur polimerowych oraz limitów fizjologicznych temperatury powierzchni podłogi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna temperatura zasilania podłogówki",
      "temperatura podłogi norma PN-EN 1264",
      "wytrzymałość rury PEX 95°C",
      "pękanie wylewki betonowej",
      "ciśnienie robocze ogrzewania podłogowego"
    ],
    "measurementTechnique": "Określenie warunków brzegowych pracy instalacji wg klasy 4 ISO 15875-1 i wymogów komfortu cieplnego PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalna robocza PEX/PE-RT: 70°C (Awaryjna 95°C przez 100h).",
        "Max temperatura zasilania wprowadzana w jastrych: 55°C.",
        "Tmax powierzchni: 29°C (pokoje), 33°C (łazienki), 35°C (strefy brzegowe).",
        "Maksymalne ciśnienie: 6-10 bar w zależności od typoszeregu SDR."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/#webapp",
    "name": "Symulator Naprężeń Termicznych Jastrychu",
    "description": "Interaktywny panel kontrolny pozwalający symulować podnoszenie temperatury zasilania i wizualizujący jego destrukcyjny wpływ na wylewkę i starzenie polimeru.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-temp-container">
    <div class="rk-temp-header">
        <div class="rk-temp-badge">Parametry Graniczne ISO / PN-EN</div>
        <h2>Jaka jest maksymalna temperatura i ciśnienie pracy rur?</h2>
        <p>Przekroczenie norm temperaturowych to najszybsza droga do pęknięcia jastrychu i zniszczenia struktury polimeru. Przetestuj w symulatorze zachowanie podłogówki przy różnych parametrach kotłowni.</p>
    </div>

    <div class="rk-temp-dashboard">
        <div class="rk-temp-grid">
            
            <div class="rk-temp-controls">
                <h3>Symulator Zasilania</h3>
                <div class="rk-temp-slider-wrap">
                    <div class="rk-temp-slider-header">
                        <span class="rk-temp-slider-label">Temperatura zasilania</span>
                        <span class="rk-temp-slider-val" id="rkTempVal">35°C</span>
                    </div>
                    <input type="range" id="rkTempSlider" class="rk-temp-range" min="20" max="95" step="1" value="35">
                </div>
                
                <div class="rk-temp-status-card" id="rkTempStatusBox">
                    <h4 class="rk-temp-status-title" id="rkTempStatusTitle">Optymalnie (Pompa Ciepła)</h4>
                    <p class="rk-temp-status-desc" id="rkTempStatusDesc">Idealna temperatura pracy. Bezpieczna dla wylewki, zapewnia równomierne oddawanie ciepła i długą żywotność rur.</p>
                </div>
            </div>

            <div class="rk-temp-visual state-optimal" id="rkTempVisualBox">
                <svg class="rk-temp-svg" viewBox="0 0 100 100">
                    <path d="M10 20 L90 20 L90 80 L10 80 Z" class="anim-screed" stroke="#94a3b8" stroke-width="2" rx="5" />
                    <path d="M 30 20 L 40 40 L 35 60 L 50 80 M 70 20 L 65 50 L 80 80" fill="none" stroke="#b91c1c" stroke-width="3" class="anim-crack" />
                    <path d="M 25 15 Q 30 5 25 -5 M 50 15 Q 55 5 50 -5 M 75 15 Q 80 5 75 -5" fill="none" stroke-width="3" class="anim-wave" />
                    <circle cx="50" cy="50" r="15" fill="#ffffff" stroke="#64748b" stroke-width="3" />
                    <circle cx="50" cy="50" r="11" class="anim-pipe-heat" />
                </svg>
            </div>

        </div>
    </div>

    <div class="rk-temp-limits">
        <h3>Normatywne Limity Powierzchni Podłogi (T<sub>max</sub>)</h3>
        <div class="rk-temp-cards">
            <div class="rk-tmax-card">
                <svg class="rk-tmax-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg>
                <span class="rk-tmax-val">29°C</span>
                <span class="rk-tmax-label">Strefy Stałe (Salon)</span>
            </div>
            <div class="rk-tmax-card">
                <svg class="rk-tmax-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M2 12h20"/><path d="M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8"/><path d="M10 8V6a2 2 0 0 1 2-2h0a2 2 0 0 1 2 2v2"/></svg>
                <span class="rk-tmax-val">33°C</span>
                <span class="rk-tmax-label">Łazienki</span>
            </div>
            <div class="rk-tmax-card">
                <svg class="rk-tmax-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="9" y1="21" x2="9" y2="9"/></svg>
                <span class="rk-tmax-val">35°C</span>
                <span class="rk-tmax-label">Strefy Brzegowe</span>
            </div>
        </div>
    </div>

    <div class="rk-temp-article">
        <p>Zgodnie z wymogami projektowymi, w instalacjach płaszczyznowych optymalna temperatura zasilania wynosi <strong>35°C</strong>, a maksymalna dopuszczalna temperatura czynnika grzewczego wprowadzanego w <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">jastrych</a> nie może przekraczać <strong>55°C</strong>. Wynika to wprost z ograniczeń fizjologicznych człowieka oraz obwarowań zawartych w <strong><a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normie PN-EN 1264</a></strong>.</p>
        
        <p>Niedopuszczalne jest podawanie na pętle grzewcze parametrów właściwych dla instalacji grzejnikowych (np. 70/55°C). Takie błędy skutkują ogromnymi naprężeniami termicznymi, odspajaniem płytek, <strong>pękaniem jastrychu</strong>, zniszczeniem okładzin, a u użytkowników prowadzą do przegrzania stóp i problemów krążeniowych żylnych.</p>

        <div class="rk-temp-pressure-box">
            <h4>Wytrzymałość Rury: Temperatura i Ciśnienie</h4>
            <p>Maksymalna dopuszczalna temperatura robocza dla <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur PEX i PE-RT</a> w klasie 4 wynosi <strong>70°C</strong>. Projektowa temperatura awaryjna (T<sub>mal</sub>) to z kolei <strong>95°C</strong> (przez łączny maksymalny czas 100 godzin w ciągu 50 lat eksploatacji, wg PN-EN ISO 15875-1). Standardowe ciśnienie robocze wynosi <strong>6 bar lub 10 bar</strong>. Przekraczanie tych ram w sposób ciągły błyskawicznie przyspiesza proces starzenia termooksydacyjnego polimeru.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkTempSlider');
    const tempVal = document.getElementById('rkTempVal');
    const statusBox = document.getElementById('rkTempStatusBox');
    const statusTitle = document.getElementById('rkTempStatusTitle');
    const statusDesc = document.getElementById('rkTempStatusDesc');
    const visualBox = document.getElementById('rkTempVisualBox');

    function updateSimulation(value) {
        tempVal.innerText = value + '°C';

        // Logika stref temperatur
        if (value <= 40) {
            // OPTYMALNA (20-40)
            tempVal.style.color = 'var(--rk-temp-green)';
            visualBox.className = 'rk-temp-visual state-optimal';
            
            statusBox.style.background = '#f0fdf4';
            statusBox.style.borderColor = '#86efac';
            statusTitle.style.color = '#166534';
            statusDesc.style.color = '#15803d';
            
            statusTitle.innerText = 'Optymalnie (Norma)';
            statusDesc.innerText = 'Idealna temperatura pracy. Bezpieczna dla wylewki, zapewnia równomierne oddawanie ciepła i najwyższy współczynnik COP pompy ciepła.';
            
        } else if (value > 40 && value <= 55) {
            // OSTRZEŻENIE / MAX DOPUSZCZALNA (41-55)
            tempVal.style.color = 'var(--rk-temp-orange)';
            visualBox.className = 'rk-temp-visual state-warning';
            
            statusBox.style.background = '#fffbeb';
            statusBox.style.borderColor = '#fcd34d';
            statusTitle.style.color = '#b45309';
            statusDesc.style.color = '#b45309';
            
            statusTitle.innerText = 'Górna Granica Zasilania (Max 55°C)';
            statusDesc.innerText = 'Dopuszczalne przez normy, ale obniża sprawność źródła ciepła. Zbliżamy się do limitu Tmax dla komfortu ludzkiej stopy.';
            
        } else {
            // NIEBEZPIECZEŃSTWO / GRZEJNIKI (>55)
            tempVal.style.color = 'var(--rk-temp-red)';
            visualBox.className = 'rk-temp-visual state-danger';
            
            statusBox.style.background = '#fef2f2';
            statusBox.style.borderColor = '#fca5a5';
            statusTitle.style.color = '#b91c1c';
            statusDesc.style.color = '#b91c1c';
            
            statusTitle.innerText = 'Krytyczne Przegrzanie Wylewki!';
            statusDesc.innerText = 'Parametry grzejnikowe niszczą instalację. Występują naprężenia termiczne, pęka jastrych i przyspiesza starzenie struktury polimeru PEX.';
        }
    }

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

    // Inicjalizacja
    updateSimulation(slider.value);
});
</script>



<style>
:root {
    --rk-dia-dark: #0f172a;
    --rk-dia-darker: #020617;
    --rk-dia-primary: #0ea5e9;
    --rk-dia-primary-hover: #0284c7;
    --rk-dia-secondary: #3b82f6;
    --rk-dia-accent: #f59e0b;
    --rk-dia-success: #10b981;
    --rk-dia-danger: #ef4444;
    --rk-dia-bg: #ffffff;
    --rk-dia-surface: #f8fafc;
    --rk-dia-border: #e2e8f0;
    --rk-dia-text: #475569;
}

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

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

.rk-dia-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: #7dd3fc;
    padding: 6px 14px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(14, 165, 233, 0.3);
}

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

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

/* Poziomy Selektor (Zoptymalizowany pod kątem uwag z poprzedniego widoku) */
.rk-dia-selector {
    display: flex;
    justify-content: center;
    background: var(--rk-dia-surface);
    padding: 25px 45px;
    border-bottom: 1px solid var(--rk-dia-border);
}

.rk-dia-tabs {
    display: flex;
    background: #ffffff;
    border: 1px solid var(--rk-dia-border);
    border-radius: 16px;
    padding: 6px;
    gap: 6px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    width: 100%;
    max-width: 600px;
}

.rk-dia-tab {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-dia-text);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.rk-dia-tab span {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.7;
}

.rk-dia-tab:hover {
    background: #f1f5f9;
    color: var(--rk-dia-dark);
}

.rk-dia-tab.active {
    background: var(--rk-dia-primary);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(14, 165, 233, 0.4);
}

/* Dashboard Interaktywny */
.rk-dia-dashboard {
    padding: 40px 45px;
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 40px;
    align-items: center;
    background: #ffffff;
}

/* Lewa Kolumna - SVG Przekrój Rury */
.rk-dia-visual {
    background: var(--rk-dia-surface);
    border: 1px dashed #94a3b8;
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    min-height: 280px;
}

.rk-dia-svg {
    width: 100%;
    max-width: 180px;
    height: auto;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Animacje wnętrza rury */
.anim-water-flow { transform-origin: center; transition: all 0.5s ease; }
.anim-pipe-wall { transition: stroke-width 0.5s ease, r 0.5s ease; }

.state-14 .anim-water-flow { r: 35; fill: #60a5fa; animation: pulseFast 1s infinite alternate; }
.state-14 .anim-pipe-wall { r: 45; stroke-width: 10; stroke: #94a3b8; }
.state-14 .rk-dia-svg { transform: scale(0.85); }

.state-16 .anim-water-flow { r: 50; fill: #3b82f6; animation: pulseNormal 2s infinite alternate; }
.state-16 .anim-pipe-wall { r: 60; stroke-width: 10; stroke: #64748b; }
.state-16 .rk-dia-svg { transform: scale(1); }

.state-20 .anim-water-flow { r: 70; fill: #1d4ed8; animation: pulseSlow 3s infinite alternate; }
.state-20 .anim-pipe-wall { r: 80; stroke-width: 10; stroke: #475569; }
.state-20 .rk-dia-svg { transform: scale(1.2); }

@keyframes pulseFast { 0% { filter: drop-shadow(0 0 5px rgba(96, 165, 250, 0.8)); } 100% { filter: drop-shadow(0 0 15px rgba(96, 165, 250, 0.2)); } }
@keyframes pulseNormal { 0% { filter: drop-shadow(0 0 10px rgba(59, 130, 246, 0.6)); } 100% { filter: drop-shadow(0 0 20px rgba(59, 130, 246, 0.3)); } }
@keyframes pulseSlow { 0% { filter: drop-shadow(0 0 15px rgba(29, 78, 216, 0.5)); } 100% { filter: drop-shadow(0 0 25px rgba(29, 78, 216, 0.4)); } }

.rk-dia-cap-label {
    margin-top: 25px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-dia-dark);
    text-transform: uppercase;
}

.rk-dia-cap-val {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-dia-primary);
    line-height: 1;
    margin-top: 5px;
}

.rk-dia-cap-val small {
    font-size: 16px;
    color: var(--rk-dia-text);
}

/* Prawa Kolumna - Statystyki i Wskaźniki */
.rk-dia-stats {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

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

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

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

.rk-dia-card-status {
    font-size: 13px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 6px;
}

/* Kolory statusów */
.status-err { background: #fee2e2; color: #991b1b; }
.status-ok { background: #dcfce7; color: #166534; }
.status-warn { background: #fef3c7; color: #b45309; }

/* Pasek oporu */
.rk-dia-progress-wrap {
    height: 12px;
    background: var(--rk-dia-surface);
    border-radius: 99px;
    overflow: hidden;
    position: relative;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
}

.rk-dia-progress-fill {
    height: 100%;
    border-radius: 99px;
    transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.6s;
}

.rk-dia-desc {
    margin-top: 10px;
    font-size: 14px;
    color: var(--rk-dia-text);
    line-height: 1.6;
}

/* Tekst główny artykułu */
.rk-dia-article {
    padding: 40px 45px;
    background: var(--rk-dia-surface);
    border-top: 1px solid var(--rk-dia-border);
}

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

.rk-dia-article p:last-child { margin: 0; }

.rk-dia-article strong {
    color: var(--rk-dia-dark);
}

.rk-dia-article a {
    color: var(--rk-dia-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-dia-primary);
    transition: border-color 0.3s;
}

.rk-dia-article a:hover {
    border-bottom-style: solid;
}

@media (max-width: 768px) {
    .rk-dia-header, .rk-dia-selector, .rk-dia-dashboard, .rk-dia-article { padding: 25px 20px; }
    .rk-dia-dashboard { grid-template-columns: 1fr; gap: 30px; }
    .rk-dia-tabs { flex-direction: column; }
    .rk-dia-tab { padding: 12px; flex-direction: row; justify-content: center; gap: 10px; }
    .rk-dia-tab span { margin-top: 2px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jaka średnica rur do podłogówki jest optymalna?",
    "description": "Porównanie średnic rur ogrzewania podłogowego: 14mm, 16mm i 20mm. Dowiedz się, jak pojemność wodna i opory hydrauliczne wpływają na dobór pompy obiegowej.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/#dataset",
    "name": "Zestawienie pojemności wodnej i oporów hydraulicznych rur grzewczych",
    "description": "Dane inżynieryjne obrazujące różnice w zładzie wody oraz wpływie przekroju na parametry pracy pompy obiegowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "średnica rury do podłogówki",
      "rura 16x2.0 pojemność wodna",
      "opory hydrauliczne pętli",
      "rura 20mm ogrzewanie podłogowe",
      "dobór pompy obiegowej do podłogówki"
    ],
    "measurementTechnique": "Obliczenia hydrauliczne weryfikujące stratę ciśnienia (Pa/m) oraz pojemność wewnętrzną (l/m) przewodów PEX.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura 16x2.0 mm: Pojemność 0,113 l/m. Standard budownictwa jednorodzinnego.",
        "Rura 20x2.0 mm: Pojemność 0,201 l/m. Przeznaczona do długich obiegów i hal.",
        "Rura 14x2.0 mm: Generuje wysokie opory, ryzyko przekroczenia wysokości podnoszenia pompy (6-8m)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/#webapp",
    "name": "Symulator Średnic Rur i Pojemności Wodnej",
    "description": "Interaktywny pulpit pozwalający przełączać się między przekrojami 14mm, 16mm i 20mm w celu wizualizacji wpływu średnicy na opory hydrauliczne i obciążenie pompy obiegowej.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dia-container">
    <div class="rk-dia-header">
        <div class="rk-dia-badge">Hydraulika i Przepływy</div>
        <h2>Jaka średnica rur do podłogówki jest optymalna?</h2>
        <p>Wybór średnicy bezpośrednio determinuje pojemność wodną instalacji oraz wymagany profil ciśnienia pompy obiegowej. Przełączaj średnice na panelu, aby zobaczyć różnice inżynieryjne.</p>
    </div>

    <div class="rk-dia-selector">
        <div class="rk-dia-tabs">
            <button class="rk-dia-tab" data-dia="14">14 mm <span>Cienkościenna</span></button>
            <button class="rk-dia-tab active" data-dia="16">16 mm <span>Standard</span></button>
            <button class="rk-dia-tab" data-dia="20">20 mm <span>Przemysłowa</span></button>
        </div>
    </div>

    <div class="rk-dia-dashboard">
        <div class="rk-dia-visual" id="rkVisualBox">
            <svg class="rk-dia-svg" viewBox="0 0 200 200">
                <circle cx="100" cy="100" r="95" fill="none" stroke="#e2e8f0" stroke-width="2" stroke-dasharray="6"/>
                <circle cx="100" cy="100" r="60" class="anim-pipe-wall" fill="none"/>
                <circle cx="100" cy="100" r="50" class="anim-water-flow"/>
            </svg>
            <div class="rk-dia-cap-label">Pojemność wodna (Zład)</div>
            <div class="rk-dia-cap-val" id="rkCapVal">0,113 <small>l/m</small></div>
        </div>

        <div class="rk-dia-stats">
            
            <div class="rk-dia-card">
                <div class="rk-dia-card-header">
                    <span class="rk-dia-card-title">Opory hydrauliczne (Pa/m)</span>
                    <span class="rk-dia-card-status status-ok" id="rkStatusRes">Optymalne</span>
                </div>
                <div class="rk-dia-progress-wrap">
                    <div class="rk-dia-progress-fill" id="rkBarRes" style="width: 40%; background-color: var(--rk-dia-success);"></div>
                </div>
                <div class="rk-dia-desc" id="rkDescRes">Zapewnia idealny kompromis pomiędzy stratą ciśnienia a łatwością układania i gięcia rury.</div>
            </div>

            <div class="rk-dia-card">
                <div class="rk-dia-card-header">
                    <span class="rk-dia-card-title">Obciążenie pompy obiegowej</span>
                    <span class="rk-dia-card-status status-ok" id="rkStatusPump">Standard (6m)</span>
                </div>
                <div class="rk-dia-progress-wrap">
                    <div class="rk-dia-progress-fill" id="rkBarPump" style="width: 30%; background-color: var(--rk-dia-success);"></div>
                </div>
                <div class="rk-dia-desc" id="rkDescPump">Wystarczająca pojemność dla domów jednorodzinnych, bez ryzyka przekroczenia wysokości podnoszenia.</div>
            </div>

        </div>
    </div>

    <div class="rk-dia-article">
        <p>Standardową średnicą stosowaną w budownictwie jednorodzinnym i wielorodzinnym jest <strong>16 mm z grubością ścianki 2,0 mm (16&#215;2,0)</strong>, co zapewnia optymalny kompromis pomiędzy oporami hydraulicznymi a łatwością profilowania pętli na budowie.</p>
        
        <p>Dla obiektów przemysłowych, hal magazynowych lub bardzo długich obiegów magistralnych stosuje się rury o średnicy <strong>20 mm ze ścianką 2,0 mm lub 2,5 mm</strong>. Wybór średnicy bezpośrednio determinuje <a href="https://projekt-ogrzewania.pl/wiekszy-czy-mniejszy-zlad-wody-w-ogrzewaniu-podlogowym/">pojemność wodną instalacji</a> oraz wymagany profil ciśnienia <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompy obiegowej</a>.</p>
        
        <p>Pojemność wodna rury 16&#215;2,0 wynosi dokładnie <strong>0,113 litra</strong> na każdy metr bieżący. Dla porównania, rura 20&#215;2,0 mieści w sobie <strong>0,201 l/m</strong>. Zastosowanie rury o mniejszym przekroju (np. 14&#215;2,0) drastycznie zwiększa jednostkowe straty ciśnienia (wyrażane w paskalach na metr – Pa/m), co przy stałym wydatku masowym pompy może doprowadzić do przekroczenia maksymalnej wysokości podnoszenia standardowych pomp obiegowych wbudowanych w urządzenia grzewcze (zazwyczaj 6 m lub 8 m słupa wody).</p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-dia-tab');
    
    // Obiekty DOM do aktualizacji
    const visualBox = document.getElementById('rkVisualBox');
    const capVal = document.getElementById('rkCapVal');
    
    const barRes = document.getElementById('rkBarRes');
    const statusRes = document.getElementById('rkStatusRes');
    const descRes = document.getElementById('rkDescRes');
    
    const barPump = document.getElementById('rkBarPump');
    const statusPump = document.getElementById('rkStatusPump');
    const descPump = document.getElementById('rkDescPump');

    const diaData = {
        '14': {
            cls: 'state-14',
            cap: '0,079',
            resPct: '90%',
            resColor: 'var(--rk-dia-danger)',
            resStatus: 'Krytyczne',
            resStatusCls: 'status-err',
            resDesc: 'Drastyczny wzrost oporów (Pa/m). Rura zbyt ciasna dla standardowych, długich pętli.',
            pumpPct: '85%',
            pumpColor: 'var(--rk-dia-danger)',
            pumpStatus: 'Przeciążenie',
            pumpStatusCls: 'status-err',
            pumpDesc: 'Ryzyko przekroczenia możliwości podnoszenia standardowej pompy kotłowej (6m/8m). Konieczność bardzo krótkich obiegów.'
        },
        '16': {
            cls: 'state-16',
            cap: '0,113',
            resPct: '40%',
            resColor: 'var(--rk-dia-success)',
            resStatus: 'Optymalne',
            resStatusCls: 'status-ok',
            resDesc: 'Zapewnia idealny kompromis pomiędzy stratą ciśnienia a łatwością układania i gięcia rury.',
            pumpPct: '30%',
            pumpColor: 'var(--rk-dia-success)',
            pumpStatus: 'Standard (6m)',
            pumpStatusCls: 'status-ok',
            pumpDesc: 'Wystarczająca pojemność dla domów jednorodzinnych, bez ryzyka przeciążenia hydraulicznego rozdzielacza.'
        },
        '20': {
            cls: 'state-20',
            cap: '0,201',
            resPct: '15%',
            resColor: 'var(--rk-dia-secondary)',
            resStatus: 'Znikome',
            resStatusCls: 'status-ok',
            resDesc: 'Minimalne straty ciśnienia na odcinkach. Rura sztywna, trudniejsza w układaniu na małych powierzchniach.',
            pumpPct: '15%',
            pumpColor: 'var(--rk-dia-secondary)',
            pumpStatus: 'Wysoka wydajność',
            pumpStatusCls: 'status-ok',
            pumpDesc: 'Duży zład wody idealnie stabilizuje pracę pomp ciepła w halach przemysłowych i przy bardzo długich obiegach.'
        }
    };

    function updateUI(dia) {
        const data = diaData[dia];

        // 1. Aktualizacja animacji SVG
        visualBox.className = `rk-dia-visual ${data.cls}`;
        capVal.innerHTML = `${data.cap} <small>l/m</small>`;

        // 2. Aktualizacja wskaźnika oporów
        barRes.style.width = data.resPct;
        barRes.style.backgroundColor = data.resColor;
        statusRes.innerText = data.resStatus;
        statusRes.className = `rk-dia-card-status ${data.resStatusCls}`;
        descRes.innerText = data.resDesc;

        // 3. Aktualizacja wskaźnika pompy
        barPump.style.width = data.pumpPct;
        barPump.style.backgroundColor = data.pumpColor;
        statusPump.innerText = data.pumpStatus;
        statusPump.className = `rk-dia-card-status ${data.pumpStatusCls}`;
        descPump.innerText = data.pumpDesc;
    }

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Zmiana aktywnego taba
            tabs.forEach(t => t.classList.remove('active'));
            this.classList.add('active');

            // Aktualizacja UI
            const dia = this.getAttribute('data-dia');
            updateUI(dia);
        });
    });

    // Inicjalizacja dla domyślnej klasy (16mm)
    updateUI('16');
});
</script>



<style>
:root {
    --rk-loop-dark: #0f172a;
    --rk-loop-darker: #020617;
    --rk-loop-blue: #2563eb;
    --rk-loop-blue-hover: #1d4ed8;
    --rk-loop-red: #ef4444;
    --rk-loop-orange: #f59e0b;
    --rk-loop-green: #10b981;
    --rk-loop-gray: #64748b;
    --rk-loop-bg: #ffffff;
    --rk-loop-surface: #f8fafc;
    --rk-loop-border: #e2e8f0;
}

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

/* Nagłówek */
.rk-loop-header {
    background: linear-gradient(to right, var(--rk-loop-dark), var(--rk-loop-darker));
    padding: 35px 40px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-loop-blue);
}

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

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

/* Interaktywny Panel Główny */
.rk-loop-interactive {
    padding: 35px 40px;
    background: var(--rk-loop-surface);
    border-bottom: 1px solid var(--rk-loop-border);
}

/* Kontrolki na pełną szerokość */
.rk-loop-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 30px;
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-loop-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-loop-ctrl-group {
    flex: 1;
    min-width: 250px;
}

.rk-loop-ctrl-label {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-loop-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

/* Przyciski średnicy rury */
.rk-loop-diameters {
    display: flex;
    gap: 10px;
}

.rk-loop-dia-btn {
    flex: 1;
    padding: 12px 5px;
    background: var(--rk-loop-surface);
    border: 1px solid var(--rk-loop-border);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-loop-gray);
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

.rk-loop-dia-btn:hover {
    border-color: #93c5fd;
    color: var(--rk-loop-blue);
}

.rk-loop-dia-btn.active {
    background: var(--rk-loop-blue);
    border-color: var(--rk-loop-blue);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.3);
}

/* Suwak długości */
.rk-loop-slider-wrap {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-loop-range {
    flex: 1;
    -webkit-appearance: none;
    height: 6px;
    background: #cbd5e1;
    border-radius: 4px;
    outline: none;
}

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

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

.rk-loop-len-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-loop-dark);
    min-width: 65px;
    text-align: right;
}

/* Kafelki z Wynikami (Płaski układ) */
.rk-loop-results {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

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

.rk-loop-res-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-loop-gray);
    text-transform: uppercase;
    margin-bottom: 8px;
}

.rk-loop-res-val {
    font-size: 24px;
    font-weight: 900;
}

.val-ok { color: var(--rk-loop-green); }
.val-warn { color: var(--rk-loop-orange); }
.val-err { color: var(--rk-loop-red); }

/* Szeroka Wizualizacja SVG (Temperatura pętli) */
.rk-loop-vis-box {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 12px;
    padding: 20px;
    position: relative;
}

.rk-loop-vis-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-loop-gray);
    text-transform: uppercase;
    margin-bottom: 15px;
    text-align: center;
}

.rk-loop-svg {
    width: 100%;
    height: 60px;
    display: block;
}

.rk-loop-alert {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 15px;
    padding: 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    transition: all 0.3s;
}

.alert-ok { background: #dcfce7; color: #166534; }
.alert-err { background: #fee2e2; color: #991b1b; }

/* Sekcja Artykułu / Wzoru */
.rk-loop-article {
    padding: 40px;
    background: #ffffff;
}

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

.rk-loop-article p:last-child { margin: 0; }

.rk-loop-formula-card {
    background: #f1f5f9;
    border-left: 4px solid var(--rk-loop-blue);
    padding: 25px;
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
    display: flex;
    align-items: center;
    gap: 25px;
}

.rk-loop-math {
    font-family: 'Courier New', Courier, monospace;
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-loop-dark);
    white-space: nowrap;
}

.rk-loop-math-desc {
    font-size: 14px;
    color: var(--rk-loop-gray);
    line-height: 1.6;
}

.rk-loop-math-desc strong { color: var(--rk-loop-dark); }

@media (max-width: 768px) {
    .rk-loop-header, .rk-loop-interactive, .rk-loop-article { padding: 25px 20px; }
    .rk-loop-results { grid-template-columns: 1fr; }
    .rk-loop-formula-card { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-loop-controls { padding: 15px; flex-direction: column; gap: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/"
    },
    "headline": "Jaka jest maksymalna długość jednej pętli ogrzewania podłogowego?",
    "description": "Poznaj maksymalne długości rur grzewczych (14mm, 16mm, 20mm). Sprawdź konsekwencje przekroczenia oporów hydraulicznych i zjawisko zimnych plam.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/#dataset",
    "name": "Dopuszczalne długości pętli grzewczych i opory hydrauliczne",
    "description": "Zestawienie limitów długości przewodów ogrzewania płaszczyznowego względem ich średnicy i generowanych strat ciśnienia (limit 20 kPa).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego",
      "opory hydrauliczne podłogówki",
      "rura 16x2.0 maksymalna długość",
      "zimne plamy na podłodze",
      "regulacja rotametrów rozdzielacza"
    ],
    "measurementTechnique": "Algorytm oparty na wzorze Δp = R · L + Z, wyliczający sumaryczną stratę ciśnienia instalacji.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura 14 mm: Limit 80 metrów bieżących.",
        "Rura 16 mm: Limit 100 metrów bieżących.",
        "Rura 20 mm: Limit 150 metrów bieżących.",
        "Krytyczny opór hydrauliczny: > 20 kPa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/#webapp",
    "name": "Kalkulator Oporów i Długości Pętli",
    "description": "Narzędzie symulujące rozkład temperatur (wychładzanie czynnika) oraz wzrost strat ciśnienia na pętli w zależności od średnicy rury.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-loop-container">
    <div class="rk-loop-header">
        <h2>Jaka jest maksymalna długość jednej pętli ogrzewania podłogowego?</h2>
        <p>Przekroczenie maksymalnej długości rury generuje ogromne opory hydrauliczne. Uniemożliwia to wyregulowanie rotametrów na rozdzielaczu i prowadzi do powstawania tzw. zimnych plam.</p>
    </div>

    <div class="rk-loop-interactive">
        
        <div class="rk-loop-controls">
            <div class="rk-loop-ctrl-group">
                <span class="rk-loop-ctrl-label">Średnica rury (zewnętrzna)</span>
                <div class="rk-loop-diameters" id="rkDiaSelector">
                    <button class="rk-loop-dia-btn" data-dia="14" data-max="80">14 mm</button>
                    <button class="rk-loop-dia-btn active" data-dia="16" data-max="100">16 mm</button>
                    <button class="rk-loop-dia-btn" data-dia="20" data-max="150">20 mm</button>
                </div>
            </div>
            
            <div class="rk-loop-ctrl-group" style="flex: 1.5;">
                <span class="rk-loop-ctrl-label">Projektowana długość pętli (L)</span>
                <div class="rk-loop-slider-wrap">
                    <input type="range" id="rkLenSlider" class="rk-loop-range" min="40" max="180" step="1" value="85">
                    <span class="rk-loop-len-val" id="rkLenVal">85 m</span>
                </div>
            </div>
        </div>

        <div class="rk-loop-results">
            <div class="rk-loop-res-card">
                <span class="rk-loop-res-label">Limit normatywny</span>
                <span class="rk-loop-res-val" id="rkLimitVal">100 m</span>
            </div>
            <div class="rk-loop-res-card">
                <span class="rk-loop-res-label">Straty ciśnienia (Δp)</span>
                <span class="rk-loop-res-val val-ok" id="rkPressVal">~12 kPa</span>
            </div>
            <div class="rk-loop-res-card">
                <span class="rk-loop-res-label">Wydolność strefy</span>
                <span class="rk-loop-res-val val-ok" id="rkEffVal">100%</span>
            </div>
        </div>

        <div class="rk-loop-vis-box">
            <div class="rk-loop-vis-title">Wizualizacja Rozkładu Temperatury (Zasilanie → Powrót)</div>
            <svg class="rk-loop-svg" preserveAspectRatio="none">
                <defs>
                    <linearGradient id="rkTempGrad" x1="0%" y1="0%" x2="100%" y2="0%">
                        <stop offset="0%" stop-color="#ef4444" id="stopStart" />
                        <stop offset="50%" stop-color="#f59e0b" id="stopMid" />
                        <stop offset="100%" stop-color="#10b981" id="stopEnd" />
                    </linearGradient>
                </defs>
                <rect x="0" y="20" width="100%" height="20" rx="10" fill="url(#rkTempGrad)" />
            </svg>
            <div class="rk-loop-alert alert-ok" id="rkAlertBox">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></svg>
                <span id="rkAlertText">Parametry w normie. Równomierne oddawanie ciepła.</span>
            </div>
        </div>

    </div>

    <div class="rk-loop-article">
        <p>Maksymalna długość pojedynczej pętli grzewczej dla rury o średnicy <strong>16&#215;2,0 mm</strong> wynosi <strong>100 metrów</strong>, wliczając w to odcinki dobiegowe (podejścia od rozdzielacza do pomieszczenia). Dla rur o średnicy <strong>20 mm</strong> limit ten wynosi <strong>150 metrów</strong>, natomiast dla rur cienkościennych <strong>14 mm</strong> nie należy przekraczać <strong>80 metrów</strong>.</p>
        
        <p>Przekroczenie tych długości generuje drastyczne opory hydrauliczne powyżej <strong>20 kPa</strong> na jednej pętli, uniemożliwiając prawidłowe zrównoważenie instalacji na rotametrach rozdzielacza. Konsekwencją wykonania zbyt długiej pętli (np. 140 metrów na rurze 16 mm) jest zjawisko niedogrzania strefy powrotnej. Woda płynąca przez rurę oddaje ciepło zbyt wcześnie, a wychłodzony czynnik w końcowej części pętli nie jest w stanie pokryć strat ciepła pomieszczenia. Powoduje to powstawanie tzw. &#8222;zimnych plam&#8221; na podłodze.</p>

        <div class="rk-loop-formula-card">
            <div class="rk-loop-math">
                <i>&Delta;p</i> = <i>R</i> &middot; <i>L</i> + <i>Z</i>
            </div>
            <div class="rk-loop-math-desc">
                Łączna strata ciśnienia rośnie proporcjonalnie do kwadratu natężenia przepływu. <br>
                Gdzie: <br>
                <strong><i>R</i></strong> to liniowy opór jednostkowy [Pa/m], <br>
                <strong><i>L</i></strong> to długość rury [m], <br>
                <strong><i>Z</i></strong> to opory miejscowe (łuki, zagięcia).
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const diaBtns = document.querySelectorAll('.rk-loop-dia-btn');
    const slider = document.getElementById('rkLenSlider');
    const lenVal = document.getElementById('rkLenVal');
    const limitVal = document.getElementById('rkLimitVal');
    const pressVal = document.getElementById('rkPressVal');
    const effVal = document.getElementById('rkEffVal');
    const alertBox = document.getElementById('rkAlertBox');
    const alertText = document.getElementById('rkAlertText');
    const stopEnd = document.getElementById('stopEnd');

    let currentMax = 100;

    function updateSimulation() {
        const length = parseInt(slider.value);
        lenVal.innerText = length + ' m';

        // Prosta symulacja oporów (nieliniowa ze względu na kwadrat przepływu w teorii, 
        // tu uproszczona do celów demonstracyjnych). 
        // Zakładamy max opór ok 20 kPa przy długości maksymalnej.
        let pressure = Math.pow(length / currentMax, 1.8) * 18; 
        
        // Klasy i kolory
        pressVal.classList.remove('val-ok', 'val-warn', 'val-err');
        effVal.classList.remove('val-ok', 'val-warn', 'val-err');
        alertBox.classList.remove('alert-ok', 'alert-err');

        if (length <= currentMax) {
            // W normie
            pressVal.innerText = `~${pressure.toFixed(1)} kPa`;
            pressVal.classList.add('val-ok');
            effVal.innerText = "100%";
            effVal.classList.add('val-ok');
            
            stopEnd.setAttribute('stop-color', '#10b981'); // Zielony/Ciepły powrót
            
            alertBox.classList.add('alert-ok');
            alertBox.innerHTML = `<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></svg> <span id="rkAlertText">Parametry w normie. Równomierne oddawanie ciepła.</span>`;
        } else {
            // Przekroczenie
            pressVal.innerText = `> ${pressure.toFixed(1)} kPa`;
            pressVal.classList.add('val-err');
            
            // Oblicz spadek wydajności
            let eff = Math.max(10, 100 - ((length - currentMax) * 1.5));
            effVal.innerText = `${eff.toFixed(0)}%`;
            effVal.classList.add('val-err');

            stopEnd.setAttribute('stop-color', '#2563eb'); // Niebieski/Zimny powrót
            
            alertBox.classList.add('alert-err');
            alertBox.innerHTML = `<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg> <span id="rkAlertText">BŁĄD: Zbyt duży opór. Ryzyko powstawania zimnych plam.</span>`;
        }
    }

    diaBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            diaBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            currentMax = parseInt(this.getAttribute('data-max'));
            limitVal.innerText = currentMax + ' m';
            
            updateSimulation();
        });
    });

    slider.addEventListener('input', updateSimulation);
    
    // Inicjalizacja
    updateSimulation();
});
</script>



<style>
:root {
    --rk-space-dark: #0f172a;
    --rk-space-blue: #0ea5e9;
    --rk-space-blue-bg: #f0f9ff;
    --rk-space-teal: #14b8a6;
    --rk-space-green: #10b981;
    --rk-space-orange: #f59e0b;
    --rk-space-red: #ef4444;
    --rk-space-gray: #64748b;
    --rk-space-border: #e2e8f0;
    --rk-space-bg: #ffffff;
}

.rk-space-container, .rk-space-container * {
    box-sizing: border-box !important;
}

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

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

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

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

/* Interaktywna Aplikacja */
.rk-space-app {
    padding: 40px 45px;
    background: #f8fafc;
}

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

/* Suwak (Slider) */
.rk-space-control {
    background: #ffffff;
    border: 1px solid var(--rk-space-border);
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-slider-wrapper {
    position: relative;
    padding: 0 10px;
}

.rk-slider-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-space-gray);
}

.rk-slider-labels span {
    cursor: pointer;
    transition: all 0.3s;
}

.rk-slider-labels span.active {
    color: var(--rk-space-blue);
    transform: scale(1.1);
}

/* TWARDE WYMUSZENIE KIERUNKU LTR (Left-To-Right) ZAPOBIEGA ODWRACANIU DANYCH */
.rk-space-range {
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    outline: none;
    direction: ltr !important; 
}

.rk-space-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--rk-space-blue);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.4);
    border: 3px solid #ffffff;
    transition: transform 0.2s, background 0.3s;
}

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

/* Karty z Danymi */
.rk-space-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-stat-card {
    background: #ffffff;
    border: 1px solid var(--rk-space-border);
    border-radius: 12px;
    padding: 25px 20px;
    text-align: center;
    transition: transform 0.3s, border-color 0.3s;
}

.rk-stat-card:hover {
    transform: translateY(-2px);
    border-color: #bae6fd;
}

.rk-stat-icon {
    width: 28px;
    height: 28px;
    margin: 0 auto 12px;
    color: var(--rk-space-teal);
}

.rk-stat-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-space-gray);
    text-transform: uppercase;
    margin-bottom: 8px;
    display: block;
}

.rk-stat-value {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-space-dark);
    display: block;
    line-height: 1.2;
}

.rk-stat-value small {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-space-gray);
}

.rk-stat-full {
    grid-column: span 2;
    background: var(--rk-space-dark);
    color: #ffffff;
}

.rk-stat-full .rk-stat-title { color: #94a3b8; }
.rk-stat-full .rk-stat-value { color: #ffffff; font-size: 20px; }

/* Sekcja z opisem tekstowym */
.rk-space-article {
    padding: 40px 45px;
    background: #ffffff;
    border-top: 1px solid var(--rk-space-border);
}

.rk-space-article h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-space-dark);
    margin: 0 0 15px 0;
}

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

.rk-cop-alert {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background: #ecfdf5;
    border-left: 4px solid var(--rk-space-green);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 25px;
}

.rk-cop-alert svg {
    width: 28px;
    height: 28px;
    color: var(--rk-space-green);
    flex-shrink: 0;
    animation: rkPulseCop 2s infinite;
}

@keyframes rkPulseCop {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.rk-cop-text h4 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 800;
    color: #065f46;
}

.rk-cop-text p {
    margin: 0;
    font-size: 14px;
    color: #047857;
}

.rk-space-article a {
    color: var(--rk-space-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--rk-space-blue);
    transition: all 0.3s;
}

.rk-space-article a:hover {
    color: #0284c7;
    border-bottom-style: solid;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-space-header, .rk-space-app, .rk-space-article { padding: 30px 20px; }
    .rk-space-stats { grid-template-columns: 1fr; }
    .rk-stat-full { grid-column: span 1; }
    .rk-slider-labels { font-size: 12px; }
    .rk-cop-alert { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/#article-rozstaw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/"
    },
    "headline": "Jak gęsto rozkładać rury w podłogówce?",
    "description": "Zrozum, jak rozstaw rur wpływa na zużycie materiału, temperaturę podłogi oraz wydajność COP pompy ciepła. Interaktywny kalkulator gęstości ułożenia.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/#dataset-rozstaw",
    "name": "Tabela zużycia rur i rozstawów dla ogrzewania płaszczyznowego (WT2021)",
    "description": "Dane na temat gęstości ułożenia rury PE-RT/PEX na 1 m2 w zależności od docelowej strefy grzewczej i wymagań termicznych budynku.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozstaw rur 10 czy 15 cm",
      "strefa brzegowa podłogówki",
      "COP pompy ciepła",
      "zużycie rury na m2 ogrzewania podłogowego",
      "maksymalna długość pętli ogrzewania"
    ],
    "measurementTechnique": "Przeliczenie geometryczne powierzchni pola grzewczego uwzględniające naddatek instalacyjny 2%.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw 5 cm: zużycie 20,0 m/m2 (Strefy brzegowe).",
        "Rozstaw 10 cm: zużycie 10,0 m/m2 (Łazienki, Pompy ciepła).",
        "Rozstaw 15 cm: zużycie 6,7 m/m2 (Standard salonowy).",
        "Rozstaw 20 cm: zużycie 5,0 m/m2 (Garaże, korytarze)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/#webapp-rozstaw",
    "name": "Symulator Rozstawu Rur i Wpływu na COP",
    "description": "Interaktywny symulator wizualizujący zagęszczenie rur grzewczych na siatce podłogowej i jego wpływ na sprawność układu termicznego i zużycie materiałów.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-space-container">
    <div class="rk-space-header">
        <h2>Jak gęsto rozkładać rury w podłogówce?</h2>
        <p>Wybór rozstawu (interwału) wpływa bezpośrednio na średnią temperaturę podłogi, moc grzewczą oraz ostateczny pobór prądu. Zobacz, jak zmieniają się parametry w zależności od wybranej gęstości.</p>
    </div>

    <div class="rk-space-app">
        <h3>Symulator Zużycia Materiału i Stref Grzewczych</h3>
        
        <div class="rk-space-control">
            <div class="rk-slider-labels">
                <span data-val="5">5 cm</span>
                <span data-val="10">10 cm</span>
                <span data-val="15" class="active">15 cm</span>
                <span data-val="20">20 cm</span>
            </div>
            <div class="rk-slider-wrapper">
                <input type="range" id="rkSpacingSlider" class="rk-space-range" min="5" max="20" step="5" value="15">
            </div>
        </div>

        <div class="rk-space-stats">
            <div class="rk-stat-card">
                <svg class="rk-stat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="21 8 21 21 3 21 3 8"></polyline><rect x="1" y="3" width="22" height="5"></rect><line x1="10" y1="12" x2="14" y2="12"></line></svg>
                <span class="rk-stat-title">Zużycie rury (m²)</span>
                <span class="rk-stat-value" id="rkStatUsage">6,7 <small>m</small></span>
            </div>
            <div class="rk-stat-card">
                <svg class="rk-stat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                <span class="rk-stat-title">Pokrycie z 1 pętli (100m)</span>
                <span class="rk-stat-value" id="rkStatArea">13,5 <small>m²</small></span>
            </div>
            <div class="rk-stat-card rk-stat-full">
                <span class="rk-stat-title">Zastosowanie dedykowane (Strefa)</span>
                <span class="rk-stat-value" id="rkStatTarget">Standard budowlany WT2021, salony, pokoje</span>
            </div>
        </div>
    </div>

    <div class="rk-space-article">
        <h3>Strefy brzegowe i centralne – klucz do balansu</h3>
        <p>Standardowy rozstaw rur grzewczych w strefach centralnych pomieszczeń mieszkalnych wynosi <strong>10 cm lub 15 cm</strong>. W pomieszczeniach pomocniczych, takich jak garaże czy spiżarnie, z powodzeniem można zastosować rzadszy układ, np. <strong>20 cm</strong>, co obniża koszty materiału bez strat dla komfortu użytkowego.</p>
        
        <p>Kluczowe znaczenie ma <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">strefa brzegowa</a> (wzdłuż ścian zewnętrznych, przy oknach tarasowych i dużych przeszkleniach). Stosuje się tam maksymalne zagęszczenie (rozstaw <strong>5 cm lub 10 cm</strong>) na szerokości pasma minimum 1 metra od przegrody. Ma to na celu skompensowanie zwiększonych lokalnych strat ciepła i zablokowanie zjawiska tzw. radiacji chłodu.</p>

        <div class="rk-cop-alert">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
            <div class="rk-cop-text">
                <h4>Wpływ rozstawu na sprawność Pompy Ciepła</h4>
                <p>Zmniejszenie rozstawu z 15 cm na 10 cm (decyzja podjęta w <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">trakcie projektu</a>) pozwala na obniżenie wymaganej temperatury zasilania czynnika o około <strong>3-4°C</strong> przy zachowaniu identycznej wydajności cieplnej pokoju. To zjawisko bezpośrednio podnosi współczynnik sprawności COP o około <strong>6-8% w skali roku</strong>.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkSpacingSlider');
    const labels = document.querySelectorAll('.rk-slider-labels span');
    
    // DOM Elements to update
    const statUsage = document.getElementById('rkStatUsage');
    const statArea = document.getElementById('rkStatArea');
    const statTarget = document.getElementById('rkStatTarget');

    // MAPOWANIE DANYCH WEJŚCIOWYCH (POPRAWNE DLA LTR)
    const spacingData = {
        '5': {
            usage: '20,0',
            area: '4,0 - 4,5',
            target: 'Strefy brzegowe pod dużymi oknami (Strefa Gęsta)',
            color: 'var(--rk-space-orange)'
        },
        '10': {
            usage: '10,0',
            area: '8,0 - 9,0',
            target: 'Łazienki, domy o wyższym zapotrzebowaniu, pompy ciepła',
            color: 'var(--rk-space-green)'
        },
        '15': {
            usage: '6,7',
            area: '12,0 - 13,5',
            target: 'Standard budowlany WT2021, salony, pokoje',
            color: 'var(--rk-space-blue)'
        },
        '20': {
            usage: '5,0',
            area: '16,0 - 18,0',
            target: 'Pomieszczenia techniczne, korytarze, garaże',
            color: 'var(--rk-space-gray)'
        }
    };

    function updateUI(value) {
        const data = spacingData[value];
        
        // Aktualizacja tekstów i wartości
        statUsage.innerHTML = `${data.usage} <small>m</small>`;
        statArea.innerHTML = `${data.area} <small>m²</small>`;
        statTarget.innerText = data.target;

        // Aktualizacja etykiet tekstowych nad suwakiem
        labels.forEach(l => {
            if(l.getAttribute('data-val') === value.toString()) {
                l.classList.add('active');
                l.style.color = data.color;
            } else {
                l.classList.remove('active');
                l.style.color = 'var(--rk-space-gray)';
            }
        });

        // Dynamiczna zmiana barwy suwaka
        slider.style.setProperty('--rk-space-blue', data.color);
    }

    // Wywołanie przy ruchu suwakiem
    slider.addEventListener('input', (e) => updateUI(e.target.value));
    
    // Wywołanie przy kliknięciu bezpośrednio w etykiety tekstowe
    labels.forEach(label => {
        label.addEventListener('click', function() {
            const val = this.getAttribute('data-val');
            slider.value = val;
            updateUI(val);
        });
    });

    // Inicjalizacja startowa dla domyślnej wartości (15 cm)
    updateUI(slider.value);
});
</script>



<style>
:root {
    --rk-algo-dark: #0f172a;
    --rk-algo-blue: #2563eb;
    --rk-algo-blue-light: #eff6ff;
    --rk-algo-cyan: #06b6d4;
    --rk-algo-green: #10b981;
    --rk-algo-orange: #f59e0b;
    --rk-algo-red: #ef4444;
    --rk-algo-gray: #64748b;
    --rk-algo-border: #e2e8f0;
    --rk-algo-bg: #ffffff;
}

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

.rk-algo-header {
    background: linear-gradient(135deg, var(--rk-algo-dark) 0%, #1e3a8a 100%);
    padding: 40px 45px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rk-algo-header::after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: url('data:image/svg+xml;utf8,<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><path d="M0 100 C 20 0 50 0 100 100 Z" fill="rgba(255,255,255,0.03)"/></svg>') no-repeat center right / cover;
    pointer-events: none;
}

.rk-algo-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    position: relative;
    z-index: 2;
}

.rk-algo-header p {
    font-size: 16px;
    color: #bfdbfe;
    margin: 0;
    line-height: 1.6;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

.rk-algo-interactive {
    background: #ffffff;
    display: flex;
    flex-direction: column;
}

/* Timeline Nawigacja - Pozioma */
.rk-algo-timeline {
    background: #f8fafc;
    padding: 25px 40px;
    border-bottom: 1px solid var(--rk-algo-border);
    display: flex;
    justify-content: space-between;
    position: relative;
}

/* Linia łącząca kroki */
.rk-algo-timeline::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 40px;
    right: 40px;
    height: 4px;
    background: #e2e8f0;
    transform: translateY(-50%);
    z-index: 1;
}

.rk-algo-step-btn {
    position: relative;
    z-index: 2;
    background: #f8fafc;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-algo-gray);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 0 15px;
    text-align: center;
}

/* Numerek nad tekstem */
.rk-algo-step-btn::before {
    content: attr(data-step);
    width: 32px;
    height: 32px;
    background: #ffffff;
    border: 3px solid #e2e8f0;
    color: #94a3b8;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 900;
    transition: all 0.3s;
    box-shadow: 0 0 0 4px #f8fafc; /* Przykrywa linię w tle */
}

.rk-algo-step-btn:hover {
    color: var(--rk-algo-dark);
}

.rk-algo-step-btn:hover::before {
    border-color: #cbd5e1;
    color: var(--rk-algo-dark);
}

.rk-algo-step-btn.active {
    color: var(--rk-algo-blue);
}

.rk-algo-step-btn.active::before {
    background: var(--rk-algo-blue);
    border-color: var(--rk-algo-blue);
    color: #ffffff;
    box-shadow: 0 0 0 4px #f8fafc, 0 0 15px rgba(37, 99, 235, 0.4);
}

/* Panele z Treścią */
.rk-algo-panels {
    padding: 40px 45px;
}

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

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

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

.rk-algo-panel h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-algo-dark);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-algo-border);
}

.rk-algo-formula-box {
    background: #f1f5f9;
    border-left: 4px solid var(--rk-algo-cyan);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin-bottom: 25px;
    font-family: monospace;
    font-size: 16px;
    color: var(--rk-algo-dark);
}

.rk-algo-formula-box strong {
    color: var(--rk-algo-blue);
}

/* Interaktywny Kalkulator - Slidery */
.rk-calc-widget {
    background: #ffffff;
    border: 1px solid var(--rk-algo-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
    margin-bottom: 25px;
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 30px;
}

.rk-slider-group {
    margin-bottom: 20px;
}

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

.rk-slider-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-algo-dark);
}

.rk-slider-val {
    color: var(--rk-algo-blue);
}

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

.rk-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--rk-algo-blue);
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.4);
    transition: transform 0.1s;
}

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

/* Wizualizacja na żywo */
.rk-live-visual {
    background: #f8fafc;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border: 1px dashed #cbd5e1;
}

.rk-live-result {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-algo-dark);
    margin-top: 15px;
    text-align: center;
}

.rk-live-result span {
    font-size: 14px;
    color: var(--rk-algo-gray);
    display: block;
    font-weight: 600;
    text-transform: uppercase;
}

/* SVG Animations */
.rk-svg-icon { width: 100%; max-width: 120px; height: auto; }
.anim-pulse { animation: rkPulse 2s infinite alternate; }
.anim-flow { stroke-dasharray: 10; animation: rkFlow 1s linear infinite; }
.anim-float { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }

@keyframes rkPulse { 0% { filter: drop-shadow(0 0 2px rgba(239, 68, 68, 0.4)); } 100% { filter: drop-shadow(0 0 10px rgba(239, 68, 68, 0.8)); } }
@keyframes rkFlow { to { stroke-dashoffset: -20; } }

.rk-algo-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-algo-gray);
}

.rk-algo-desc a {
    color: var(--rk-algo-blue);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dotted var(--rk-algo-blue);
}

.rk-warning-box {
    background: #fef2f2;
    border-left: 4px solid var(--rk-algo-red);
    padding: 12px 15px;
    border-radius: 0 8px 8px 0;
    color: #991b1b;
    font-size: 14px;
    font-weight: 600;
    margin-top: 15px;
    display: none;
}

@media (max-width: 800px) {
    .rk-algo-timeline { flex-wrap: wrap; justify-content: flex-start; gap: 15px; padding: 20px; }
    .rk-algo-timeline::before { display: none; }
    .rk-algo-step-btn { flex-direction: row; text-align: left; width: 100%; padding: 10px; background: #ffffff; border: 1px solid var(--rk-algo-border); border-radius: 12px; }
    .rk-algo-step-btn::before { position: relative; box-shadow: none; }
    .rk-algo-step-btn.active::before { box-shadow: none; }
    .rk-calc-widget { grid-template-columns: 1fr; }
    .rk-algo-header, .rk-algo-panels { padding: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/"
    },
    "headline": "Algorytm obliczeniowy: Jak dobrać ilość rury i przepływy?",
    "description": "Krok po kroku: od obliczeń zapotrzebowania cieplnego (OZC), przez długość rury grzewczej, aż po precyzyjne ustawienie rotametru na rozdzielaczu podłogówki.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/#dataset",
    "name": "Zestawienie stałych fizycznych i współczynników OZC dla ogrzewania podłogowego",
    "description": "Zbiór parametrów niezbędnych do ręcznego lub maszynowego wyliczania przepływów hydraulicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zapotrzebowanie na strumień ciepła",
      "przepływ masowy czynnika ogrzewania",
      "jak ustawić rotametr podłogówki",
      "długość pętli ogrzewania podłogowego",
      "obliczenia OZC norma PN-EN 12831"
    ],
    "measurementTechnique": "Obliczenia inżynieryjne oparte na normach PN-EN 12831 oraz PN-EN 1264 z uwzględnieniem ciepła właściwego wody i współczynników ugięcia rury.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Współczynnik strat stropowych: 1,05.",
        "Współczynnik naddatku na ugięcia i łuki rury: 1,02.",
        "Ciepło właściwe wody (c_w): 4186 J/(kg·K)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/#webapp",
    "name": "Kalkulator Przepływów i Długości Rury Ogrzewania Podłogowego",
    "description": "Interaktywny widget pozwalający inwestorowi na dynamiczne symulowanie zapotrzebowania na ciepło, gęstości ułożenia rury i wynikowej nastawy rotametru (l/min).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-algo-container">
    <div class="rk-algo-header">
        <h2>Algorytm obliczeniowy: Jak dobrać ilość rury i przepływy?</h2>
        <p>W celu przeprowadzenia rzetelnego doboru inżynierskiego, należy zrealizować procedurę obliczeniową. Skorzystaj z poniższego interaktywnego kalkulatora, aby prześledzić ten proces na własnych parametrach.</p>
    </div>

    <div class="rk-algo-interactive">
        <div class="rk-algo-timeline">
            <button class="rk-algo-step-btn active" data-step="1" onclick="rkSwitchStep(1)">Strumień ciepła<br><small>(Q<sub>obl</sub>)</small></button>
            <button class="rk-algo-step-btn" data-step="2" onclick="rkSwitchStep(2)">Długość rury<br><small>(L<sub>r</sub>)</small></button>
            <button class="rk-algo-step-btn" data-step="3" onclick="rkSwitchStep(3)">Przepływ masowy<br><small>(m)</small></button>
            <button class="rk-algo-step-btn" data-step="4" onclick="rkSwitchStep(4)">Nastawa rotametru<br><small>(V<sub>V</sub>)</small></button>
        </div>

        <div class="rk-algo-panels">
            
            <div class="rk-algo-panel active" id="rk-step-1">
                <h3>Krok 1: Zapotrzebowanie na strumień ciepła</h3>
                <div class="rk-algo-formula-box">
                    Q<sub>obl</sub> = Q<sub>pom</sub> &times; 1,05
                </div>
                
                <div class="rk-calc-widget">
                    <div>
                        <div class="rk-slider-group">
                            <div class="rk-slider-header">
                                <span>Straty ciepła pokoju (Q<sub>pom</sub>)</span>
                                <span class="rk-slider-val" id="val-qpom">1200 W</span>
                            </div>
                            <input type="range" id="inp-qpom" class="rk-range" min="300" max="2500" step="50" value="1200" oninput="rkUpdateCalc()">
                        </div>
                        <p class="rk-algo-desc">Obliczamy zapotrzebowanie na moc grzewczą na podstawie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a> zgodnego z normą PN-EN 12831. Mnożnik <strong>1,05</strong> to inżynierski naddatek na straty ciepła przenikającego przez posadzkę do przestrzeni poniżej.</p>
                    </div>
                    <div class="rk-live-visual">
                        <svg class="rk-svg-icon" viewBox="0 0 100 100">
                            <path d="M 20 60 L 50 30 L 80 60 L 80 90 L 20 90 Z" fill="none" stroke="#64748b" stroke-width="4"/>
                            <path d="M 35 80 Q 40 60 35 45" fill="none" stroke="#ef4444" stroke-width="3" class="anim-pulse"/>
                            <path d="M 50 80 Q 55 60 50 45" fill="none" stroke="#ef4444" stroke-width="3" class="anim-pulse" style="animation-delay: 0.2s;"/>
                            <path d="M 65 80 Q 70 60 65 45" fill="none" stroke="#ef4444" stroke-width="3" class="anim-pulse" style="animation-delay: 0.4s;"/>
                        </svg>
                        <div class="rk-live-result">
                            <span id="res-qobl">1260</span>
                            <span>Wat (Q<sub>obl</sub>)</span>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-algo-panel" id="rk-step-2">
                <h3>Krok 2: Obliczenie wymaganej długości rury</h3>
                <div class="rk-algo-formula-box">
                    L<sub>r</sub> = (A / b) &times; 1,02
                </div>
                
                <div class="rk-calc-widget">
                    <div>
                        <div class="rk-slider-group">
                            <div class="rk-slider-header">
                                <span>Powierzchnia (A)</span>
                                <span class="rk-slider-val" id="val-area">18 m²</span>
                            </div>
                            <input type="range" id="inp-area" class="rk-range" min="5" max="40" step="1" value="18" oninput="rkUpdateCalc()">
                        </div>
                        <div class="rk-slider-group">
                            <div class="rk-slider-header">
                                <span>Rozstaw rur (b)</span>
                                <span class="rk-slider-val" id="val-space">15 cm</span>
                            </div>
                            <input type="range" id="inp-space" class="rk-range" min="5" max="25" step="5" value="15" oninput="rkUpdateCalc()">
                        </div>
                        <p class="rk-algo-desc">Mnożnik <strong>1,02</strong> uwzględnia ugięcia i profilowanie łuków. <br><em>Uwaga:</em> Maksymalna długość pętli dla rury 16&#215;2.0 to 100m. Jeśli wynik przekracza tę wartość, należy zaprojektować dodatkową pętlę.</p>
                        <div id="warn-length" class="rk-warning-box">
                            Wartość przekracza 100 m! Pętla zostanie podzielona na układ wielokrotny.
                        </div>
                    </div>
                    <div class="rk-live-visual">
                        <svg class="rk-svg-icon" viewBox="0 0 100 100">
                            <path id="svg-pipe-coil" d="M 10 10 L 90 10 L 90 90 L 20 90 L 20 20 L 80 20 L 80 80 L 30 80 L 30 30 L 70 30" fill="none" stroke="#2563eb" stroke-width="4" stroke-linecap="round"/>
                        </svg>
                        <div class="rk-live-result">
                            <span id="res-length">122.4</span>
                            <span id="res-loops">m (2 pętle)</span>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-algo-panel" id="rk-step-3">
                <h3>Krok 3: Przepływ masowy czynnika (m)</h3>
                <div class="rk-algo-formula-box">
                    m = Q<sub>pętli</sub> / (c<sub>w</sub> &times; &Delta;T)
                </div>
                
                <div class="rk-calc-widget">
                    <div>
                        <div class="rk-slider-group">
                            <div class="rk-slider-header">
                                <span>Różnica temp. zasilanie/powrót (&Delta;T)</span>
                                <span class="rk-slider-val" id="val-dt">5 K</span>
                            </div>
                            <input type="range" id="inp-dt" class="rk-range" min="3" max="10" step="1" value="5" oninput="rkUpdateCalc()">
                        </div>
                        <p class="rk-algo-desc">Ciepło właściwe wody (<strong>c<sub>w</sub></strong>) wynosi stałe 4186 J/(kg·K). Dla systemów z pompą ciepła standardem jest &Delta;T = 5 K. Zbyt duże &Delta;T świadczy o niewydolności przepływu na pętli.</p>
                    </div>
                    <div class="rk-live-visual">
                        <svg class="rk-svg-icon" viewBox="0 0 100 100">
                            <path d="M 20 50 C 40 20, 60 80, 80 50" fill="none" stroke="#e2e8f0" stroke-width="12" stroke-linecap="round"/>
                            <path d="M 20 50 C 40 20, 60 80, 80 50" fill="none" stroke="#06b6d4" stroke-width="6" stroke-linecap="round" class="anim-flow"/>
                        </svg>
                        <div class="rk-live-result">
                            <span id="res-mass">108.4</span>
                            <span>kg/h</span>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-algo-panel" id="rk-step-4">
                <h3>Krok 4: Przeliczenie na nastawę rotametru</h3>
                <div class="rk-algo-formula-box">
                    V<sub>V</sub> = m / 60
                </div>
                
                <div class="rk-calc-widget">
                    <div>
                        <p class="rk-algo-desc">Ostatni krok to zamiana przepływu masowego na objętościowy w litrach na minutę. Ta wartość jest ostateczną wytyczną dla instalatora, który reguluje układ na belce rozdzielacza za pomocą <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów</a>.</p>
                        <p class="rk-algo-desc" style="color: var(--rk-algo-dark); font-weight: 700;">Wartość wyliczona dla Twoich parametrów:</p>
                    </div>
                    <div class="rk-live-visual" style="background: #ffffff; border-color: var(--rk-algo-blue);">
                        <svg class="rk-svg-icon" viewBox="0 0 60 120">
                            <rect x="20" y="10" width="20" height="100" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2" rx="4"/>
                            <line x1="15" y1="20" x2="25" y2="20" stroke="#94a3b8" stroke-width="2"/>
                            <line x1="15" y1="45" x2="25" y2="45" stroke="#94a3b8" stroke-width="2"/>
                            <line x1="15" y1="70" x2="25" y2="70" stroke="#94a3b8" stroke-width="2"/>
                            <line x1="15" y1="95" x2="25" y2="95" stroke="#94a3b8" stroke-width="2"/>
                            <polygon id="svg-float" points="20,80 30,70 40,80 30,90" fill="#ef4444" class="anim-float"/>
                        </svg>
                        <div class="rk-live-result">
                            <span id="res-vol" style="color: var(--rk-algo-blue);">1.8</span>
                            <span>l/min</span>
                        </div>
                    </div>
                </div>
            </div>

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

<script>
function rkSwitchStep(step) {
    // UI Navigation
    document.querySelectorAll('.rk-algo-step-btn').forEach(btn => btn.classList.remove('active'));
    document.querySelector(`.rk-algo-step-btn[data-step="${step}"]`).classList.add('active');
    
    document.querySelectorAll('.rk-algo-panel').forEach(panel => panel.classList.remove('active'));
    document.getElementById(`rk-step-${step}`).classList.add('active');
}

function rkUpdateCalc() {
    // 1. Get Inputs
    const q_pom = parseFloat(document.getElementById('inp-qpom').value);
    const area = parseFloat(document.getElementById('inp-area').value);
    const space_cm = parseFloat(document.getElementById('inp-space').value);
    const dt = parseFloat(document.getElementById('inp-dt').value);

    // Update Input UI Labels
    document.getElementById('val-qpom').innerText = q_pom + ' W';
    document.getElementById('val-area').innerText = area + ' m²';
    document.getElementById('val-space').innerText = space_cm + ' cm';
    document.getElementById('val-dt').innerText = dt + ' K';

    // 2. Step 1: Heat Demand
    const q_obl = q_pom * 1.05;
    document.getElementById('res-qobl').innerText = q_obl.toFixed(0);

    // 3. Step 2: Pipe Length & Loops
    const space_m = space_cm / 100;
    const length_total = (area / space_m) * 1.02;
    
    let loops = 1;
    let warnBox = document.getElementById('warn-length');
    
    if (length_total > 100) {
        loops = Math.ceil(length_total / 100);
        warnBox.style.display = 'block';
    } else {
        warnBox.style.display = 'none';
    }

    document.getElementById('res-length').innerText = length_total.toFixed(1);
    document.getElementById('res-loops').innerText = `m (${loops} ${loops === 1 ? 'pętla' : 'pętle'})`;

    // Dynamic pipe drawing just for visual effect based on spacing
    const coil = document.getElementById('svg-pipe-coil');
    if(space_cm <= 10) {
        coil.setAttribute('d', 'M 10 10 L 90 10 L 90 90 L 10 90 L 10 20 L 80 20 L 80 80 L 20 80 L 20 30 L 70 30 L 70 70 L 30 70 L 30 40 L 60 40');
    } else {
        coil.setAttribute('d', 'M 10 10 L 90 10 L 90 90 L 20 90 L 20 20 L 80 20 L 80 80 L 30 80 L 30 30 L 70 30');
    }

    // 4. Step 3: Mass Flow per loop
    const q_per_loop = q_obl / loops;
    const cw = 4186; // J/(kg*K)
    // Formula: m = Q / (cw * dT). Gives kg/s. Multiply by 3600 for kg/h
    const mass_flow = (q_per_loop / (cw * dt)) * 3600;
    document.getElementById('res-mass').innerText = mass_flow.toFixed(1);

    // 5. Step 4: Volume Flow (Rotameter)
    const vol_flow = mass_flow / 60;
    document.getElementById('res-vol').innerText = vol_flow.toFixed(2);

    // Update Rotameter Float SVG (Y maps roughly from 90 (0 l/min) to 20 (3.5 l/min))
    const max_flow = 3.5;
    let mapped_y = 90 - ((vol_flow / max_flow) * 70);
    if(mapped_y < 20) mapped_y = 20; // clamp max
    if(mapped_y > 90) mapped_y = 90; // clamp min
    
    document.getElementById('svg-float').setAttribute('points', `20,${mapped_y-10} 30,${mapped_y-20} 40,${mapped_y-10} 30,${mapped_y}`);
}

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



<style>
:root {
    --rk-dsgn-dark: #0f172a;
    --rk-dsgn-blue: #0284c7;
    --rk-dsgn-light: #f8fafc;
    --rk-dsgn-accent: #38bdf8;
    --rk-dsgn-warning: #eab308;
    --rk-dsgn-danger: #ef4444;
    --rk-dsgn-success: #10b981;
    --rk-dsgn-text: #334155;
    --rk-dsgn-border: #e2e8f0;
}

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

/* Header Section */
.rk-dsgn-header {
    background: radial-gradient(circle at top right, #1e293b, var(--rk-dsgn-dark));
    padding: 40px 45px;
    color: #ffffff;
    position: relative;
    border-bottom: 5px solid var(--rk-dsgn-blue);
}

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

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

/* Interactive Dashboard */
.rk-dsgn-dashboard {
    padding: 40px 45px;
    background: var(--rk-dsgn-light);
}

.rk-dsgn-controls {
    display: flex;
    justify-content: center;
    margin-bottom: 35px;
}

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

.rk-dsgn-btn {
    padding: 14px 28px;
    border: none;
    background: transparent;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 8px;
}

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

.rk-dsgn-slider {
    position: absolute;
    top: 6px;
    left: 6px;
    width: calc(50% - 6px);
    height: calc(100% - 12px);
    background: var(--rk-dsgn-blue);
    border-radius: 12px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

.rk-dsgn-switch.state-error .rk-dsgn-slider {
    transform: translateX(100%);
    background: var(--rk-dsgn-danger);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

/* Vis & Data Area */
.rk-dsgn-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: stretch;
}

.rk-dsgn-card {
    background: #ffffff;
    border: 1px solid var(--rk-dsgn-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
}

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

/* SVG Visualization */
.rk-dsgn-visual {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 180px;
    background: #f1f5f9;
    border-radius: 12px;
    margin-bottom: 20px;
    overflow: hidden;
    position: relative;
}

.rk-dsgn-svg { width: 100%; height: 100%; max-width: 250px; }

/* SVG Animations */
.anim-pump-rotor { transform-origin: 30px 50px; transition: animation-duration 0.5s; }
.anim-heat-flow { stroke-dasharray: 10 10; animation: flowDash 2s linear infinite; }
.anim-temp-glow { transition: fill 0.5s; }

.state-pro-view .anim-pump-rotor { animation: spinRotor 3s linear infinite; fill: var(--rk-dsgn-blue); }
.state-pro-view .anim-heat-flow { stroke: var(--rk-dsgn-success); animation-duration: 3s; }
.state-pro-view .anim-temp-glow { fill: rgba(16, 185, 129, 0.2); }

.state-error-view .anim-pump-rotor { animation: spinRotor 0.5s linear infinite; fill: var(--rk-dsgn-danger); }
.state-error-view .anim-heat-flow { stroke: var(--rk-dsgn-warning); animation-duration: 0.8s; }
.state-error-view .anim-temp-glow { fill: rgba(239, 68, 68, 0.1); }

@keyframes spinRotor { 100% { transform: rotate(360deg); } }
@keyframes flowDash { to { stroke-dashoffset: -20; } }

/* Parameters List */
.rk-dsgn-params {
    list-style: none;
    padding: 0;
    margin: 0;
    flex-grow: 1;
}

.rk-dsgn-params li {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px dashed var(--rk-dsgn-border);
    font-size: 14px;
}

.rk-dsgn-params li:last-child { border-bottom: none; }
.rk-dsgn-params span:first-child { color: var(--rk-dsgn-text); font-weight: 600; }
.rk-dsgn-params span:last-child { font-weight: 800; transition: color 0.3s; }

.val-pro { color: var(--rk-dsgn-success); }
.val-err { color: var(--rk-dsgn-danger); }

/* Text Content */
.rk-dsgn-article {
    padding: 40px 45px;
    background: #ffffff;
}

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

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

.rk-dsgn-article a {
    color: var(--rk-dsgn-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s;
}

.rk-dsgn-article a:hover { border-color: var(--rk-dsgn-blue); }

.rk-highlight-box {
    background: #f0fdfa;
    border-left: 4px solid var(--rk-dsgn-success);
    padding: 15px 20px;
    border-radius: 0 8px 8px 0;
    margin: 20px 0;
    font-weight: 600;
    color: #0f766e;
    font-size: 15px;
}

/* CTA */
.rk-dsgn-cta {
    background: var(--rk-dsgn-dark);
    padding: 45px;
    text-align: center;
    border-top: 4px solid var(--rk-dsgn-warning);
}

.rk-dsgn-cta h3 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
}

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

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: linear-gradient(135deg, var(--rk-dsgn-warning) 0%, #ca8a04 100%);
    color: #ffffff;
    padding: 20px 40px;
    border-radius: 16px;
    font-size: 18px;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 10px 25px -5px rgba(234, 179, 8, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-btn-massive:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 20px 35px -5px rgba(234, 179, 8, 0.5);
}

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

/* Mobile adjustments */
@media (max-width: 768px) {
    .rk-dsgn-header, .rk-dsgn-dashboard, .rk-dsgn-article, .rk-dsgn-cta { padding: 30px 20px; }
    .rk-dsgn-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-dsgn-switch { display: flex; width: 100%; flex-direction: column; background: transparent; padding: 0; gap: 10px; box-shadow: none; }
    .rk-dsgn-slider { display: none; }
    .rk-dsgn-btn { width: 100%; justify-content: center; background: #e2e8f0; }
    .rk-dsgn-btn.active[data-mode="pro"] { background: var(--rk-dsgn-blue); }
    .rk-dsgn-btn.active[data-mode="err"] { background: var(--rk-dsgn-danger); }
    .rk-dsgn-header h2 { font-size: 24px; }
    .rk-btn-massive { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/jak-wybor-rury-wplywa-na-projekt-ogrzewania-podlogowego/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jak-wybor-rury-wplywa-na-projekt-ogrzewania-podlogowego/"
    },
    "headline": "Jak wybór rury wpływa na projekt ogrzewania podłogowego?",
    "description": "Zobacz, jak samowolna zmiana parametrów rury (np. Lambda) i rozstawu niszczy bilans cieplny budynku oraz przeciąża pompę obiegową w układzie hydraulicznym.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/jak-wybor-rury-wplywa-na-projekt-ogrzewania-podlogowego/#dataset",
    "name": "Zestawienie parametrów hydraulicznych i cieplnych rur podłogowych",
    "description": "Dane z obliczeń inżynierskich obrazujące wpływ zmiany materiału rury na wydajność pompy obiegowej i temperaturę zasilania instalacji.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego OZC",
      "norma PN-EN 1264",
      "dobór pompy obiegowej do podłogówki",
      "opór hydrauliczny pętli grzewczej",
      "przewodność cieplna rury lambda"
    ],
    "measurementTechnique": "Algorytmy przeliczeniowe zgodne z PN-EN 1264, porównujące sumaryczny opór pierścienia krytycznego przy różnych typach rur.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Projekt zgodny z OZC minimalizuje temperaturę zasilania.",
        "Zmiana rury o przewodności λ = 0,43 na słabszą powoduje niedogrzanie.",
        "Niewłaściwy dobór rur zwiększa zużycie energii elektrycznej przez pompę."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/jak-wybor-rury-wplywa-na-projekt-ogrzewania-podlogowego/#webapp",
    "name": "Kalkulator Wpływu Średnicy Rury na Pompę Obiegową",
    "description": "Interaktywny symulator wizualizujący obciążenie pompy obiegowej oraz spadek mocy grzewczej w wyniku samowolnej zmiany parametrów instalacyjnych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dsgn-container">
    <div class="rk-dsgn-header">
        <h2>Jak wybór rury wpływa na projekt i koszty ogrzewania?</h2>
        <p>Projektowanie instalacji płaszczyznowej to system naczyń połączonych. Zmiana jednego materiału na budowie bez przeliczeń inżynierskich niszczy całą hydraulikę układu.</p>
    </div>

    <div class="rk-dsgn-dashboard state-pro-view" id="dsgnDash">
        <div class="rk-dsgn-controls">
            <div class="rk-dsgn-switch" id="dsgnSwitchBg">
                <div class="rk-dsgn-slider"></div>
                <button class="rk-dsgn-btn active" data-mode="pro">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></svg>
                    Projekt wg OZC
                </button>
                <button class="rk-dsgn-btn" data-mode="err">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>
                    Zmiana &#8222;na oko&#8221;
                </button>
            </div>
        </div>

        <div class="rk-dsgn-grid">
            <div class="rk-dsgn-card">
                <h4>
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
                    Obciążenie hydrauliczne
                </h4>
                <div class="rk-dsgn-visual">
                    <svg class="rk-dsgn-svg" viewBox="0 0 100 100">
                        <path d="M 50 80 C 80 80, 80 20, 50 20 C 20 20, 20 80, 50 80" fill="none" stroke="#cbd5e1" stroke-width="12" stroke-linecap="round"/>
                        <path d="M 50 80 C 80 80, 80 20, 50 20 C 20 20, 20 80, 50 80" fill="none" stroke-width="6" stroke-linecap="round" class="anim-heat-flow"/>
                        <rect x="25" y="10" width="50" height="80" rx="10" class="anim-temp-glow"/>
                        <circle cx="30" cy="50" r="18" fill="#1e293b"/>
                        <path d="M 30 35 L 40 55 L 20 55 Z" class="anim-pump-rotor"/>
                        <circle cx="30" cy="50" r="4" fill="#ffffff"/>
                    </svg>
                </div>
                <p style="font-size: 14px; color: #64748b; text-align: center; margin: 0;" id="dsgnStatusText">
                    Zbilansowane opory. Pompa pracuje w optymalnym punkcie pracy krzywej charakterystyki.
                </p>
            </div>

            <div class="rk-dsgn-card">
                <h4>
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg>
                    Odczyty z układu
                </h4>
                <ul class="rk-dsgn-params" id="dsgnParamsList">
                    <li><span>Zakładana Przewodność (λ)</span> <span class="val-pro">0,43 W/(m·K)</span></li>
                    <li><span>Temperatura zasilania</span> <span class="val-pro">32°C (Optymalna)</span></li>
                    <li><span>Opór pierścienia (Δp)</span> <span class="val-pro">15 kPa</span></li>
                    <li><span>Zużycie energii (Pompa)</span> <span class="val-pro">Niskie (~15W)</span></li>
                    <li><span>Efekt w budynku (-20°C)</span> <span class="val-pro">Zapewniony komfort</span></li>
                </ul>
            </div>
        </div>
    </div>

    <div class="rk-dsgn-article">
        <h3>Normy i obliczenia nie wybaczą modyfikacji</h3>
        <p>Każda decyzja materiałowa i geometryczna bezpośrednio modyfikuje obliczenia hydrauliczne w projekcie wykonawczym instalacji sanitarnej. Zmiana średnicy rury lub jej rozstawu bez weryfikacji w programie inżynieryjnym (zgodnym z normą <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">PN-EN 1264</a>) bezpowrotnie skutkuje rozbalansowaniem systemu.</p>
        
        <div class="rk-highlight-box">
            Projektant, bazując na dokładnym <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilansie cieplnym (OZC)</a>, dobiera rozstaw rur w jednym celu – aby wymagana temperatura zasilania była jak najniższa.
        </div>

        <p>Jeśli w projekcie założono rurę o wysokiej przewodności cieplnej (np. wielowarstwową z wkładką aluminiową, gdzie współczynnik <strong>λ = 0,43 W/(m·K)</strong>), zastąpienie jej produktem o gorszych parametrach termicznych bez jednoczesnego zagęszczenia rozstawu spowoduje drastyczne niedogrzanie budynku przy projektowych temperaturach zewnętrznych (np. <strong>-20°C</strong> dla III strefy klimatycznej Polski).</p>

        <p>Dodatkowo, sumaryczny opór hydrauliczny najdłuższego obiegu (tzw. pierścień krytyczny) definiuje ścisłe wymagania wobec <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>. Zwiększenie oporów poprzez niewłaściwy dobór rur (np. zastosowanie mniejszej średnicy na zbyt długiej pętli) wymusza stosowanie droższych pomp o wyższej wysokości podnoszenia i potęguje zużycie energii elektrycznej przez całe urządzenie grzewcze w trakcie sezonu.</p>
    </div>

    <div class="rk-dsgn-cta">
        <h3>Nie ryzykuj straty materiału i późniejszych kosztów ogrzewania</h3>
        <p>Instalacja ułożona &#8222;na wyczucie&#8221; to gwarancja wyższych rachunków za prąd dla pompy ciepła i chłodnych stref w salonie. Zainwestuj ułamek wartości materiałów w rzetelne obliczenia inżynierskie.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-massive">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('#dsgnSwitchBg .rk-dsgn-btn');
    const switchBg = document.getElementById('dsgnSwitchBg');
    const dash = document.getElementById('dsgnDash');
    const statusText = document.getElementById('dsgnStatusText');
    const paramsList = document.getElementById('dsgnParamsList');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            const mode = this.getAttribute('data-mode');
            
            // Buttons toggle
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Switch UI State
            if (mode === 'pro') {
                switchBg.className = 'rk-dsgn-switch';
                dash.className = 'rk-dsgn-dashboard state-pro-view';
                
                statusText.innerHTML = 'Zbilansowane opory. Pompa pracuje w optymalnym punkcie pracy krzywej charakterystyki.';
                statusText.style.color = '#64748b';

                paramsList.innerHTML = `
                    <li><span>Zakładana Przewodność (λ)</span> <span class="val-pro">0,43 W/(m·K)</span></li>
                    <li><span>Temperatura zasilania</span> <span class="val-pro">32°C (Optymalna)</span></li>
                    <li><span>Opór pierścienia (Δp)</span> <span class="val-pro">15 kPa</span></li>
                    <li><span>Zużycie energii (Pompa)</span> <span class="val-pro">Niskie (~15W)</span></li>
                    <li><span>Efekt w budynku (-20°C)</span> <span class="val-pro">Zapewniony komfort</span></li>
                `;
            } else {
                switchBg.className = 'rk-dsgn-switch state-error';
                dash.className = 'rk-dsgn-dashboard state-error-view';
                
                statusText.innerHTML = 'Krytyczne opory hydrauliczne. Pompa pracuje na maksymalnym biegu, instalacja jest niedogrzana.';
                statusText.style.color = 'var(--rk-dsgn-danger)';

                paramsList.innerHTML = `
                    <li><span>Zmieniona Przewodność (λ)</span> <span class="val-err">0,35 W/(m·K)</span></li>
                    <li><span>Wymagane zasilanie</span> <span class="val-err">> 40°C (Spadek COP)</span></li>
                    <li><span>Opór pierścienia (Δp)</span> <span class="val-err">35 kPa (Przeciążenie)</span></li>
                    <li><span>Zużycie energii (Pompa)</span> <span class="val-err">Wysokie (Maks. bieg)</span></li>
                    <li><span>Efekt w budynku (-20°C)</span> <span class="val-err">Niedogrzanie budynku</span></li>
                `;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-err-dark: #111827;
    --rk-err-red: #ef4444;
    --rk-err-red-glow: rgba(239, 68, 68, 0.2);
    --rk-err-orange: #f97316;
    --rk-err-gray: #4b5563;
    --rk-err-light: #f3f4f6;
    --rk-err-border: #e5e7eb;
    --rk-err-bg: #ffffff;
    --rk-err-blue: #3b82f6;
}

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

.rk-err-header {
    background: var(--rk-err-dark);
    padding: 35px 40px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-err-red);
}

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

.rk-err-header p {
    color: #9ca3af;
    font-size: 16px;
    margin: 0;
    line-height: 1.6;
}

.rk-err-body {
    display: grid;
    grid-template-columns: 300px 1fr;
    min-height: 450px;
}

/* Sidebar Nawigacja */
.rk-err-nav {
    background: var(--rk-err-light);
    padding: 20px;
    border-right: 1px solid var(--rk-err-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-err-tab {
    background: transparent;
    border: 2px solid transparent;
    padding: 15px;
    border-radius: 12px;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-err-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-err-tab:hover {
    background: #e5e7eb;
}

.rk-err-tab.active {
    background: #ffffff;
    border-color: var(--rk-err-red);
    color: var(--rk-err-dark);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

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

.rk-err-tab.active .rk-err-icon-wrap {
    background: var(--rk-err-red-glow);
    color: var(--rk-err-red);
}

/* Zawartość paneli */
.rk-err-content-wrapper {
    padding: 40px;
    position: relative;
    background: #ffffff;
}

.rk-err-panel {
    display: none;
    animation: fadeIn 0.4s ease-out forwards;
}

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

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

.rk-err-panel h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-err-border);
}

/* Treść tekstowa */
.rk-err-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-err-gray);
}

.rk-err-desc p { margin: 0 0 15px 0; }

.rk-err-highlight {
    display: inline-block;
    background: #fef2f2;
    color: var(--rk-err-red);
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
    font-family: monospace;
    font-size: 14px;
}

.rk-err-fix {
    background: #f0fdf4;
    border-left: 4px solid #22c55e;
    padding: 15px;
    border-radius: 0 8px 8px 0;
    margin-top: 20px;
}

.rk-err-fix h4 { margin: 0 0 5px 0; color: #166534; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; }
.rk-err-fix p { margin: 0; color: #15803d; font-size: 14px; font-weight: 600; }

.rk-err-desc a {
    color: var(--rk-err-blue);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px solid transparent;
    transition: border-color 0.3s;
}
.rk-err-desc a:hover { border-color: var(--rk-err-blue); }

/* Responsywność */
@media (max-width: 768px) {
    .rk-err-body { grid-template-columns: 1fr; }
    .rk-err-nav { flex-direction: row; overflow-x: auto; padding: 15px; scroll-snap-type: x mandatory; }
    .rk-err-tab { flex: 0 0 80%; scroll-snap-align: center; justify-content: center; flex-direction: column; text-align: center; padding: 10px; }
    .rk-err-content-wrapper { padding: 25px; }
    .rk-err-header { padding: 25px; }
}
</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-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/"
    },
    "headline": "Najczęstsze błędy montażowe przy układaniu rur do podłogówki",
    "description": "Złamanie rury, brak dylatacji brzegowych, sztukowanie w wylewce. Poznaj 5 krytycznych błędów instalacyjnych, które zniszczą Twoje ogrzewanie podłogowe.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#dataset-bledy",
    "name": "Katalog Krytycznych Błędów Instalacyjnych Podłogówki",
    "description": "Techniczne zestawienie najczęstszych odstępstw od norm budowlanych podczas montażu wodnego ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy montażowe ogrzewania podłogowego",
      "pęknięta rura PEX w wylewce",
      "dylatacja norma PN-EN 1264-4",
      "ukryte złączki w jastrychu",
      "minimalny promień gięcia rury 16mm"
    ],
    "measurementTechnique": "Weryfikacja parametrów fizycznych instalacji z wytycznymi norm PN-EN 1264 oraz standardami jakościowymi PORT PC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Niedopuszczalne załamania struktury rury na łukach.",
        "Brak profili dylatacyjnych na powierzchniach powyżej 40 m2.",
        "Nieszczelności mechaniczne spowodowane łączeniem w betonie.",
        "Brak procedury ciśnieniowej (min. 6 bar) przed zalaniem.",
        "Blokowanie radiacji przez stałą zabudowę."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#webapp-symulator-awarii",
    "name": "Symulator Awarii Instalacyjnych",
    "description": "Interaktywny panel diagnostyczny prezentujący graficznie i tekstowo mechanikę powstawania usterek w jastrychu grzewczym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container">
    <div class="rk-err-header">
        <h2>Najczęstsze błędy przy montażu ogrzewania podłogowego</h2>
        <p>Wybierz moduł z menu, aby zobaczyć mechanikę błędu oraz konsekwencje nieprzestrzegania norm inżynierskich na budowie.</p>
    </div>

    <div class="rk-err-body">
        <div class="rk-err-nav">
            <button class="rk-err-tab active" data-target="err-1">
                <div class="rk-err-icon-wrap"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg></div>
                Złamanie rury
            </button>
            <button class="rk-err-tab" data-target="err-2">
                <div class="rk-err-icon-wrap"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 22h16A2 2 0 0 0 22 20V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2z"/><path d="M12 2v20"/><path d="M2 12h20"/></svg></div>
                Brak dylatacji
            </button>
            <button class="rk-err-tab" data-target="err-3">
                <div class="rk-err-icon-wrap"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M8 12h8"/><path d="M12 8v8"/><circle cx="12" cy="12" r="10"/></svg></div>
                Sztukowanie w wylewce
            </button>
            <button class="rk-err-tab" data-target="err-4">
                <div class="rk-err-icon-wrap"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg></div>
                Brak próby szczelności
            </button>
            <button class="rk-err-tab" data-target="err-5">
                <div class="rk-err-icon-wrap"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><path d="M3 9h18"/><path d="M9 21V9"/></svg></div>
                Rury pod meblami
            </button>
        </div>

        <div class="rk-err-content-wrapper">
            
            <div class="rk-err-panel active" id="err-1">
                <h3>Złamanie rury i zignorowanie uszkodzenia</h3>
                <div class="rk-err-desc">
                    <p>Przekroczenie minimalnego promienia gięcia (<span class="rk-err-highlight">5 x dn</span>, czyli dla standardowej rury 16 mm promień wynosi <strong>80 mm</strong>) powoduje przewężenie przekroju lub trwałe pęknięcie struktury polimeru.</p>
                    <p>Wlanie betonu na takie uszkodzenie skutkuje awarią i wyciekiem w okresie późniejszym pod wpływem wahań ciśnień roboczych. Osłabiona <a href="https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/">wytrzymałość rury</a> to tykająca bomba.</p>
                    <div class="rk-err-fix">
                        <h4>Procedura Naprawcza</h4>
                        <p>Złamany odcinek należy bezwzględnie usunąć lub zregenerować (tylko w przypadku PEX-a przy użyciu opalarki termo-kurczliwej).</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-2">
                <h3>Brak dylatacji strefowych i brzegowych</h3>
                <div class="rk-err-desc">
                    <p>Zgodnie z wymogami normy <span class="rk-err-highlight">PN-EN 1264-4</span>, powierzchnia monolityczna jastrychu z rurami grzewczymi nie może przekraczać <strong>40 m²</strong>, a długość boku nie może być większa niż <strong>8 metrów</strong>.</p>
                    <p>Brak <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">taśmy brzegowej</a> (o grubości minimum 8 mm) oraz profili dylatacyjnych na przejściach przez otwory drzwiowe powoduje niekontrolowane pękanie jastrychu wskutek rozszerzalności termicznej posadzki.</p>
                    <div class="rk-err-fix">
                        <h4>Rozwiązanie</h4>
                        <p>Stosuj dylatacje progowe oraz wklejaj profile PVC w dużych pomieszczeniach, oddzielając niezależne płyty grzewcze.</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-3">
                <h3>Sztukowanie rur w wylewce</h3>
                <div class="rk-err-desc">
                    <p>Łączenie rur za pomocą złączek skręcanych lub zaprasowywanych bezpośrednio wewnątrz warstwy wylewanej mieszanki to kategoryczny błąd w sztuce budowlanej.</p>
                    <p>Ukryte pod <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewką betonową</a> złącza mechaniczne stanowią główny punkt powstawania nieszczelności i utraty ciśnienia w układzie zamkniętym.</p>
                    <div class="rk-err-fix">
                        <h4>Prawidłowy montaż</h4>
                        <p>Każda pętla musi być jednolitym odcinkiem rury. Jedyne dozwolone łączenia mechaniczne mogą znajdować się nad poziomem posadzki (na belce rozdzielacza).</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-4">
                <h3>Zaniechanie próby ciśnieniowej przed zalaniem</h3>
                <div class="rk-err-desc">
                    <p>Jastrych musi być wylewany wyłącznie w momencie, gdy instalacja znajduje się pod ciśnieniem probierczym wynoszącym minimum <span class="rk-err-highlight">6 bar</span> (rekomendowane <strong>8 bar</strong> według wytycznych PORT PC).</p>
                    <p>Pominięcie <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próby szczelności</a> uniemożliwia natychmiastowe wykrycie ewentualnego przewiercenia lub uszkodzenia rury np. obcasem buta roboczego czy łopatą przez ekipy wylewkarzy.</p>
                    <div class="rk-err-fix">
                        <h4>Złota zasada</h4>
                        <p>Zawsze pozostawiaj instalację naładowaną ciśnieniem powietrza lub wody (z manometrem na rozdzielaczu) na cały czas trwania prac posadzkarskich.</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-panel" id="err-5">
                <h3>Układanie rur pod stałą zabudową meblową</h3>
                <div class="rk-err-desc">
                    <p>Prowadzenie pętli grzewczych pod szafkami kuchennymi stojącymi bezpośrednio na gruncie, wyspami kuchennymi czy potężnymi szafami wnękowymi bez nóżek to marnowanie energii.</p>
                    <p>Masyw mebla blokuje wymianę ciepła drogą radiacji. Prowadzi to do lokalnego przegrzewania betonu, zmniejszenia <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/">efektywności grzewczej</a> i nadmiernej straty energii oddawanej do gruntu.</p>
                    <div class="rk-err-fix">
                        <h4>Optymalizacja Projektu</h4>
                        <p>Omijaj pętlami obszary stałej, głuchej zabudowy. Zostawiaj margines buforowy na ewentualne modyfikacje w aranżacji (min. 10 cm od obrysu mebli bez nóżek).</p>
                    </div>
                </div>
            </div>

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

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

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Remove active class from all tabs & panels
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Add active class to clicked tab
            this.classList.add('active');

            // Find matching panel and activate it
            const targetId = this.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-panel: #1e293b;
    --rk-intro-primary: #0ea5e9; 
    --rk-intro-primary-light: #e0f2fe;
    --rk-intro-accent: #f59e0b; 
    --rk-intro-success: #10b981;
    --rk-intro-bg: #f8fafc;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-text-dim: #64748b;
}

.rk-intro-container, .rk-intro-container * {
    box-sizing: border-box;
}

.rk-intro-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(14, 165, 233, 0.15);
    border: 1px solid rgba(14, 165, 233, 0.3);
    overflow: hidden;
}

/* Header z ekspertem i Hookiem */
.rk-intro-header {
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    padding: 45px 50px;
    display: flex;
    align-items: flex-start;
    gap: 35px;
    border-bottom: 4px solid var(--rk-intro-primary);
    position: relative;
    overflow: hidden;
}

.rk-intro-header::after {
    content: ''; position: absolute; right: 0; top: 0; width: 400px; height: 100%;
    background: radial-gradient(circle at right, rgba(14, 165, 233, 0.15) 0%, transparent 70%);
}

.rk-expert-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    width: 110px;
}

.rk-expert-avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 3px solid var(--rk-intro-primary);
    box-shadow: 0 0 20px rgba(14, 165, 233, 0.4);
    object-fit: cover;
}

.rk-expert-tag {
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-intro-primary);
    text-transform: uppercase;
    text-align: center;
    line-height: 1.3;
}

.rk-header-content {
    position: relative;
    z-index: 2;
}

.rk-hook-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.15);
    color: #fcd34d;
    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-header-content h2 {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-header-content h2 span {
    color: var(--rk-intro-accent);
}

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

/* Sekcja Interaktywna - Zwiastun Artykułu */
.rk-intro-body {
    display: grid;
    grid-template-columns: 340px 1fr;
    background: #ffffff;
    align-items: stretch;
}

/* Lewa kolumna nawigacyjna */
.rk-rules-list {
    padding: 30px;
    border-right: 1px solid var(--rk-intro-border);
    display: flex;
    flex-direction: column;
    justify-content: space-between; 
    gap: 15px;
    background: #f8fafc;
}

.rk-rule-btn {
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    padding: 20px;
    border-radius: 12px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    flex-grow: 1;
}

.rk-rule-btn:hover {
    border-color: var(--rk-intro-primary);
    transform: translateX(4px);
}

.rk-rule-btn.active {
    background: var(--rk-intro-primary-light);
    border-color: var(--rk-intro-primary);
    box-shadow: inset 4px 0 0 var(--rk-intro-primary);
}

.rk-rule-icon {
    width: 42px; height: 42px;
    background: #f1f5f9;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    color: var(--rk-intro-text-dim);
    flex-shrink: 0;
    transition: 0.3s;
}

.rk-rule-btn.active .rk-rule-icon {
    background: var(--rk-intro-primary);
    color: #ffffff;
}

.rk-rule-text h3 {
    margin: 0 0 4px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-intro-dark);
}

.rk-rule-text p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-intro-text-dim);
    line-height: 1.4;
}

/* Panel Detali (Prawy) */
.rk-rule-details {
    padding: 40px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-detail-panel {
    display: none;
    animation: fadeScale 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-detail-panel.active {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

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

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

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

.rk-detail-svg {
    width: 100%;
    height: 180px;
    background: var(--rk-intro-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);
    margin-top: 10px;
    position: relative;
    overflow: hidden;
}

/* Narzędzie Szybkiego Szacowania (Kalkulator) */
.rk-quick-calc {
    background: var(--rk-intro-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-intro-range {
    -webkit-appearance: none; width: 100%; height: 6px; border-radius: 3px; background: #334155; outline: none;
}
.rk-intro-range::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%;
    background: var(--rk-intro-primary); cursor: pointer; border: 3px solid #ffffff; transition: 0.1s;
}
.rk-intro-range::-webkit-slider-thumb:hover { 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-intro-primary); background: rgba(14, 165, 233, 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-intro-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-intro-border);
}

.rk-author-photo-small {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    border: 3px solid var(--rk-intro-primary);
    box-shadow: 0 4px 15px rgba(14, 165, 233, 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-intro-dark);
}

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

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

.rk-author-links a {
    color: var(--rk-intro-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: #b45309;
    text-decoration: underline;
}

/* Animacje SVG */
.anim-pipe-flow { stroke-dasharray: 20; animation: flowMove 1s linear infinite; }
@keyframes flowMove { to { stroke-dashoffset: -40; } }

.anim-heat-radiate { animation: heatRise 2s infinite alternate ease-in-out; }
@keyframes heatRise { 0% { transform: translateY(0); opacity: 0.5; } 100% { transform: translateY(-15px); opacity: 1; } }

.anim-press-pulse { animation: pressPulse 1.5s infinite alternate; }
@keyframes pressPulse { 0% { fill: #3b82f6; r: 15; } 100% { fill: #ef4444; r: 25; } }

@media (max-width: 768px) {
    .rk-intro-header { flex-direction: column; text-align: center; padding: 35px 25px; align-items: center; gap: 20px; }
    .rk-expert-col { width: 100%; flex-direction: row; justify-content: center; text-align: left; }
    .rk-expert-avatar { width: 70px; height: 70px; }
    .rk-expert-tag { text-align: left; }
    .rk-intro-body { grid-template-columns: 1fr; }
    .rk-rules-list { border-right: none; border-bottom: 1px solid var(--rk-intro-border); padding: 25px; }
    .rk-rule-btn { padding: 15px; }
    .rk-rule-details { padding: 30px 25px; }
    .rk-calc-grid { grid-template-columns: 1fr; gap: 25px; }
    .rk-quick-calc { padding: 35px 25px; }
    .rk-calc-results { grid-template-columns: 1fr; }
    .rk-summary-author { flex-direction: column; text-align: center; padding: 30px 25px; 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/rury-do-ogrzewania-podlogowego/#article-intro",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Rury do ogrzewania podłogowego – klucz do sprawności instalacji",
    "description": "Wybór odpowiedniego materiału, średnicy oraz gęstości ułożenia rur determinuje sprawność hydrauliczną i koszty eksploatacji ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Inżynier HVAC & CEO",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-intro",
    "name": "Fundamenty inżynierskie instalacji płaszczyznowych",
    "description": "Baza wiedzy definiująca wpływ parametrów emisyjnych (materiał, przekrój, geometria) na wydajność cieplną wylewki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rury do ogrzewania podłogowego",
      "jastrych betonowy a podłogówka",
      "opór cieplny przegrody",
      "sprawność hydrauliczna instalacji",
      "europejskie normy budowlane podłogówka"
    ],
    "measurementTechnique": "Określanie zależności między średnicą rury i jej materiałem a wymaganą charakterystyką pompy obiegowej i temperaturą zasilania.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wybór materiału determinuje trwałość i bezpieczeństwo antydyfuzyjne.",
        "Średnica przewodu definiuje opory hydrauliczne pętli grzewczej.",
        "Gęstość ułożenia wpływa na równomierny rozkład temperatury posadzki."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-intro",
    "name": "Kalkulator Szacunkowy: Zład i Rury",
    "description": "Zintegrowany estymator materiałowy, ułatwiający inwestorowi natychmiastowe przeliczenie metrażu na zapotrzebowanie na rury i pojemność wodną.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5 Forms",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-app">
    
    <div class="rk-intro-header">
        <div class="rk-expert-col">
            <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">
            <span class="rk-expert-tag">Robert Kucharski<br>CEO portalu</span>
        </div>
        <div class="rk-header-content">
            <div class="rk-hook-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>
                Zanim wylejesz beton
            </div>
            <h2>Błąd przy doborze rury to awaria, którą <span>zabetonujesz na dekady.</span></h2>
            <p>Wodne ogrzewanie podłogowe to niskotemperaturowy system płaszczyznowy, w którym rury stanowią kluczowy element emisyjny, odpowiadający za dystrybucję energii termicznej w jastrychu betonowym lub anhydrytowym. Wybór odpowiedniego materiału, średnicy oraz gęstości ułożenia przewodów determinuje opór cieplny przegrody, sprawność hydrauliczną instalacji oraz końcowe koszty eksploatacji budynku.</p>
        </div>
    </div>

    <div class="rk-intro-body">
        
        <div class="rk-rules-list">
            <button class="rk-rule-btn active" data-panel="intro-1">
                <div class="rk-rule-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg></div>
                <div class="rk-rule-text">
                    <h3>Technologia Polimerów</h3>
                    <p>Który materiał (PEX/PERT) wybrać?</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="intro-2">
                <div class="rk-rule-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg></div>
                <div class="rk-rule-text">
                    <h3>Hydraulika i Średnice</h3>
                    <p>Jak uniknąć przeciążenia pompy?</p>
                </div>
            </button>

            <button class="rk-rule-btn" data-panel="intro-3">
                <div class="rk-rule-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"></path><polyline points="16 6 12 2 8 6"></polyline><line x1="12" y1="2" x2="12" y2="15"></line></svg></div>
                <div class="rk-rule-text">
                    <h3>Geometria Pętli</h3>
                    <p>Rozkład temperatury na posadzce</p>
                </div>
            </button>
        </div>

        <div class="rk-rule-details">
            
            <div class="rk-detail-panel active" id="intro-1">
                <h4>Trwałość ukryta w plastiku</h4>
                <p>Nawet najlepsze źródło ciepła zawiedzie, jeśli rury ulegną korozji elektrochemicznej. Omawiam różnice strukturalne (metoda nadtlenkowa, silanowa) i tłumaczę dlaczego bariera <strong>EVOH</strong> jest absolutnie niezbędna.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <path d="M 20 20 L 180 20 L 180 80 L 20 80 Z" fill="none" stroke="#64748b" stroke-width="4"/>
                        <path d="M 20 50 L 180 50" fill="none" stroke="#10b981" stroke-width="8"/>
                        <text x="100" y="44" fill="#10b981" font-size="10" text-anchor="middle" font-weight="bold">BLOKADA TLENU (EVOH)</text>
                        <circle cx="150" cy="70" r="4" fill="#0ea5e9"/>
                        <circle cx="160" cy="30" r="4" fill="#0ea5e9"/>
                        <circle cx="130" cy="25" r="4" fill="#0ea5e9"/>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="intro-2">
                <h4>Matematyka oporów</h4>
                <p>Czy rura 16&#215;2.0 zawsze wystarczy? Dowiesz się, jak pojemność wodna instalacji (tzw. zład) oraz jednostkowe straty ciśnienia wpływają na dobór parametrów pracy pompy obiegowej.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <path class="anim-pipe-flow" d="M 20 50 C 60 20, 140 80, 180 50" fill="none" stroke="#0ea5e9" stroke-width="12" stroke-linecap="round"/>
                        <circle class="anim-press-pulse" cx="100" cy="50" r="15" fill="#3b82f6" opacity="0.8"/>
                        <text x="100" y="90" fill="#ffffff" font-size="11" text-anchor="middle" font-weight="bold">OPÓR HYDRAULICZNY</text>
                    </svg>
                </div>
            </div>

            <div class="rk-detail-panel" id="intro-3">
                <h4>Koniec z zimnymi strefami</h4>
                <p>Prawidłowo zaprojektowana pętla grzewcza zapewnia równomierny rozkład temperatury, zgodny z europejskimi normami. Sprawdzimy optymalny rozstaw i limity długości obiegów grzewczych.</p>
                <div class="rk-detail-svg">
                    <svg viewBox="0 0 200 100" style="width:100%; height:100%;">
                        <rect x="20" y="80" width="160" height="10" fill="#475569" rx="2"/>
                        <path class="anim-heat-radiate" d="M 40 70 L 40 40 M 80 70 L 80 40 M 120 70 L 120 40 M 160 70 L 160 40" fill="none" stroke="#f59e0b" stroke-width="4" stroke-linecap="round"/>
                        <text x="100" y="25" fill="#fcd34d" font-size="11" text-anchor="middle" font-weight="bold">RÓWNOMIERNA RADIACJA</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-intro-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:#94a3b8;">Dla standardu rury 16&#215;2.0</span>
        </div>

        <div class="rk-calc-grid">
            <div class="rk-calc-input-area">
                <div class="rk-calc-label">
                    Powierzchnia podłogówki:
                    <span id="introAreaOut">120 m²</span>
                </div>
                <input type="range" class="rk-intro-range" id="introAreaSlider" min="50" max="300" step="10" value="120">
                <p style="font-size: 11px; color:#64748b; margin:0;">*Wartości szacunkowe dla mieszanego rozstawu (średnio 8 mb/m²).</p>
            </div>

            <div class="rk-calc-results">
                <div class="rk-result-box">
                    <span class="rk-res-val" id="introResPipe">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="introResWater">108.5 <span style="font-size:14px;color:var(--rk-intro-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="introResLoops">11 <span style="font-size:14px;color:#64748b;">Szt</span></span>
                    <span class="rk-res-lab">Sugerowana l. pętli</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>Specjalista HVAC, CEO i twórca portalu Projekt-Ogrzewania.pl. Projektowanie instalacji podłogowych opieram na twardych obliczeniach matematycznych OZC i normie PN-EN 1264, zwalczając wykonawstwo &#8222;na oko&#8221;. Posiadam ponad 1000 zrealizowanych projektó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"></path></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"></path></svg>
                    Facebook
                </a>
            </div>
        </div>
    </div>
</div>

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

    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            btns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            btn.classList.add('active');
            const target = document.getElementById(btn.getAttribute('data-panel'));
            if(target) {
                void target.offsetWidth; 
                target.classList.add('active');
            }
        });
    });

    const slider = document.getElementById('introAreaSlider');
    const areaOut = document.getElementById('introAreaOut');
    const resPipe = document.getElementById('introResPipe');
    const resWater = document.getElementById('introResWater');
    const resLoops = document.getElementById('introResLoops');

    function updateEstimator() {
        const area = parseInt(slider.value);
        areaOut.textContent = area + ' m²';

        const pipeLen = area * 8;
        const waterVol = pipeLen * 0.113;
        const loops = Math.ceil(pipeLen / 85);

        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-intro-primary);">L</span>';
        resLoops.innerHTML = loops + ' <span style="font-size:14px;color:#64748b;">Szt</span>';
    }

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



<style>
:root {
    --rk-audit-dark: #0f172a;
    --rk-audit-blue: #0284c7;
    --rk-audit-blue-light: #e0f2fe;
    --rk-audit-red: #ef4444;
    --rk-audit-red-light: #fee2e2;
    --rk-audit-green: #10b981;
    --rk-audit-green-light: #d1fae5;
    --rk-audit-gray: #64748b;
    --rk-audit-bg: #ffffff;
    --rk-audit-border: #cbd5e1;
}

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

/* Nagłówek */
.rk-audit-header {
    background: var(--rk-audit-dark);
    padding: 40px 45px 30px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-audit-blue);
}

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

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

/* Parametry Bazowe (Kafelki u góry) */
.rk-audit-base-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    padding: 25px 45px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-audit-border);
}

.rk-audit-stat-card {
    background: #ffffff;
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-audit-border);
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-audit-stat-icon {
    width: 40px;
    height: 40px;
    background: var(--rk-audit-blue-light);
    color: var(--rk-audit-blue);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-audit-stat-info span {
    display: block;
}

.rk-audit-stat-info .stat-label {
    font-size: 12px;
    color: var(--rk-audit-gray);
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 4px;
}

.rk-audit-stat-info .stat-value {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-audit-dark);
}

/* Nawigacja Zakładek (Pozioma) */
.rk-audit-tabs {
    display: flex;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-audit-border);
    padding: 0 25px;
}

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

.rk-audit-tab-btn:hover {
    color: var(--rk-audit-dark);
    background: #f8fafc;
}

.rk-audit-tab-btn.active {
    color: var(--rk-audit-blue);
    border-bottom-color: var(--rk-audit-blue);
}

.rk-audit-tab-btn.tab-bad.active { color: var(--rk-audit-red); border-bottom-color: var(--rk-audit-red); }
.rk-audit-tab-btn.tab-good.active { color: var(--rk-audit-green); border-bottom-color: var(--rk-audit-green); }

/* Zawartość Paneli */
.rk-audit-panels {
    padding: 35px 45px;
    background: #ffffff;
}

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

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

.rk-audit-content-grid {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 35px;
    align-items: start;
}

.rk-audit-text h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-audit-dark);
    margin: 0 0 15px 0;
}

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

.rk-audit-text ul {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.rk-audit-text li {
    padding: 10px 15px;
    margin-bottom: 10px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.list-bad li { background: var(--rk-audit-red-light); color: #991b1b; }
.list-bad li::before { content: "⚠️"; }

.list-good li { background: var(--rk-audit-green-light); color: #065f46; }
.list-good li::before { content: "✓"; }

.rk-audit-text a {
    color: var(--rk-audit-blue);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dotted var(--rk-audit-blue);
}

/* Sekcja SVG (Statyczna) */
.rk-audit-visual {
    background: #f8fafc;
    border: 1px solid var(--rk-audit-border);
    border-radius: 16px;
    padding: 20px;
    height: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rk-audit-svg {
    width: 100%;
    max-width: 220px;
    height: auto;
}

.rk-audit-visual-caption {
    margin-top: 15px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-audit-gray);
    text-align: center;
    text-transform: uppercase;
}

/* Mobile */
@media (max-width: 768px) {
    .rk-audit-header, .rk-audit-base-stats, .rk-audit-panels { padding: 25px 20px; }
    .rk-audit-content-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-audit-tabs { flex-direction: column; padding: 0; }
    .rk-audit-tab-btn { border-bottom: none; border-left: 4px solid transparent; text-align: left; justify-content: flex-start; padding: 15px 20px; border-top: 1px solid var(--rk-audit-border); }
    .rk-audit-tab-btn.active { border-bottom: none; border-left-color: var(--rk-audit-blue); }
    .rk-audit-tab-btn.tab-bad.active { border-left-color: var(--rk-audit-red); }
    .rk-audit-tab-btn.tab-good.active { border-left-color: var(--rk-audit-green); }
}
</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-audyt-lublin",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/"
    },
    "headline": "Case Study – Analiza rzeczywistego projektu wykonawczego w Lublinie",
    "description": "Zobacz, jak interwencja inżynierska i optymalizacja pętli ogrzewania podłogowego obniżyła temperaturę zasilania z 47°C do 34°C, generując 1450 PLN oszczędności rocznie.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#dataset-audyt-lublin",
    "name": "Wyniki audytu instalacji ogrzewania podłogowego - Case Study",
    "description": "Zestawienie parametrów technicznych budynku (165 m²) przed i po optymalizacji projektu instalacji płaszczyznowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowe obciążenie cieplne OZC",
      "temperatura zasilania pompy ciepła",
      "zużycie energii elektrycznej pompa ciepła",
      "rozstaw rur w ogrzewaniu podłogowym",
      "rura z barierą antydyfuzyjną EVOH"
    ],
    "measurementTechnique": "Przeliczenie hydrauliki i geometrii instalacji dla zapotrzebowania 6,9 kW przy temperaturze zewnętrznej -20°C.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan pierwotny: Rozstaw 20 cm, zasilanie 47°C, brak bariery antydyfuzyjnej.",
        "Optymalizacja: Strefy brzegowe 7,5 cm, łazienki 10 cm, rura PEX-a EVOH 16x2.0.",
        "Wynik: Spadek temperatury zasilania do 34°C, oszczędność 22% energii (1450 PLN/rok)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/#webapp-audyt",
    "name": "Interaktywny Raport z Audytu Ogrzewania",
    "description": "Moduł prezentujący porównanie planów instalacyjnych w formie interaktywnych zakładek z wizualizacjami wektorowymi zmian inżynieryjnych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-audit-container">
    <div class="rk-audit-header">
        <h2>Case Study – Analiza rzeczywistego projektu wykonawczego</h2>
        <p>We wrześniu 2024 roku zrealizowałem audyt i korektę układu dla Inwestora budującego dom w okolicach Lublina. Zobacz, jak wyeliminowanie podejścia &#8222;na oko&#8221; uratowało portfel i komfort użytkowników.</p>
    </div>

    <div class="rk-audit-base-stats">
        <div class="rk-audit-stat-card">
            <div class="rk-audit-stat-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg>
            </div>
            <div class="rk-audit-stat-info">
                <span class="stat-label">Metraż &#038; Izolacja</span>
                <span class="stat-value">165 m² | EPS 20 cm</span>
            </div>
        </div>
        <div class="rk-audit-stat-card">
            <div class="rk-audit-stat-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg>
            </div>
            <div class="rk-audit-stat-info">
                <span class="stat-label">Zapotrzebowanie (-20°C)</span>
                <span class="stat-value">6,9 kW</span>
            </div>
        </div>
        <div class="rk-audit-stat-card">
            <div class="rk-audit-stat-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 8v4l3 3"/></svg>
            </div>
            <div class="rk-audit-stat-info">
                <span class="stat-label">Obciążenie cieplne</span>
                <span class="stat-value">42 W/m²</span>
            </div>
        </div>
    </div>

    <div class="rk-audit-tabs">
        <button class="rk-audit-tab-btn tab-bad active" data-tab="tab-1">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/></svg>
            1. Plan Pierwotny
        </button>
        <button class="rk-audit-tab-btn" data-tab="tab-2">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>
            2. Interwencja Inżyniera
        </button>
        <button class="rk-audit-tab-btn tab-good" data-tab="tab-3">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
            3. Wyniki &#038; Oszczędności
        </button>
    </div>

    <div class="rk-audit-panels">
        
        <div class="rk-audit-panel active" id="tab-1">
            <div class="rk-audit-content-grid">
                <div class="rk-audit-text">
                    <h3>Ryzykowny układ &#8222;na oko&#8221;</h3>
                    <p>Pierwotny wykonawca zignorował <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne (OZC)</a>. Zaproponował uniwersalne rozwiązanie, które przy temperaturach projektowych dla woj. lubelskiego doprowadziłoby do niedogrzania budynku i degradacji instalacji.</p>
                    <ul class="list-bad">
                        <li>Jednolity rozstaw 20 cm w całym domu (brak uwzględnienia stref).</li>
                        <li>Rura o bliżej nieokreślonych parametrach (brak pewności co do jakości).</li>
                        <li>Brak zabezpieczenia: przewody bez bariery antydyfuzyjnej.</li>
                        <li>Wymagana wysoka temperatura zasilania z kotłowni (ok. 47°C).</li>
                    </ul>
                </div>
                <div class="rk-audit-visual">
                    <svg class="rk-audit-svg" viewBox="0 0 100 100">
                        <rect x="10" y="10" width="80" height="80" fill="#ffffff" stroke="#ef4444" stroke-width="2" stroke-dasharray="4"/>
                        <path d="M 20 20 L 80 20 M 20 40 L 80 40 M 20 60 L 80 60 M 20 80 L 80 80" fill="none" stroke="#fca5a5" stroke-width="4"/>
                        <circle cx="50" cy="50" r="10" fill="#ef4444"/>
                        <text x="50" y="53" font-family="sans-serif" font-weight="bold" font-size="10" fill="#ffffff" text-anchor="middle">47°C</text>
                    </svg>
                    <div class="rk-audit-visual-caption">Rozstaw zbyt rzadki (20cm)</div>
                </div>
            </div>
        </div>

        <div class="rk-audit-panel" id="tab-2">
            <div class="rk-audit-content-grid">
                <div class="rk-audit-text">
                    <h3>Precyzyjna zmiana geometrii</h3>
                    <p>Moja interwencja polegała na kompletnym przeliczeniu hydrauliki. W pierwszej kolejności zastosowaliśmy markową <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">rurę z barierą antydyfuzyjną EVOH</a> (PEX-a 16&#215;2,0 mm), chroniąc źródło ciepła.</p>
                    <ul class="list-good">
                        <li><strong>Salon:</strong> Przy oknie przesuwnym (HS 4,5 m) zastosowano <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">strefę brzegową</a> (szer. 1,2 m) z rozstawem 7,5 cm. Centrum salonu: 15 cm.</li>
                        <li><strong>Łazienki:</strong> Wymagane 24°C wewnątrz wymusiło zagęszczenie pętli do 10 cm.</li>
                        <li><strong>Podział:</strong> Wyznaczono 14 wyważonych pętli grzewczych.</li>
                        <li><strong>Hydraulika:</strong> Żadna pętla nie przekroczyła 88 metrów bieżących.</li>
                    </ul>
                </div>
                <div class="rk-audit-visual">
                    <svg class="rk-audit-svg" viewBox="0 0 100 100">
                        <rect x="10" y="10" width="80" height="80" fill="#ffffff" stroke="#0ea5e9" stroke-width="2"/>
                        <path d="M 15 15 L 85 15 M 15 20 L 85 20 M 15 25 L 85 25" fill="none" stroke="#0ea5e9" stroke-width="2"/>
                        <path d="M 15 40 L 85 40 M 15 60 L 85 60 M 15 80 L 85 80" fill="none" stroke="#10b981" stroke-width="2"/>
                    </svg>
                    <div class="rk-audit-visual-caption">Optymalizacja Strefowa</div>
                </div>
            </div>
        </div>

        <div class="rk-audit-panel" id="tab-3">
            <div class="rk-audit-content-grid">
                <div class="rk-audit-text">
                    <h3>Ekonomia i komfort bosej stopy</h3>
                    <p>Prawidłowe zaprojektowanie rozstawów bezpośrednio wpłynęło na pracę źródła ciepła. <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompa ciepła</a> nie musi już pracować na wysokich parametrach, aby przepchnąć ciepło przez gruby jastrych.</p>
                    <ul class="list-good">
                        <li>Spadek obliczeniowej temperatury zasilania z <strong>47°C do 34°C</strong>.</li>
                        <li>Znaczny wzrost sprawności urządzenia (zwiększony COP).</li>
                        <li>Zmniejszenie zużycia energii elektrycznej przez sprężarkę pompy o <strong>22% w skali roku</strong>.</li>
                        <li><strong>Zysk dla inwestora:</strong> Oszczędność rzędu <strong>1450 PLN rocznie</strong> przy zachowaniu braku stref niedogrzanych.</li>
                    </ul>
                </div>
                <div class="rk-audit-visual">
                    <svg class="rk-audit-svg" viewBox="0 0 100 100">
                        <line x1="10" y1="80" x2="90" y2="80" stroke="#94a3b8" stroke-width="2"/>
                        <rect x="25" y="30" width="20" height="50" fill="#fca5a5" rx="2"/>
                        <text x="35" y="25" font-family="sans-serif" font-weight="bold" font-size="9" fill="#ef4444" text-anchor="middle">Koszt</text>
                        <rect x="55" y="50" width="20" height="30" fill="#34d399" rx="2"/>
                        <text x="65" y="45" font-family="sans-serif" font-weight="bold" font-size="9" fill="#10b981" text-anchor="middle">&#8211; 22%</text>
                        <path d="M 45 40 Q 55 35 65 35" fill="none" stroke="#10b981" stroke-width="2" marker-end="url(#arrow)"/>
                        <defs>
                            <marker id="arrow" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
                                <path d="M 0 0 L 10 5 L 0 10 z" fill="#10b981"/>
                            </marker>
                        </defs>
                    </svg>
                    <div class="rk-audit-visual-caption">1450 PLN Rocznie w kieszeni</div>
                </div>
            </div>
        </div>

    </div>
</div>

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

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

            // Aktywacja klikniętego taba
            this.classList.add('active');

            // Aktywacja odpowiedniego panelu
            const targetId = this.getAttribute('data-tab');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #1e293b;
    --rk-faq-darker: #0f172a;
    --rk-faq-primary: #2563eb;
    --rk-faq-primary-hover: #1d4ed8;
    --rk-faq-accent: #f59e0b;
    --rk-faq-bg: #ffffff;
    --rk-faq-gray: #64748b;
    --rk-faq-light: #f8fafc;
    --rk-faq-border: #e2e8f0;
}

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

.rk-faq-header {
    background: linear-gradient(135deg, var(--rk-faq-darker) 0%, var(--rk-faq-dark) 100%);
    padding: 40px 45px;
    text-align: center;
    position: relative;
}

.rk-faq-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--rk-faq-primary), var(--rk-faq-accent));
}

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

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

.rk-faq-body {
    padding: 40px 45px;
    background: var(--rk-faq-light);
}

/* Interaktywny Akordeon */
.rk-accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-acc-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-acc-item:hover {
    border-color: #bfdbfe;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08);
}

.rk-acc-btn {
    width: 100%;
    text-align: left;
    padding: 20px 25px;
    background: transparent;
    border: none;
    display: grid;
    grid-template-columns: 40px 1fr 24px;
    gap: 15px;
    align-items: center;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-faq-darker);
    transition: color 0.3s;
}

.rk-acc-btn:focus { outline: none; }
.rk-acc-item.active .rk-acc-btn { color: var(--rk-faq-primary); }

.rk-acc-icon-svg {
    width: 100%;
    height: auto;
    fill: none;
    stroke: var(--rk-faq-gray);
    stroke-width: 1.5;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-acc-item.active .rk-acc-icon-svg {
    stroke: var(--rk-faq-primary);
}

/* Animowane SVG dla poszczególnych pytań */
.rk-acc-item.active .anim-cog { animation: spin 4s linear infinite; }
.rk-acc-item.active .anim-therm { animation: fillTherm 2s ease-in-out infinite alternate; }
.rk-acc-item.active .anim-ruler { animation: slideRuler 2s ease-in-out infinite alternate; }
.rk-acc-item.active .anim-shield { animation: pulseShield 2s infinite; }
.rk-acc-item.active .anim-flow { animation: dashFlow 2s linear infinite; }

@keyframes spin { 100% { transform: rotate(360deg); } }
@keyframes fillTherm { 0% { transform: translateY(0); } 100% { transform: translateY(-5px); } }
@keyframes slideRuler { 0% { transform: translateX(-3px); } 100% { transform: translateX(3px); } }
@keyframes pulseShield { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
@keyframes dashFlow { to { stroke-dashoffset: -20; } }

.rk-acc-chevron {
    width: 24px;
    height: 24px;
    stroke: var(--rk-faq-gray);
    transition: transform 0.3s ease;
}

.rk-acc-item.active .rk-acc-chevron {
    transform: rotate(180deg);
    stroke: var(--rk-faq-primary);
}

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

.rk-acc-inner {
    padding: 0 25px 25px 80px;
}

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

.rk-acc-inner p:last-child { margin: 0; }

.rk-acc-inner a {
    color: var(--rk-faq-primary);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px dotted var(--rk-faq-primary);
    transition: color 0.3s;
}

.rk-acc-inner a:hover {
    color: var(--rk-faq-primary-hover);
    border-bottom-style: solid;
}

@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-body { padding: 30px 20px; }
    .rk-faq-header h2 { font-size: 24px; }
    .rk-acc-btn { padding: 15px; grid-template-columns: 32px 1fr 20px; gap: 12px; font-size: 15px; }
    .rk-acc-inner { padding: 0 15px 20px 59px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Eksperckie FAQ – Rozwiązania najczęstszych problemów z rurami do podłogówki",
    "description": "Najważniejsze pytania z długiego ogona dotyczące wyboru, rozstawu i błędów przy montażu rur do ogrzewania podłogowego. Profesjonalne porady Inżyniera HVAC.",
    "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-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-faq",
    "name": "Baza Odpowiedzi Eksperckich FAQ",
    "description": "Baza zapytań inwestorów dotycząca projektowania i optymalizacji układów rur w instalacjach płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jaką rurę do podłogówki wybrać",
      "rozstaw rur 10 cm czy 15 cm",
      "ile metrów rury na m2 ogrzewania",
      "bariera antydyfuzyjna EVOH kocioł gazowy",
      "za długa pętla ogrzewania podłogowego"
    ],
    "measurementTechnique": "Analiza powtarzających się zapytań technicznych i weryfikacja poprawności montażu w oparciu o normy i obliczenia hydrauliczne.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Korelacja wylewki i rury PEX-a",
        "Wpływ rozstawu na COP pompy ciepła",
        "Metodologia szacowania zużycia rury grzewczej",
        "Mechanizm zabezpieczający wymienniki",
        "Skutki przekroczenia dopuszczalnych oporów linii"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywny Asystent Wiedzy HVAC",
    "description": "Dynamiczny panel Q&A (akordeon) wykorzystujący animowane elementy wektorowe (SVG) do wspomagania nawigacji i zrozumienia procesów termodynamicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container">
    <div class="rk-faq-header">
        <h2>Eksperckie FAQ – Konkretne odpowiedzi dla Inwestora</h2>
        <p>Projektowanie podłogówki to matematyka, nie zgadywanki. Poniżej odpowiadam na najczęstsze, skomplikowane pytania, które decydują o komforcie i kosztach ogrzewania Twojego domu.</p>
    </div>

    <div class="rk-faq-body">
        <div class="rk-accordion" id="rkFaqAccordion">
            
            <div class="rk-acc-item">
                <button class="rk-acc-btn">
                    <svg viewBox="0 0 24 24" class="rk-acc-icon-svg anim-cog"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>
                    Jaką rurę do ogrzewania podłogowego wybrać pod wylewkę anhydrytową, a jaką pod cementową?
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="rk-acc-chevron"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-acc-content">
                    <div class="rk-acc-inner">
                        <p>Dla systemu emisji ciepła materiał wylewki nie dyskwalifikuje konkretnego typu rury. Zarówno <strong>PEX-a</strong>, jak i <strong>PE-RT Typ II</strong> doskonale współpracują z każdym rodzajem jastrychu (spełniają klasy wytrzymałości cieplnej). Różnica tkwi w przewodnictwie cieplnym samej masy.</p>
                        <p>Zoptymalizowanie układu polega na tym, by przy <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewce anhydrytowej</a> (która szybko oddaje ciepło) odpowiednio wyregulować przepływy, by zapobiec tzw. taktowaniu kotła, co jest kluczowym elementem profesjonalnego projektu.</p>
                    </div>
                </div>
            </div>

            <div class="rk-acc-item">
                <button class="rk-acc-btn">
                    <svg viewBox="0 0 24 24" class="rk-acc-icon-svg anim-therm"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"/><path d="M12 7v5"/></svg>
                    Czy rozstaw rur 10 cm w ogrzewaniu podłogowym zawsze jest lepszy niż 15 cm przy pompie ciepła?
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="rk-acc-chevron"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-acc-content">
                    <div class="rk-acc-inner">
                        <p>Nie zawsze. Gęstszy rozstaw (co 10 cm) faktycznie pozwala na znaczne obniżenie temperatury zasilania, co maksymalizuje współczynnik COP pompy ciepła, generując oszczędności rzędu kilkunastu procent na zużyciu energii.</p>
                        <p>Jednak decyzja o tym, czy ułożyć rury <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">co 10 czy 15 cm</a>, musi bazować na stratach ciepła. Ułożenie ich na siłę co 10 cm w dobrze izolowanym domu drastycznie zwiększa opory hydrauliczne pętli, wymuszając montaż większych, prądożernych pomp obiegowych.</p>
                    </div>
                </div>
            </div>

            <div class="rk-acc-item">
                <button class="rk-acc-btn">
                    <svg viewBox="0 0 24 24" class="rk-acc-icon-svg anim-ruler"><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"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></svg>
                    Ile metrów rury PEX 16&#215;2.0 potrzeba na 100 m² podłogówki i jak to policzyć?
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="rk-acc-chevron"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-acc-content">
                    <div class="rk-acc-inner">
                        <p>Szacunkowe zużycie zależy od rozstawu. Dla standardowego rozstawu 15 cm zużywamy około <strong>6,7 mb na 1 m²</strong>. Dla 100 m² będzie to matematycznie 670 metrów, jednak należy dodać ok. 10-15% naddatku na odcinki dobiegowe do rozdzielacza i strefy brzegowe.</p>
                        <p>Najbezpieczniej przygotować się na zakup około 750-800 metrów rury. Aby nie strzelać w ciemno, polecam skorzystać z dokładnego <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/">kalkulatora ilości metrów rury</a>, który uwzględnia różne strefy grzewcze.</p>
                    </div>
                </div>
            </div>

            <div class="rk-acc-item">
                <button class="rk-acc-btn">
                    <svg viewBox="0 0 24 24" class="rk-acc-icon-svg anim-shield"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
                    Dlaczego rura z barierą antydyfuzyjną EVOH jest tak ważna w systemach z kotłem gazowym?
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="rk-acc-chevron"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-acc-content">
                    <div class="rk-acc-inner">
                        <p>Bez tej bariery mikroskopijne cząsteczki tlenu przenikają przez ściankę rury polietylenowej do wody instalacyjnej. Tworzy się wysoce korozyjne środowisko (woda mocno natleniona).</p>
                        <p>Dla nowoczesnych kotłów gazowych, posiadających wrażliwe aluminiowo-krzemowe lub stalowe wymienniki ciepła, oznacza to błyskawiczną korozję i odkładanie szlamu. <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">Bariera antydyfuzyjna EVOH</a> (najlepiej ułożona wewnątrz struktury rury) jest absolutnym gwarantem bezpieczeństwa układu kotłowni.</p>
                    </div>
                </div>
            </div>

            <div class="rk-acc-item">
                <button class="rk-acc-btn">
                    <svg viewBox="0 0 24 24" class="rk-acc-icon-svg anim-flow"><path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"/><polyline points="16 6 12 2 8 6"/><line x1="12" y1="2" x2="12" y2="15" stroke-dasharray="4" class="anim-flow"/></svg>
                    Co zrobić, gdy pętla ogrzewania podłogowego jest za długa i nie grzeje równomiernie?
                    <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="rk-acc-chevron"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-acc-content">
                    <div class="rk-acc-inner">
                        <p>Przekroczenie maksymalnej długości (np. ponad 120 mb dla rury 16&#215;2.0) wywołuje drastyczny opór hydrauliczny, z którym wbudowana pompa nie potrafi sobie poradzić. Koniec pętli staje się strefą tzw. &#8222;radiacji chłodu&#8221;.</p>
                        <p>Po zalaniu posadzki możliwości są mocno ograniczone. Konieczne jest maksymalne wyregulowanie <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów w rozdzielaczu</a> (dławienie krótkich pętli, aby wymusić przepływ na najdłuższej), a często jedynym wyjściem pozostaje kosztowna modernizacja kotłowni polegająca na montażu sprzęgła i potężniejszej zewnętrznej pompy obiegowej z powodu <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">zbyt długiej pętli</a>.</p>
                    </div>
                </div>
            </div>

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

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

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

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

            // Zamykanie wszystkich innych
            accItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-acc-content').style.maxHeight = null;
            });

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



<style>
:root {
    --rk-pipe-dark: #0f172a;
    --rk-pipe-blue: #0ea5e9;
    --rk-pipe-light-blue: #e0f2fe;
    --rk-pipe-green: #059669;
    --rk-pipe-green-light: #d1fae5;
    --rk-pipe-red: #dc2626;
    --rk-pipe-red-light: #fee2e2;
    --rk-pipe-orange: #ea580c;
    --rk-pipe-gray: #475569;
    --rk-pipe-border: #cbd5e1;
    --rk-pipe-bg: #ffffff;
}

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

/* Sekcja Nagłówkowa */
.rk-pipe-header {
    padding: 40px 45px 30px;
    background: linear-gradient(145deg, #1e293b 0%, var(--rk-pipe-dark) 100%);
    color: #f8fafc;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-pipe-blue);
}

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

.rk-pipe-quote {
    background: rgba(255, 255, 255, 0.05);
    border-left: 4px solid var(--rk-pipe-orange);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
    text-align: left;
    margin: 25px auto 0;
    max-width: 750px;
}

.rk-pipe-quote p {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    margin: 0 0 10px 0;
    color: #e2e8f0;
    font-style: italic;
}

.rk-pipe-quote span {
    font-size: 13px;
    color: var(--rk-pipe-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 800;
}

/* Symulator Interaktywny */
.rk-pipe-interactive {
    padding: 40px 45px;
    background: #f8fafc;
}

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

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

.rk-toggle-bg {
    display: inline-flex;
    background: #e2e8f0;
    border-radius: 99px;
    padding: 6px;
    position: relative;
}

.rk-toggle-btn {
    padding: 12px 24px;
    border-radius: 99px;
    border: none;
    background: transparent;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-pipe-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

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

.rk-toggle-slider {
    position: absolute;
    top: 6px;
    left: 6px;
    height: calc(100% - 12px);
    width: calc(50% - 6px);
    background: var(--rk-pipe-green);
    border-radius: 99px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    z-index: 1;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.rk-toggle-bg.state-amateur .rk-toggle-slider {
    transform: translateX(100%);
    background: var(--rk-pipe-red);
}

/* Zawartość dynamiczna */
.rk-dyn-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--rk-pipe-border);
    border-radius: 16px;
    padding: 35px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-dyn-svg-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.rk-svg-pipe {
    width: 100%;
    max-width: 220px;
    height: auto;
}

/* Animacje SVG */
.anim-water { transition: fill 0.5s; }
.anim-barrier { transition: stroke 0.5s, stroke-width 0.5s; }
.anim-particle { opacity: 0; }

.state-pro-view .anim-water { fill: url(#gradPro); animation: flowPulse 3s infinite; }
.state-pro-view .anim-barrier { stroke: var(--rk-pipe-green); stroke-width: 4px; }
.state-pro-view .anim-particle { display: none; }

.state-amateur-view .anim-water { fill: #78350f; }
.state-amateur-view .anim-barrier { stroke: transparent; }
.state-amateur-view .anim-particle { opacity: 1; fill: #451a03; animation: sludgeMove 4s infinite linear; }

@keyframes flowPulse {
    0%, 100% { filter: drop-shadow(0 0 5px rgba(14, 165, 233, 0.5)); }
    50% { filter: drop-shadow(0 0 15px rgba(14, 165, 233, 0.8)); }
}
@keyframes sludgeMove {
    0% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-5px) rotate(10deg); }
    100% { transform: translateY(0) rotate(0deg); }
}

.rk-dyn-text h4 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 15px 0;
    transition: color 0.3s;
}

.state-pro-view .rk-dyn-text h4 { color: var(--rk-pipe-green); }
.state-amateur-view .rk-dyn-text h4 { color: var(--rk-pipe-red); }

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

.rk-dyn-text ul {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.rk-dyn-text li {
    font-size: 14px;
    margin-bottom: 8px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-weight: 600;
}

.rk-dyn-text li::before {
    content: "✓";
    color: var(--rk-pipe-green);
    font-weight: 900;
}
.state-amateur-view .rk-dyn-text li::before {
    content: "✗";
    color: var(--rk-pipe-red);
}

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

/* CTA */
.rk-pipe-cta {
    background: #ffffff;
    padding: 40px 45px;
    text-align: center;
    border-top: 1px solid var(--rk-pipe-border);
}

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

.rk-pipe-cta p {
    font-size: 16px;
    color: var(--rk-pipe-gray);
    max-width: 650px;
    margin: 0 auto 30px;
    line-height: 1.6;
}

.rk-btn-solid {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--rk-pipe-blue);
    color: #ffffff;
    padding: 18px 35px;
    font-size: 17px;
    font-weight: 800;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.4);
    transition: all 0.3s ease;
}

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

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

/* Mobile */
@media (max-width: 768px) {
    .rk-pipe-header, .rk-pipe-interactive, .rk-pipe-cta { padding: 30px 20px; }
    .rk-pipe-header h2 { font-size: 24px; }
    .rk-dyn-content { grid-template-columns: 1fr; padding: 25px; text-align: center; }
    .rk-dyn-text li { justify-content: center; text-align: left; }
    .rk-toggle-wrapper { flex-direction: column; width: 100%; max-width: 300px; margin: 0 auto 30px; }
    .rk-toggle-bg { width: 100%; display: flex; }
    .rk-toggle-btn { flex: 1; padding: 12px 10px; font-size: 13px; }
    .rk-btn-solid { width: 100%; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie – Jakie rury do ogrzewania podłogowego gwarantują bezawaryjność?",
    "description": "Zrozum różnicę między rurami PEX-a z barierą antydyfuzyjną EVOH a rozwiązaniami amatorskimi. Interaktywny symulator doboru rur grzewczych dla inwestorów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-evoh",
    "name": "Parametry eksploatacyjne rur z barierą antydyfuzyjną EVOH",
    "description": "Zestawienie techniczne wpływu bariery EVOH na żywotność instalacji ogrzewania podłogowego oraz elementów kotłowni.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rury do ogrzewania podłogowego",
      "bariera antydyfuzyjna EVOH",
      "żywotność ogrzewania podłogowego",
      "parametry instalacji płaszczyznowej",
      "korozja w instalacji CO"
    ],
    "measurementTechnique": "Analiza przenikania tlenu wg normy DIN 4726 i ocena oporów hydraulicznych pętli grzewczych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "PEX-a EVOH: Ogranicza przenikanie tlenu do <0,1 g/(m³·doba), chroniąc pompę i rozdzielacz.",
        "Rura bez bariery: Prowadzi do powstania szlamu magnetytowego (zjawisko korozji tlenowej)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#webapp-symulator",
    "name": "Symulator Doboru Rur Grzewczych",
    "description": "Interaktywne narzędzie wizualizujące różnice fizyko-chemiczne zachodzące wewnątrz przewodów ogrzewania płaszczyznowego w zależności od zastosowanej technologii materiałowej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pipe-container" id="rury-sum-app">
    <div class="rk-pipe-header">
        <h2>Podsumowanie – Jakie rury do ogrzewania podłogowego gwarantują bezawaryjność?</h2>
        <div class="rk-pipe-quote">
            <p>"Rura zalana w 10 centymetrach betonu zostaje tam na dziesiątki lat. Próba oszczędności 50 groszy na metrze bieżącym instalacji to najdroższy i najbardziej destrukcyjny błąd, jaki możesz popełnić przy budowie domu."</p>
            <span>Robert Kucharski | Specjalista HVAC</span>
        </div>
    </div>

    <div class="rk-pipe-interactive">
        <h3>Symulator: Wpływ wyboru rury na układ hydrauliczny</h3>
        
        <div class="rk-toggle-wrapper">
            <div class="rk-toggle-bg state-pro" id="pipeToggleBg">
                <div class="rk-toggle-slider" id="pipeToggleSlider"></div>
                <button class="rk-toggle-btn active" data-state="pro">PEX-a + EVOH (Pro)</button>
                <button class="rk-toggle-btn" data-state="amateur">Tania rura "no-name"</button>
            </div>
        </div>

        <div class="rk-dyn-content state-pro-view" id="pipeDynContent">
            <div class="rk-dyn-svg-container">
                <svg class="rk-svg-pipe" viewBox="0 0 100 100">
                    <defs>
                        <linearGradient id="gradPro" x1="0%" y1="0%" x2="100%" y2="100%">
                            <stop offset="0%" style="stop-color:#38bdf8;stop-opacity:1"></stop>
                            <stop offset="100%" style="stop-color:#0284c7;stop-opacity:1"></stop>
                        </linearGradient>
                    </defs>
                    <circle cx="50" cy="50" r="45" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2"></circle>
                    <circle class="anim-barrier" cx="50" cy="50" r="41" fill="none"></circle>
                    <circle class="anim-water" cx="50" cy="50" r="35"></circle>
                    <circle class="anim-particle" cx="40" cy="40" r="4"></circle>
                    <circle class="anim-particle" cx="60" cy="65" r="5"></circle>
                    <circle class="anim-particle" cx="30" cy="55" r="3"></circle>
                    <circle class="anim-particle" cx="65" cy="35" r="6"></circle>
                    <circle class="anim-particle" cx="50" cy="50" r="4"></circle>
                </svg>
            </div>
            
            <div class="rk-dyn-text" id="pipeDynText">
                <h4>Pełna ochrona antydyfuzyjna</h4>
                <p>Zastosowanie rury z certyfikowaną warstwą EVOH (wg normy DIN 4726) blokuje wnikanie tlenu. Zabezpiecza to drogie elementy mosiężne i stalowe przed korozją.</p>
                <ul>
                    <li>Czysta woda kotłowa bez szlamu.</li>
                    <li>Ochrona wirnika <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>.</li>
                    <li>Stałe opory hydrauliczne pętli przez 50 lat.</li>
                </ul>
                <p>Niezbędne przy <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewkach betonowych</a> (jastrychu), gdzie nie ma możliwości późniejszej naprawy rurociągu.</p>
            </div>
        </div>
    </div>

    <div class="rk-pipe-cta">
        <h3>Zaprojektuj podłogówkę, która przetrwa pokolenia</h3>
        <p>Decyzje materiałowe, rozstawy rur i zład wody to parametry, których nie da się "zgadnąć". Uniknij najczęstszych <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">błędów montażowych</a> i opanuj technologię płaszczyznową jak ekspert.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-solid">
            OTWÓRZ BAZĘ WIEDZY HVAC
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('#pipeToggleBg .rk-toggle-btn');
    const toggleBg = document.getElementById('pipeToggleBg');
    const dynContent = document.getElementById('pipeDynContent');
    const dynText = document.getElementById('pipeDynText');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            const state = this.getAttribute('data-state');
            
            // Zmiana aktywnych przycisków
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Aktualizacja suwaka i klas wizualnych
            if (state === 'pro') {
                toggleBg.className = 'rk-toggle-bg state-pro';
                dynContent.className = 'rk-dyn-content state-pro-view';
                dynText.innerHTML = `
                    <h4>Pełna ochrona antydyfuzyjna</h4>
                    <p>Zastosowanie rury z certyfikowaną warstwą EVOH (wg normy DIN 4726) blokuje wnikanie tlenu. Zabezpiecza to drogie elementy mosiężne i stalowe przed korozją.</p>
                    <ul>
                        <li>Czysta woda kotłowa bez szlamu.</li>
                        <li>Ochrona wirnika <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>.</li>
                        <li>Stałe opory hydrauliczne pętli przez 50 lat.</li>
                    </ul>
                    <p>Niezbędne przy <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewkach betonowych</a> (jastrychu), gdzie nie ma możliwości późniejszej naprawy rurociągu.</p>
                `;
            } else {
                toggleBg.className = 'rk-toggle-bg state-amateur';
                dynContent.className = 'rk-dyn-content state-amateur-view';
                dynText.innerHTML = `
                    <h4>Zagrożenie korozją i awarią</h4>
                    <p>Brak ciągłej warstwy antydyfuzyjnej (lub zniszczenie jej podczas nieuważnego montażu) doprowadza do napowietrzania zładu. Wynik? Kocioł i wymienniki zarastają rdzą.</p>
                    <ul>
                        <li>Zatykanie zaworów w rozdzielaczu.</li>
                        <li>Ryzyko zablokowania przepływów (spadek mocy).</li>
                        <li>Uszkodzenie <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">automatyki strefowej</a> z powodu szlamu.</li>
                    </ul>
                    <p>Awaria w tym trybie zmusza inwestora do chemicznego płukania instalacji, a nierzadko do kucia posadzki i demontażu podłogi.</p>
                `;
            }
        });
    });
});
</script>



<style>
/* TWARDE RESETOWANIE STYLÓW DLA WORDPRESSA */
.rk-dl-container, .rk-dl-container * {
    box-sizing: border-box !important;
}

:root {
    --rk-dl-primary: #0f172a;
    --rk-dl-panel: #1e293b;
    --rk-dl-accent: #0ea5e9;
    --rk-dl-accent-dark: #0284c7;
    --rk-dl-accent-light: #e0f2fe;
    --rk-dl-bg: #f8fafc;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #334155;
    --rk-dl-muted: #64748b;
    --rk-dl-white: #ffffff;
    --rk-dl-red: #ef4444;
}

.rk-dl-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;
    line-height: normal;
}

/* NAGŁÓWEK SEKCI */
.rk-dl-header {
    background: linear-gradient(135deg, var(--rk-dl-primary) 0%, var(--rk-dl-panel) 100%);
    padding: 45px 50px;
    color: var(--rk-dl-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    border-bottom: 4px solid var(--rk-dl-accent);
    gap: 30px;
}

.rk-dl-header-content { 
    position: relative; 
    z-index: 2; 
    flex: 1;
}

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

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

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

/* WIZUALIZACJA PDF / IKONA */
.rk-dl-header-visual {
    position: relative;
    z-index: 2;
    flex-shrink: 0;
}

.rk-dl-pdf-icon-svg {
    width: 90px;
    height: auto;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.4));
    animation: rkFloatIcon 3s infinite ease-in-out alternate;
}

@keyframes rkFloatIcon {
    from { transform: translateY(0) scale(1); }
    to { transform: translateY(-12px) scale(1.02); }
}

/* GŁÓWNY WORKSPACE */
.rk-dl-workspace {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    padding: 45px 50px;
    gap: 50px;
    background: var(--rk-dl-white);
    align-items: center;
}

.rk-dl-preview-box {
    background: var(--rk-dl-bg);
    border: 1px solid var(--rk-dl-border);
    border-radius: 20px;
    padding: 15px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.rk-dl-preview-box:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.2);
    border-color: #bae6fd;
}

.rk-dl-preview-img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.rk-dl-zoom-tag {
    position: absolute; 
    bottom: 25px; 
    right: 25px; 
    background: rgba(15, 23, 42, 0.85); 
    backdrop-filter: blur(4px);
    color: white; 
    padding: 8px 14px; 
    border-radius: 99px; 
    font-size: 12px; 
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-dl-info-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 35px 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

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

.rk-dl-check-wrap {
    width: 28px;
    height: 28px;
    background: var(--rk-dl-accent-light);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-dl-accent-dark);
    flex-shrink: 0;
}

/* PRZYCISK POBIERANIA */
.rk-dl-main-btn {
    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: 17px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 25px -5px rgba(14, 165, 233, 0.4);
    border: 2px solid transparent;
}

.rk-dl-main-btn:hover {
    background: var(--rk-dl-accent-dark);
    transform: translateY(-4px);
    box-shadow: 0 20px 35px -5px rgba(14, 165, 233, 0.5);
    border-color: #bae6fd;
}

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

.rk-dl-main-btn:hover svg {
    transform: translateY(3px);
}

/* STOPKA MODUŁU (Autorska) */
.rk-dl-footer {
    padding: 25px 50px;
    background: var(--rk-dl-bg);
    border-top: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}

.rk-dl-footer-upsell {
    font-size: 15px;
    color: var(--rk-dl-text);
    line-height: 1.6;
    margin: 0 0 10px 0;
}

.rk-dl-footer-upsell a {
    color: var(--rk-dl-accent-dark);
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-color 0.3s;
}

.rk-dl-footer-upsell a:hover {
    border-color: var(--rk-dl-accent-dark);
}

.rk-dl-footer-copy {
    font-size: 13px;
    color: var(--rk-dl-muted);
    margin: 0;
    font-weight: 500;
}

@media (max-width: 800px) {
    .rk-dl-header { flex-direction: column; text-align: center; padding: 35px 25px; gap: 20px; }
    .rk-dl-workspace { grid-template-columns: 1fr; padding: 35px 25px; gap: 35px; }
    .rk-dl-preview-box { margin: 0 auto; max-width: 400px; }
    .rk-dl-footer { padding: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#infografika-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/"
    },
    "headline": "Parametry i Dobór Rur Grzewczych (Infografika PDF)",
    "description": "Pobierz inżynierskie zestawienie parametrów rur PEX i PE-RT dla ogrzewania podłogowego. Kompletny poradnik instalatora w formacie PDF i WEBP.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rury-do-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-01",
    "dateModified": "2026-06-01"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#dataset-infografika",
    "name": "Tabela inżynierska: Właściwości rur ogrzewania płaszczyznowego",
    "description": "Zbiór danych wizualnych określający pojemności wodne, minimalne promienie gięcia i wymogi dotyczące warstwy EVOH w przewodach grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rury do ogrzewania podłogowego pdf",
      "parametry rur pex infografika",
      "zład wody w rurze 16 ściągawka",
      "rozstaw rur podłogówki schemat",
      "bariera antydyfuzyjna evoh rysunek"
    ],
    "measurementTechnique": "Przedstawienie wymogów norm PN-EN 1264 i ISO 15875 w formie graficznej tabeli porównawczej materiałów.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Ściągawka Instalatora HVAC"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/#download-app",
    "name": "Centrum Pobierania Wiedzy HVAC",
    "description": "Interaktywny moduł umożliwiający wizualizację i pobranie zaawansowanej technicznie infografiki doboru materiałów instalacyjnych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="rk-dl-container" id="app-pipe-dl">
    
    <div class="rk-dl-header">
        <div class="rk-dl-header-content">
            <div class="rk-dl-badge">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" style="margin-right: 6px;"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                Darmowe Materiały
            </div>
            <h2>Pobierz Kompletne Zestawienie Rur Grzewczych</h2>
            <p>Zabierz inżynierską ściągawkę na budowę. Zład wody, promienie gięcia, optymalne rozstawy i parametry polimerów w jednej czytelnej infografice.</p>
        </div>
        <div class="rk-dl-header-visual">
            <svg class="rk-dl-pdf-icon-svg" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M14 2H6C4.89543 2 4 2.89543 4 4V20C4 21.1046 4.89543 22 6 22H18C19.1046 22 20 21.1046 20 20V8L14 2Z" fill="var(--rk-dl-red)" stroke="#ffffff" stroke-width="1.5" stroke-linejoin="round"/>
                <path d="M14 2V8H20" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
                <text x="6.5" y="17" fill="white" font-size="5.5" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="rk-dl-workspace">
        
        <div class="rk-dl-preview-box" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rury-do-ogrzewania-podlogowego.webp', '_blank')" title="Kliknij, aby powiększyć grafię">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rury-do-ogrzewania-podlogowego.webp" alt="Infografika - Parametry i dobór rur do ogrzewania podłogowego" class="rk-dl-preview-img" loading="lazy">
            <div class="rk-dl-zoom-tag">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Powiększ
            </div>
        </div>

        <div class="rk-dl-info-side">
            <ul class="rk-dl-feature-list">
                <li class="rk-dl-feature-item">
                    <div class="rk-dl-check-wrap">
                        <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    </div>
                    Tabela: Średnica vs Pojemność wodna (zład)
                </li>
                <li class="rk-dl-feature-item">
                    <div class="rk-dl-check-wrap">
                        <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    </div>
                    Porównanie polimerów: PEX-a, PEX-b, PE-RT
                </li>
                <li class="rk-dl-feature-item">
                    <div class="rk-dl-check-wrap">
                        <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    </div>
                    Zalecane rozstawy i limity długości pętli
                </li>
                <li class="rk-dl-feature-item">
                    <div class="rk-dl-check-wrap">
                        <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/></svg>
                    </div>
                    Format A4 zoptymalizowany pod wydruk i mobile
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rury-do-ogrzewania-podlogowego.pdf" class="rk-dl-main-btn" target="_blank" rel="noopener noreferrer">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                POBIERZ INFOGRAFIKĘ (PDF)
            </a>
        </div>

    </div>

    <div class="rk-dl-footer">
        <p class="rk-dl-footer-upsell">
            Nie chcesz zgadywać, ile rury kupić i jaki rozstaw przyjąć? <br>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów profesjonalny projekt podłogówki bazujący na bilansie cieplnym OZC.</a>
        </p>
        <p class="rk-dl-footer-copy">
            © 2026 Projekt-Ogrzewania.pl | Autor: <strong>Robert Kucharski</strong>. Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.
        </p>
    </div>
</div>
<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>
