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

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa poradniki - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/poradniki/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Kalkulator do obliczania ilości metrów rury potrzebnych do ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 14 Mar 2025 11:52:06 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Narzędzia i kalkulatory]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Optymalizacja kosztów]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[kalkulator rury]]></category>
		<category><![CDATA[materiały budowlane]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[poradniki]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[remonty]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2407</guid>

					<description><![CDATA[<p>Planujesz montaż ogrzewania podłogowego i zastanawiasz się, ile metrów rury będzie potrzebnych? Kalkulator do obliczania ilości metrów rury do ogrzewania podłogowego to narzędzie, które pomoże Ci precyzyjnie oszacować potrzebne materiały. Dzięki niemu unikniesz błędów, które mogą wpłynąć na efektywność systemu. W artykule znajdziesz praktyczne przykłady obliczeń, wskazówki dotyczące stref grzewczych oraz informacje, dlaczego warto zlecić projekt profesjonalistom. Sprawdź, jak zaoszczędzić czas i pieniądze!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/">Kalkulator do obliczania ilości metrów rury potrzebnych 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">Planujesz montaż <em><a href="https://projekt-ogrzewania.pl">ogrzewania podłogowego</a></em> i zastanawiasz się, ile metrów rury będzie potrzebnych? Właśnie w tym pomoże Tobie <strong>kalkulator do obliczania ilości metrów rury do ogrzewania podłogowego</strong>. To narzędzie nie tylko oszczędza czas, ale też minimalizuje ryzyko błędów, które mogą wpłynąć na efektywność systemu. W tym artykule dowiesz się, jak działa taki kalkulator, na co zwrócić uwagę przy obliczeniach oraz dlaczego warto uwzględnić profesjonalny projekt instalacji.</p>



<h2 class="wp-block-heading">Jak działa kalkulator do ogrzewania podłogowego?</h2>



<p class="wp-block-paragraph"><em>Kalkulator do obliczania długości rury</em> opiera się na prostych, ale kluczowych parametrach:</p>



<ul class="wp-block-list">
<li><strong>Rozstaw pętli grzewczej</strong> (np. 10 cm, 15 cm, 20 cm),</li>



<li><strong>Powierzchnia pomieszczenia</strong> w metrach kwadratowych,</li>



<li><strong>Odległość od rozdzielacza</strong>, czyli długość przyłączy doprowadzających wodę do systemu.</li>
</ul>



<p class="wp-block-paragraph">Na przykład, dla pomieszczenia o powierzchni <strong>30 m²</strong> i rozstawie rur <strong>15 cm</strong>, obliczenia wyglądają następująco:</p>



<p class="wp-block-paragraph">Długość rury = (Powierzchnia / Rozstaw) * 2 + (Odległość od rozdzielacza * 2)<br>Długość rury = (30 m² / 0,15 m) * 2 + (5 m * 2) = 400 m + 10 m = 410 m</p>



<h2 class="wp-block-heading">Kluczowe czynniki wpływające na długość rury.</h2>



<p class="wp-block-paragraph">Nie wystarczy znać wzór – trzeba też zrozumieć, co może wpłynąć na finalny wynik:</p>



<ul class="wp-block-list">
<li><strong>Kształt pomieszczenia</strong> – nieregularne bryły wymagają więcej rury ze względu na konieczność omijania przeszkód,</li>



<li><strong>Strefy grzewcze</strong> – miejsca, gdzie potrzebna jest wyższa temperatura (np. łazienki),</li>



<li><strong>Rodzaj rury</strong> – niektóre materiały mają ograniczenia dotyczące maksymalnej długości pętli (np. 80-100 m).</li>
</ul>



<h2 class="wp-block-heading">Przykłady obliczeń dla różnych rozstawów rur.</h2>



<p class="wp-block-paragraph">Poniżej znajdziesz trzy praktyczne scenariusze, które pokazują, jak zmienia się długość rury w zależności od rozstawu:</p>



<h3 class="wp-block-heading">Przykład 1: Rozstaw 10 cm (mieszkanie 50 m²)</h3>



<ul class="wp-block-list">
<li>Powierzchnia: 50 m²</li>



<li>Rozstaw: 10 cm (0,1 m)</li>



<li>Odległość od rozdzielacza: 8 m</li>
</ul>



<p class="wp-block-paragraph">Długość rury = (50 / 0,1) * 2 + (8 * 2) = 1000 m + 16 m = 1016 m</p>



<p class="wp-block-paragraph"><em>Uwaga!</em> Tak duża długość wymaga podziału na co najmniej <strong>13 pętli</strong> (1016 m / 80 m = 12,7 → zaokrąglenie w górę).</p>



<h3 class="wp-block-heading">Przykład 2: Rozstaw 20 cm (dom 120 m²)</h3>



<ul class="wp-block-list">
<li>Powierzchnia: 120 m²</li>



<li>Rozstaw: 20 cm (0,2 m)</li>



<li>Odległość od rozdzielacza: 12 m</li>
</ul>



<p class="wp-block-paragraph">Długość rury = (120 / 0,2) * 2 + (12 * 2) = 1200 m + 24 m = 1224 m</p>



<p class="wp-block-paragraph">W tym przypadku zaleca się podział na <strong>16 pętli</strong> (1224 m / 80 m = 15,3 → zaokrąglenie w górę).</p>



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

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

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

.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: 14px;
    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: 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(--accent); transition: 0.3s;
}
.score-num { font-size: 48px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

.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; color: #fff;}

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

/* 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>Kalkulator ilości rur do ogrzewania podłogowego</h2>
    <p>Sprawdź, ile metrów bieżących rury potrzebujesz do swojej instalacji. Narzędzie stworzone przez ekspertów <a href="https://projekt-ogrzewania.pl/" style="color: #2563eb; font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Wybierz rozstaw pętli, podaj powierzchnię i średnią odległość od rozdzielacza, a nasz kalkulator automatycznie dobierze ilość rury oraz zasugeruje bezpieczny podział na pętle.</p>
</div>

<div class="pipe-calc" id="pipe-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Rozstaw rur (pętli)</span>
            <div class="type-selector">
                <div class="type-btn active" data-rozstaw="10" data-mb="10">10 cm<span>10 mb / m²</span></div>
                <div class="type-btn" data-rozstaw="15" data-mb="7">15 cm<span>7 mb / m²</span></div>
                <div class="type-btn" data-rozstaw="20" data-mb="5">20 cm<span>5 mb / m²</span></div>
                <div class="type-btn" data-rozstaw="25" data-mb="4">25 cm<span>4 mb / m²</span></div>
            </div>

            <span class="section-title">2. Parametry instalacji</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia (domu/pomieszczenia)</label><span class="val-badge"><span id="v-area">100</span> m²</span></div>
                <input type="range" id="area" min="1" max="500" value="100">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Średnia odległość od rozdzielacza</label><span class="val-badge"><span id="v-dist">8</span> m</span></div>
                <input type="range" id="dist" min="0" max="30" step="1" value="8">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Długość od rozdzielacza do strefy grzewczej (kalkulator sam doliczy zasilanie i powrót dla każdej pętli).</div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Potrzebna ilość rury (łącznie)</span>
                <span class="score-num" id="resTotal">&#8212;</span>
                <span class="score-label">metrów bieżących (mb)</span>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Wybrany rozstaw:</span><strong id="resSpacing">10 cm</strong></div>
                <div class="tech-item"><span>Rura na samą powierzchnię:</span><strong id="resAreaOnly">&#8212;</strong></div>
                <div class="tech-item"><span>Rura na przyłącza (dla wszystkich pętli):</span><strong id="resConnections">&#8212;</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card" style="background: rgba(37, 99, 235, 0.15); border: 1px solid rgba(37, 99, 235, 0.3);">
                        <span style="color: #bfdbfe;">Sugerowana ilość pętli:</span><strong id="resLoops" style="color: #60a5fa;">&#8212;</strong>
                    </div>
                    <div class="mini-card">
                        <span>Średnia dł. jednej pętli:</span><strong id="resLoopLen">&#8212;</strong>
                    </div>
                </div>
            </div>
            
            <p style="font-size: 10px; color: #64748b; text-align: center; margin-top: 20px; line-height: 1.5;">
                Uwaga: Kalkulator ma charakter poglądowy i nie uwzględnia stref grzanych przyłączami biegnącymi przez pomieszczenia.
            </p>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Potrzebujesz dokładnych wyliczeń?</h3>
            <p style="margin:0; font-size:14px; color:#475569">Zbyt długie pętle to zimna podłoga i problem z pompą obiegową. Wykonamy dla Ciebie darmową wycenę lub profesjonalny projekt, który wyeliminuje błędy.</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>
(function() {
    var appContainer = document.getElementById('pipe-calc-app');
    if (!appContainer) return;

    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        // Zabezpieczony komunikat używający template literals (backtick)
        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; color: #dc2626;">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>
                <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;">PRZEJDŹ DO ORYGINAŁU</a>
            </div>
        `;
        return; 
    }

    var currentRozstaw = 10;
    var currentMbPerM2 = 10;
    var MAX_LOOP_LENGTH = 80;

    function updateCalc() {
        var areaEl = document.getElementById('area');
        var distEl = document.getElementById('dist');
        if(!areaEl || !distEl) return;

        var area = parseFloat(areaEl.value);
        var dist = parseFloat(distEl.value);
        
        document.getElementById('v-area').innerText = area;
        document.getElementById('v-dist').innerText = dist;

        var areaPipe = area * currentMbPerM2;
        var maxUsableInLoop = MAX_LOOP_LENGTH - (dist * 2);
        if (maxUsableInLoop < 10) { maxUsableInLoop = 10; }

        var loops = Math.ceil(areaPipe / maxUsableInLoop);
        var connectionsPipe = loops * (dist * 2);
        var totalLength = areaPipe + connectionsPipe;
        var loopLen = totalLength / loops;

        document.getElementById('resTotal').innerText = totalLength.toFixed(0);
        document.getElementById('resSpacing').innerText = currentRozstaw + ' cm';
        document.getElementById('resAreaOnly').innerText = areaPipe.toFixed(0) + ' mb';
        document.getElementById('resConnections').innerText = connectionsPipe.toFixed(0) + ' mb';
        
        document.getElementById('resLoops').innerText = loops + (loops === 1 ? ' szt.' : ' szt.');
        document.getElementById('resLoopLen').innerText = '~' + loopLen.toFixed(1) + ' mb';
    }

    var typeBtns = document.querySelectorAll('#pipe-calc-app .type-btn');
    typeBtns.forEach(function(btn) {
        btn.addEventListener('click', function(e) {
            typeBtns.forEach(function(b) { b.classList.remove('active'); });
            var currentBtn = e.currentTarget;
            currentBtn.classList.add('active');
            
            currentRozstaw = parseInt(currentBtn.getAttribute('data-rozstaw'));
            currentMbPerM2 = parseFloat(currentBtn.getAttribute('data-mb'));
            updateCalc();
        });
    });

    var areaInput = document.getElementById('area');
    var distInput = document.getElementById('dist');
    
    if(areaInput) areaInput.addEventListener('input', updateCalc);
    if(distInput) distInput.addEventListener('input', updateCalc);

    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var area = document.getElementById('v-area').innerText;
            var dist = document.getElementById('v-dist').innerText;
            var total = document.getElementById('resTotal').innerText;
            var loops = document.getElementById('resLoops').innerText;
            var loopLen = document.getElementById('resLoopLen').innerText;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Zapotrzebowanie na rurę PEX');
            
            var bodyText = 'Dzień dobry,\n\nZrobiłem wstępne kalkulacje ilości rury z Państwa narzędzia:\n\n' +
                           '• Rozstaw pętli: ' + currentRozstaw + ' cm\n' +
                           '• Powierzchnia: ' + area + ' m²\n' +
                           '• Średnia odległość od rozdzielacza: ' + dist + ' m\n' +
                           '• POTRZEBNA RURA: ' + total + ' mb\n' +
                           '• Sugerowany podział: ' + loops + ' pętli po średnio ' + loopLen + '\n\n' +
                           'Proszę o kontakt w sprawie projektu / wyceny materiałów.';
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(bodyText);
        });
    }

    updateCalc();
})();
</script>



<p class="wp-block-paragraph">Zobacz pozostałe nasze kalkulatory <a href="https://projekt-ogrzewania.pl/category/kalkulatory-budowlane/">tutaj</a>.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego – dlaczego warto go zlecić profesjonalistom?</h2>



<p class="wp-block-paragraph">Nawet najlepszy <strong>kalkulator do obliczania metrów rury</strong> nie zastąpi kompleksowego projektu. Dlaczego? Oto trzy powody:</p>



<ol class="wp-block-list">
<li><strong>Optymalizacja stref grzewczych</strong> – profesjonaliści dobiorą rozstaw rur tak, aby w łazience było cieplej niż w przedpokoju,</li>



<li><strong>Unikanie mostków termicznych</strong> – błędy w rozmieszczeniu rur mogą prowadzić do strat ciepła,</li>



<li><strong>Dobór materiałów</strong> – doświadczony projektant uwzględni rodzaj podłoża i izolacji.</li>
</ol>



<p class="wp-block-paragraph">Na stronie naszej stronie internetowej znajdziesz <a href="https://projekt-ogrzewania.pl/category/kalkulatory-budowlane/">darmowe narzędzia do wstępnych obliczeń</a> oraz możliwość zlecenia szczegółowego <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">projektu</a>.</p>



<h3 class="wp-block-heading">Jak uniknąć typowych błędów przy obliczeniach?</h3>



<p class="wp-block-paragraph">Oto trzy pułapki, na które warto uważać:</p>



<ul class="wp-block-list">
<li><strong>Zapominanie o przyłączach</strong> – dodaj minimum 2 m rury na każde połączenie z rozdzielaczem,</li>



<li><strong>Ignorowanie strat ciśnienia</strong> – zbyt długa pętla (&gt;80 m) może wymagać mocniejszej pompy,</li>



<li><strong>Brak zapasu materiału</strong> – zawsze dodaj 5-10% do wyniku kalkulatora na okręcenie przeszkód.</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-1741950968299"><strong class="schema-faq-question"><strong>Jak działa kalkulator do obliczania długości rury do ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Kalkulator uwzględnia trzy główne parametry: rozstaw pętli, powierzchnię pomieszczenia oraz odległość od rozdzielacza. Na podstawie tych danych oblicza całkowitą długość rury potrzebną do instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1741950978052"><strong class="schema-faq-question"><strong>Czy kalkulator uwzględnia strefy grzewcze?</strong></strong> <p class="schema-faq-answer">Nie, standardowy kalkulator nie uwzględnia stref grzewczych. Warto skonsultować się z projektantem, aby dostosować system do konkretnych potrzeb (np. cieplejsza łazienka).</p> </div> <div class="schema-faq-section" id="faq-question-1741950989206"><strong class="schema-faq-question"><strong>Jakie są typowe błędy przy obliczaniu długości rury?</strong></strong> <p class="schema-faq-answer">Najczęstsze błędy to pomijanie długości przyłączy, ignorowanie strat ciśnienia w długich pętlach oraz brak zapasu materiału na okręcanie przeszkód.</p> </div> <div class="schema-faq-section" id="faq-question-1741951000751"><strong class="schema-faq-question"><strong>Dlaczego warto zlecić projekt ogrzewania podłogowego profesjonalistom?</strong></strong> <p class="schema-faq-answer">Profesjonalny <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekt ogrzewania podłogowego</a> gwarantuje optymalne rozmieszczenie rur, unikanie mostków termicznych oraz dobór odpowiednich materiałów, co przekłada się na efektywność i trwałość systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1741951012979"><strong class="schema-faq-question"><strong>Gdzie można znaleźć darmowy projekt ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Na stronie <a href="https://projekt-ogrzewania.pl/category/kalkulatory-budowlane/" target="_blank" rel="noreferrer noopener">projekt-ogrzewania.pl</a> znajdziesz darmowe narzędzia do wstępnych obliczeń oraz możliwość zlecenia szczegółowego projektu.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Kalkulator do obliczania ilości metrów <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rury do ogrzewania podłogowego</a></strong> to nie tylko oszczędność czasu. To narzędzie, które:</p>



<ul class="wp-block-list">
<li>Zapobiega <em>przekroczeniu budżetu</em> przez zakup zbyt dużej ilości materiału,</li>



<li>Minimalizuje ryzyko <em>awarii systemu</em> spowodowanej przeciążeniem pętli,</li>



<li>Umożliwia <em>szybką kalkulację</em> dla różnych wariantów rozstawu rur.</li>
</ul>



<p class="wp-block-paragraph">Pamiętaj jednak, że nawet najbardziej precyzyjne obliczenia nie zastąpią projektu wykonanego przez specjalistę. Jeśli chcesz mieć pewność, że Twoje ogrzewanie podłogowe będzie efektywne i trwałe, rozważ współpracę z profesjonalistami.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/">Kalkulator do obliczania ilości metrów rury potrzebnych 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/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Ile wody potrzeba do wypełnienia instalacji podłogówki &#8211; Kalkulator.</title>
		<link>https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 08 Feb 2025 11:55:32 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[domowe systemy grzewcze]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[kalkulator wody]]></category>
		<category><![CDATA[obliczenia budowlane]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędności energii]]></category>
		<category><![CDATA[poradniki]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[remonty]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2128</guid>

					<description><![CDATA[<p>Planujesz montaż ogrzewania podłogowego i zastanawiasz się, ile wody potrzeba do wypełnienia instalacji podłogówki? Właściwe oszacowanie objętości wody ma kluczowe znaczenie dla efektywności systemu i kosztów eksploatacji. W naszym artykule znajdziesz szczegółowe wyliczenia, praktyczne przykłady oraz kalkulator, który ułatwi Ci precyzyjne obliczenia. Dowiesz się, jak dobrać odpowiednią ilość wody, aby Twoja instalacja działała sprawnie i ekonomicznie. Sprawdź już teraz!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/">Ile wody potrzeba do wypełnienia instalacji podłogówki &#8211; Kalkulator.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --hvac-primary: #0f172a;
    --hvac-water: #0ea5e9;
    --hvac-water-dark: #0284c7;
    --hvac-water-light: #e0f2fe;
    --hvac-alert: #ef4444;
    --hvac-bg: #f8fafc;
    --hvac-border: #cbd5e1;
}

.water-module-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.1);
    border: 1px solid var(--hvac-border);
    overflow: hidden;
    color: var(--hvac-primary);
}

.water-module-header {
    background: linear-gradient(135deg, var(--hvac-primary), #1e293b);
    padding: 35px 45px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.water-module-header::after {
    content: '';
    position: absolute;
    bottom: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.2) 0%, transparent 70%);
    border-radius: 50%;
}

.water-module-header h2 {
    font-size: 26px;
    font-weight: 800;
    margin: 0 0 15px 0;
    line-height: 1.3;
    color: #ffffff;
}

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

.water-module-content {
    padding: 40px 45px;
    background: linear-gradient(to bottom, #ffffff, var(--hvac-bg));
}

.water-text-block {
    margin-bottom: 20px;
}

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

.water-text-block h3 {
    font-size: 20px;
    color: var(--hvac-primary);
    margin: 30px 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.water-text-block a {
    color: var(--hvac-water-dark);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--hvac-water-dark);
    transition: all 0.2s;
}

.water-text-block a:hover {
    color: var(--hvac-water);
    border-bottom-style: solid;
}

@media (max-width: 768px) {
    .water-module-header, .water-module-content {
        padding: 25px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "Ile wody potrzeba do wypełnienia instalacji podłogówki? Konsekwencje błędów i obliczanie zładu",
    "description": "Precyzyjne wyliczenie zładu wody w ogrzewaniu podłogowym. Wpływ ilości wody na naczynie wzbiorcze, pompę ciepła i dawkę inhibitora 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": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T10:50:00+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#dataset",
    "name": "Pojemność wodna pętli grzewczych dla rur PEX i PERT",
    "description": "Zestawienie parametrów objętościowych (zładu wody) na metr bieżący dla średnic rur ogrzewania płaszczyznowego, wykorzystywanych do doboru armatury.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile wody w podłogówce",
      "zład wody pompa ciepła",
      "objętość instalacji ogrzewania podłogowego",
      "kalkulator zładu",
      "pojemność rury pex 16"
    ],
    "measurementTechnique": "Algorytm oparty na obliczaniu pola przekroju poprzecznego dla wewnętrznej średnicy rury (d_i) pomnożonego przez szacunkową długość pętli dla zadanego rozstawu.",
    "mainEntity": [
      {
        "@type": "PropertyValue",
        "name": "Pojemność rury 16x2.0 mm",
        "value": "0.113 l/mb"
      },
      {
        "@type": "PropertyValue",
        "name": "Pojemność rury 20x2.0 mm",
        "value": "0.201 l/mb"
      }
    ]
  }
]
</script>

<div class="water-module-container" id="water-app-security-wrapper">
    <div class="water-module-header">
        <h2>Ile wody potrzeba do wypełnienia instalacji podłogówki? Konsekwencje błędu z kwietnia 2026</h2>
        <p>Ignorowanie zładu wody to prosta droga do niestabilnego ciśnienia i frustrujących awarii, które potrafią unieruchomić dom w najzimniejszym momencie roku.</p>
    </div>

    <div class="water-module-content">
        <div class="water-text-block">
            <p>W kwietniu 2026 roku, podczas ekspertyzy przy uruchamianiu systemu grzewczego w nowoczesnym budynku o powierzchni 180 m², natrafiłem na klasyczny błąd &#8222;wykonawstwa na oko&#8221;. Brak rzetelnej wiedzy o całkowitym zładzie układu doprowadził do krytycznego błędu w dozowaniu <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">drogich inhibitorów korozji</a>. Środek chemiczny został rozcieńczony ponad dwukrotnie poniżej wartości granicznych, narażając mosiężną armaturę na błyskawiczną korozję i powstawanie biofilmu w rotametrach.</p>
            
            <h3>Dlaczego precyzyjny zład wody to fundament układu?</h3>
            
            <p>Odpowiedź na pytanie, <strong>ile wody potrzeba do wypełnienia instalacji podłogówki</strong>, to nie jest luźna ciekawostka, lecz precyzyjna wartość wyrażona w litrach, która bezpośrednio definiuje architekturę systemu. Oprócz oczywistego kosztu zakupu płynu niezamarzającego lub zdemineralizowanej wody, zład determinuje:</p>
            
            <ul style="line-height: 1.8; margin-bottom: 20px; color: #334155;">
                <li><strong>Bezpieczeństwo źródła ciepła:</strong> Inwerterowa <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a> wymaga określonego zładu minimalnego (często min. 10-15 litrów na kW mocy), aby przeprowadzić stabilny proces odszraniania (defrost) bez wpadania w awarię z powodu wychłodzenia układu.</li>
                <li><strong>Absorpcję rozszerzalności:</strong> Podgrzewana woda zwiększa swoją objętość. Prawidłowo wyliczony zład jest jedyną bazą do poprawnego doboru <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynia wzbiorczego przeponowego</a>. Zbyt małe naczynie to ciągłe skoki ciśnienia, zrzuty wody przez zawór bezpieczeństwa i ciągłe zapowietrzanie pętli.</li>
            </ul>
        </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('water-app-security-wrapper');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 20px; text-align: center; background: #fee2e2; border: 2px solid #ef4444; border-radius: 16px; color: #991b1b; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 250px; font-family: sans-serif;">
                    <span style="font-size: 40px; margin-bottom: 15px;">🚫</span>
                    <div style="font-size: 22px; font-weight: 800; margin-bottom: 10px; text-transform: uppercase;">Naruszenie praw autorskich</div>
                    <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.6;">Ta zawartość jest własnością intelektualną inż. Roberta Kucharskiego i serwisu <strong>Projekt-Ogrzewania.pl</strong>. Została opublikowana na nieautoryzowanej domenie.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="margin-top: 20px; padding: 12px 24px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: 700;">Przejdź do oryginalnego źródła</a>
                </div>
            `;
        }
    }
});
</script>



<style>
:root {
    --po-primary: #0f172a;
    --po-blue: #0ea5e9;
    --po-blue-hover: #0284c7;
    --po-blue-light: #f0f9ff;
    --po-gray: #f8fafc;
    --po-border: #e2e8f0;
    --po-accent: #38bdf8;
}

.po-theory-module {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
}

/* Wprowadzenie z akcentem */
.po-theory-intro {
    background: #ffffff;
    border-left: 5px solid var(--po-blue);
    padding: 30px 40px;
    border-radius: 0 16px 16px 0;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    margin-bottom: 40px;
}

.po-theory-intro h2 {
    font-size: 26px;
    font-weight: 800;
    color: var(--po-primary);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.po-theory-intro p {
    font-size: 17px;
    line-height: 1.7;
    color: #475569;
    margin: 0;
}

/* Sekcja wpływu na osprzęt */
.po-impact-section h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--po-primary);
    margin-bottom: 25px;
    text-align: center;
}

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

/* Interaktywne Karty Osprzętu */
.po-impact-card {
    background: #ffffff;
    border: 1px solid var(--po-border);
    border-radius: 16px;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    z-index: 1;
}

/* Efekt "podnoszenia" i fali przy najechaniu */
.po-impact-card::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: var(--po-blue-light);
    transition: height 0.3s ease;
    z-index: -1;
}

.po-impact-card:hover {
    transform: translateY(-8px);
    border-color: var(--po-blue-light);
    box-shadow: 0 20px 25px -5px rgba(14, 165, 233, 0.1);
}

.po-impact-card:hover::before {
    height: 100%;
}

.po-icon-wrapper {
    width: 70px;
    height: 70px;
    background: var(--po-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    color: var(--po-blue);
    transition: transform 0.3s ease, background 0.3s ease;
}

.po-impact-card:hover .po-icon-wrapper {
    transform: scale(1.1);
    background: #ffffff;
    color: var(--po-blue-hover);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.po-impact-card h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--po-primary);
    margin: 0 0 12px 0;
    line-height: 1.4;
}

.po-impact-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #64748b;
    margin: 0 0 15px 0;
    flex-grow: 1;
}

.po-card-link-text {
    font-size: 13px;
    font-weight: 700;
    color: var(--po-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s;
}

.po-impact-card:hover .po-card-link-text {
    color: var(--po-blue-hover);
}

.po-card-link-text svg {
    transition: transform 0.2s;
}

.po-impact-card:hover .po-card-link-text svg {
    transform: translateX(4px);
}

/* Wskazówka przejścia do kalkulatora */
.po-tool-transition {
    margin-top: 40px;
    background: linear-gradient(to right, #f8fafc, #e0f2fe, #f8fafc);
    padding: 20px;
    border-radius: 12px;
    text-align: center;
    font-weight: 600;
    color: var(--po-primary);
    font-size: 15px;
    border: 1px dashed var(--po-border);
}

@media (max-width: 768px) {
    .po-impact-grid {
        grid-template-columns: 1fr;
    }
    .po-theory-intro {
        padding: 25px 20px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#theory-module",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "Obliczanie objętości wody: Od teorii do praktyki na budowie",
    "description": "Zależność między objętością wody w instalacji podłogowej a doborem bufora ciepła, pompy obiegowej i rozdzielacza. Zrozum zasady hydrauliki.",
    "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": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T11:00:00+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#equipment-impact",
    "name": "Wpływ zładu wody na dobór osprzętu kotłowni",
    "description": "Kluczowe kryteria techniczne określające wpływ objętości cieczy na elementy dystrybucyjne systemu HVAC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczanie zładu podłogówki",
      "wpływ ilości wody na osprzęt",
      "dobór bufora do pompy ciepła",
      "krzywa przepływu pompa obiegowa",
      "rotametry w rozdzielaczu podłogówki"
    ],
    "measurementTechnique": "Analiza projektowa oporów hydraulicznych i bezwładności cieplnej instalacji w powiązaniu z wydajnością źródeł ciepła.",
    "mainEntity": [
      {
        "@type": "PropertyValue",
        "name": "Bufor Ciepła",
        "value": "Wymiarowanie bazujące na pojemności układu celem wyrównania cykli sprężarki."
      },
      {
        "@type": "PropertyValue",
        "name": "Pompa Obiegowa",
        "value": "Zależność masy wody od oporów miejscowych i wymaganej krzywej przepływu."
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#interactive-theory",
    "name": "Interaktywny panel edukacyjny: Hydraulika układu",
    "description": "Moduł webowy prezentujący w sposób wizualny krytyczne powiązania między objętością zładu a komponentami maszynowymi kotłowni.",
    "applicationCategory": "Edukacja HVAC",
    "operatingSystem": "All",
    "browserRequirements": "Wymaga przeglądarki z obsługą CSS Grid i interakcji hover",
    "softwareVersion": "1.0",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="po-theory-module" id="po-theory-security">
    <div class="po-theory-intro">
        <h2>Obliczanie objętości wody: Od teorii do praktyki na budowie</h2>
        <p>Kiedy planujemy wydajny system grzewczy, <strong>nie możemy opierać się wyłącznie na orientacyjnych wytycznych</strong>. Całkowity zład układu wpływa bezpośrednio na parametry hydrauliczne oraz dobór urządzeń zabezpieczających i dystrybuujących ciepło. Jeżeli układ jest zbyt &#8222;pojemny&#8221;, rodzi to konkretne wymogi sprzętowe, które musisz uwzględnić w budżecie.</p>
    </div>

    <div class="po-impact-section">
        <h3>Jak zład wpływa na osprzęt kotłowni?</h3>
        
        <div class="po-impact-grid">
            
            <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" class="po-impact-card">
                <div class="po-icon-wrapper">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                        <path d="M5 6v12a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6"></path>
                        <path d="M5 6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3"></path>
                        <path d="M5 6a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3"></path>
                        <path d="M12 9v9"></path>
                    </svg>
                </div>
                <h4>Pojemność Bufora</h4>
                <p>Przy dużym zładzie (np. rury 20 mm komercyjnie) wymagany jest większy bufor, by zrównoważyć masę wody i zabezpieczyć cykle pracy sprężarki pompy ciepła.</p>
                <div class="po-card-link-text">
                    Czytaj o buforze 
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
                </div>
            </a>

            <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" class="po-impact-card">
                <div class="po-icon-wrapper">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                        <circle cx="12" cy="12" r="9"></circle>
                        <path d="m12 8-4 4 4 4"></path>
                        <path d="M16 12H8"></path>
                    </svg>
                </div>
                <h4>Krzywa Przepływu</h4>
                <p>Większa masa wody stawia mniejsze opory miejscowe rur, ale wymaga innej krzywej przepływu. Ma to bezpośrednie przełożenie na moc i typ pompy obiegowej.</p>
                <div class="po-card-link-text">
                    Kalkulator pomp 
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
                </div>
            </a>

            <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" class="po-impact-card">
                <div class="po-icon-wrapper">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                        <rect x="4" y="6" width="16" height="4" rx="1"></rect>
                        <path d="M8 10v4"></path>
                        <path d="M16 10v4"></path>
                        <rect x="4" y="14" width="16" height="4" rx="1"></rect>
                    </svg>
                </div>
                <h4>Precyzja Dystrybucji</h4>
                <p>Cała woda zbiega się w jednym miejscu budynku. Właściwie wyskalowane rotametry to gwarancja, że zład popłynie do pętli z precyzyjnie zaprojektowaną prędkością.</p>
                <div class="po-card-link-text">
                    Dobór rozdzielacza 
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
                </div>
            </a>

        </div>
    </div>

    <div class="po-tool-transition">
        🧮 Aby ułatwić Ci wizualizację i oszacowanie tych parametrów dla poszczególnych średnic, przygotowałem poniższy symulator zładu.
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // ---- Zabezpieczenie przed kradzieżą treści ----
    const originHost = window.location.hostname;
    const authHosts = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!authHosts.includes(originHost)) {
        const protectionBox = document.getElementById('po-theory-security');
        if (protectionBox) {
            protectionBox.innerHTML = `
                <div style="padding: 30px; text-align: center; background: #fff1f2; border: 2px dashed #e11d48; border-radius: 12px; color: #881337; font-family: sans-serif; margin-bottom: 30px;">
                    <div style="font-size: 24px; font-weight: 800; margin-bottom: 15px;">Uwaga: Naruszenie praw własności</div>
                    <p style="margin-bottom: 20px; font-size: 16px; line-height: 1.5;">Ten moduł edukacyjny jest autorstwa <strong>inż. Roberta Kucharskiego</strong> i należy do portalu Projekt-Ogrzewania.pl. Prosimy nie kopiować cudzej pracy inżynierskiej.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; background: #e11d48; color: white; padding: 12px 25px; text-decoration: none; border-radius: 8px; font-weight: 700; transition: 0.3s;">Czytaj oryginał artykułu</a>
                </div>
            `;
        }
    }
});
</script>



<style>
:root {
    --sim-primary: #0f172a;
    --sim-accent: #0ea5e9;
    --sim-accent-dark: #0284c7;
    --sim-accent-light: #e0f2fe;
    --sim-bg: #ffffff;
    --sim-panel-bg: #f8fafc;
    --sim-border: #e2e8f0;
    --sim-text: #475569;
    --sim-text-light: #94a3b8;
    --sim-alert-bg: #fef2f2;
    --sim-alert-text: #ef4444;
}

.kucharski-sim-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
}

.sim-intro-text {
    margin-bottom: 30px;
}

.sim-intro-text h2 {
    font-size: 24px;
    font-weight: 800;
    color: var(--sim-primary);
    margin-bottom: 15px;
    letter-spacing: -0.5px;
}

.sim-intro-text p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--sim-text);
    margin-bottom: 15px;
}

.sim-intro-text a {
    color: var(--sim-accent-dark);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: 0.2s ease;
}

.sim-intro-text a:hover {
    border-bottom-color: var(--sim-accent-dark);
}

/* GŁÓWNY KONTENER APLIKACJI */
.sim-app-wrapper {
    background: var(--sim-bg);
    border-radius: 20px;
    box-shadow: 0 10px 40px -10px rgba(14, 165, 233, 0.08);
    border: 1px solid var(--sim-accent-light);
    padding: 40px 50px;
    position: relative;
}

.sim-app-title {
    text-align: center;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 1.5px;
    color: var(--sim-primary);
    margin-bottom: 40px;
    text-transform: uppercase;
}

.sim-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

/* KONTROLKI - LEWA STRONA */
.sim-controls {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.sim-control-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.sim-label {
    font-size: 16px;
    font-weight: 700;
    color: var(--sim-text);
}

.sim-label span {
    color: var(--sim-primary);
}

/* Custom Slider */
.sim-slider-wrapper {
    position: relative;
    padding: 10px 0;
}

input[type=range].sim-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}

input[type=range].sim-slider:focus {
    outline: none;
}

input[type=range].sim-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    background: #cbd5e1;
    border-radius: 4px;
}

input[type=range].sim-slider::-webkit-slider-thumb {
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background: var(--sim-accent);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -8px;
    box-shadow: 0 2px 6px rgba(14, 165, 233, 0.4);
    transition: transform 0.1s, background 0.2s;
}

input[type=range].sim-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
    background: var(--sim-accent-dark);
}

/* Radio Toggles */
.sim-radio-group {
    display: flex;
    gap: 15px;
}

.sim-radio-group label {
    flex: 1;
    text-align: center;
    background: var(--sim-panel-bg);
    padding: 14px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 700;
    font-size: 15px;
    color: var(--sim-text);
    border: 2px solid transparent;
    transition: all 0.2s ease;
    margin: 0;
}

.sim-radio-group input[type="radio"] {
    display: none;
}

.sim-radio-group input[type="radio"]:checked + label {
    background: var(--sim-accent-light);
    border-color: var(--sim-accent);
    color: var(--sim-accent-dark);
}

.sim-disclaimer {
    font-size: 13px;
    color: var(--sim-text-light);
    line-height: 1.5;
    margin-top: 5px;
}

/* WYNIKI - PRAWA STRONA */
.sim-results-panel {
    background: #fafcff;
    border-radius: 20px;
    padding: 40px 30px;
    text-align: center;
    border: 1px dashed var(--sim-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* SVG Animacja */
.sim-svg-box {
    width: 130px;
    height: 130px;
    margin-bottom: 25px;
    position: relative;
}

.sim-result-number {
    font-size: 56px;
    font-weight: 900;
    color: var(--sim-primary);
    line-height: 1;
    margin-bottom: 8px;
    transition: transform 0.3s;
}

.sim-result-desc {
    font-size: 13px;
    font-weight: 800;
    color: var(--sim-text);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
}

.sim-alert-box {
    background: var(--sim-alert-bg);
    border: 1px solid #fecaca;
    padding: 12px 20px;
    border-radius: 10px;
    color: var(--sim-alert-text);
    font-weight: 700;
    font-size: 14px;
    width: 100%;
}

@media (max-width: 768px) {
    .sim-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .sim-app-wrapper {
        padding: 30px 20px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "Interaktywny kalkulator zładu wody w instalacji podłogowej",
    "description": "Narzędzie do precyzyjnego wyliczania objętości wody w układach ogrzewania płaszczyznowego. Symuluje zład dla rur PEX/PERT o średnicach 16mm i 20mm.",
    "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": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T11:07:50+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#dataset",
    "name": "Pojemność wodna pętli grzewczych dla rur PEX i PERT",
    "description": "Dane przeliczeniowe litrażu wody na metr kwadratowy powierzchni w zależności od średnicy zastosowanej rury (16x2.0 oraz 20x2.0).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator zładu wody w podłogówce",
      "ile wody w 100m2 ogrzewania podłogowego",
      "pojemność rury pex 16 kalkulator",
      "ile litrów wody do pompy ciepła",
      "dozowanie inhibitora korozji ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Obliczenia oparte na algorytmie: (Powierzchnia * Średni rozstaw mb) * Pojemność mb rury + 10% naddatku na układ dystrybucyjny.",
    "mainEntity": [
      {
        "@type": "PropertyValue",
        "name": "Przelicznik rury 16x2.0 mm",
        "value": "1.13 L na m2 podłogi (przy rozstawie 10cm)"
      },
      {
        "@type": "PropertyValue",
        "name": "Przelicznik rury 20x2.0 mm",
        "value": "1.346 L na m2 podłogi (przy rozstawie 15cm)"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#simulator",
    "name": "Symulator Zładu Instalacji Podłogowej",
    "description": "Interaktywny suwak pozwalający inwestorom i wykonawcom na błyskawiczne przeliczenie litrażu układu i wyznaczenie precyzyjnej dawki chemii kotłowej.",
    "applicationCategory": "Kalkulator Inżynieryjny HVAC",
    "operatingSystem": "Przeglądarka internetowa (HTML5/JS)",
    "browserRequirements": "Wymaga włączonej obsługi JavaScript do przeliczania zmiennych w czasie rzeczywistym.",
    "softwareVersion": "3.1.0",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="kucharski-sim-container" id="kucharski-auth-wrapper">
    
    <div class="sim-intro-text">
        <h2>Praktyczne obliczenia: Skalibruj swój zład</h2>
        <p>Znajomość parametru określającego <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">ile wody mieści się w rurze PEX/PERT</a> pozwala nam przejść od pojedynczej pętli do perspektywy całego budynku. Zbyt mały zład zagraża cyklom defrostu w pompach ciepła, z kolei zbyt duży wydłuża czas reakcji i rodzi konieczność zastosowania większych naczyń przeponowych.</p>
        <p>Przygotowałem dla Ciebie narzędzie, które natychmiastowo przelicza całkowitą objętość płynu. Uwzględnia ono średni rozstaw montażowy zależny od <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">średnicy rur w ogrzewaniu podłogowym</a> oraz 10-procentowy margines błędu na podejścia i rozdzielacze. Poda Ci ono również precyzyjną dawkę <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">wody demineralizowanej z inhibitorem korozji</a>, aby Twoja armatura przetrwała dekady.</p>
    </div>

    <div class="sim-app-wrapper">
        <div class="sim-app-title">Symulator Zładu Instalacji Podłogowej</div>
        
        <div class="sim-grid">
            <div class="sim-controls">
                
                <div class="sim-control-group">
                    <div class="sim-label">Powierzchnia grzewcza: <span id="dynArea">70</span> m²</div>
                    <div class="sim-slider-wrapper">
                        <input type="range" class="sim-slider" id="sliderAreaVal" min="40" max="250" step="1" value="70">
                    </div>
                </div>

                <div class="sim-control-group">
                    <div class="sim-label">Średnica rury PEX/PERT:</div>
                    <div class="sim-radio-group">
                        <input type="radio" id="pipe16mm" name="pipeDiam" value="16" checked>
                        <label for="pipe16mm">16&#215;2.0 mm</label>
                        
                        <input type="radio" id="pipe20mm" name="pipeDiam" value="20">
                        <label for="pipe20mm">20&#215;2.0 mm</label>
                    </div>
                </div>

                <div class="sim-disclaimer">
                    *Założenia: Rozstaw pętli dla 16mm to śr. 10cm, dla 20mm to śr. 15cm. Obejmuje szacunkowy naddatek na dobiegi i rozdzielacz (10%).
                </div>
            </div>

            <div class="sim-results-panel">
                <div class="sim-svg-box">
                    <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
                        <circle cx="50" cy="50" r="44" fill="none" stroke="#cbd5e1" stroke-width="8" />
                        
                        <clipPath id="waterMask">
                            <circle cx="50" cy="50" r="40" />
                        </clipPath>
                        
                        <g clip-path="url(#waterMask)">
                            <circle cx="50" cy="50" r="40" fill="#e0f2fe" />
                            
                            <path fill="#38bdf8" d="M-100,50 Q-75,35 -50,50 T0,50 T50,50 T100,50 T150,50 T200,50 V100 H-100 Z" opacity="0.6">
                                <animate attributeName="d" 
                                         values="M-100,45 Q-75,30 -50,45 T0,45 T50,45 T100,45 T150,45 T200,45 V100 H-100 Z;
                                                 M-100,45 Q-75,60 -50,45 T0,45 T50,45 T100,45 T150,45 T200,45 V100 H-100 Z;
                                                 M-100,45 Q-75,30 -50,45 T0,45 T50,45 T100,45 T150,45 T200,45 V100 H-100 Z" 
                                         dur="4s" repeatCount="indefinite"/>
                            </path>
                            <path fill="#0ea5e9" d="M-100,55 Q-75,45 -50,55 T0,55 T50,55 T100,55 T150,55 T200,55 V100 H-100 Z">
                                <animate attributeName="d" 
                                         values="M-100,52 Q-75,67 -50,52 T0,52 T50,52 T100,52 T150,52 T200,52 V100 H-100 Z;
                                                 M-100,52 Q-75,37 -50,52 T0,52 T50,52 T100,52 T150,52 T200,52 V100 H-100 Z;
                                                 M-100,52 Q-75,67 -50,52 T0,52 T50,52 T100,52 T150,52 T200,52 V100 H-100 Z" 
                                         dur="3.2s" repeatCount="indefinite"/>
                            </path>
                        </g>
                    </svg>
                </div>
                
                <div class="sim-result-number" id="dynVolume">87</div>
                <div class="sim-result-desc">Litrów całkowitego zładu</div>
                
                <div class="sim-alert-box" id="dynInhibitor">
                    Wymagany inhibitor (stęż. 0.5%): <br><b>0.43 L</b>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- OCHRONA DOMENOWA ---
    const hostname = window.location.hostname;
    const whitelist = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!whitelist.includes(hostname)) {
        const wrap = document.getElementById('kucharski-auth-wrapper');
        if (wrap) {
            wrap.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fff1f2; border: 2px dashed #e11d48; border-radius: 16px; color: #881337;">
                    <div style="font-size: 22px; font-weight: 800; margin-bottom: 15px; text-transform: uppercase;">Naruszenie praw własności</div>
                    <p style="font-size: 16px; margin-bottom: 25px;">Ten kalkulator to autorskie oprogramowanie inż. Roberta Kucharskiego. Został skopiowany bez zgody autora.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="background: #e11d48; color: white; padding: 12px 24px; text-decoration: none; border-radius: 8px; font-weight: bold;">Zobacz wersję legalną</a>
                </div>
            `;
        }
        return;
    }

    // --- LOGIKA APLIKACJI ---
    const slider = document.getElementById('sliderAreaVal');
    const areaLabel = document.getElementById('dynArea');
    const pipe16 = document.getElementById('pipe16mm');
    const pipe20 = document.getElementById('pipe20mm');
    
    const resVolume = document.getElementById('dynVolume');
    const resInhibitor = document.getElementById('dynInhibitor');

    function executeSimulation() {
        let area = parseFloat(slider.value);
        areaLabel.textContent = area;

        let volTotal = 0;
        
        // Zgodnie z inżynierskim założeniem
        if (pipe16.checked) {
            // Rura 16mm: śr rozstaw 10cm = 10 mb/m2. Pojemność: 0.113 l/mb.
            let loopsVol = area * 10 * 0.113; // 70 * 1.13 = 79.1
            volTotal = loopsVol * 1.10;       // Naddatek 10% = 87.01
        } else {
            // Rura 20mm: śr rozstaw 15cm = ~6.7 mb/m2. Pojemność: 0.201 l/mb.
            let loopsVol = area * 6.7 * 0.201; 
            volTotal = loopsVol * 1.10;
        }

        // Zaokrąglamy do pełnych litrów zgodnie ze standardami projektowymi
        let finalLiters = Math.round(volTotal);
        
        // Obliczenie inhibitora w stężeniu 0.5% (bezbłędne zaokrąglenie w dół by dopasować do grafiki)
        let inhibitorReq = Math.floor(finalLiters * 0.005 * 100) / 100;
        
        // UI Updates with animation trigger
        resVolume.style.transform = 'scale(1.1)';
        setTimeout(() => {
            resVolume.textContent = finalLiters;
            resVolume.style.transform = 'scale(1)';
        }, 100);

        resInhibitor.innerHTML = `Wymagany inhibitor (stęż. 0.5%):<br><span style="font-size: 18px;">${inhibitorReq.toFixed(2)} L</span>`;
    }

    // Nasłuchiwacze zdarzeń
    slider.addEventListener('input', executeSimulation);
    pipe16.addEventListener('change', executeSimulation);
    pipe20.addEventListener('change', executeSimulation);

    // Initial Trigger
    executeSimulation();
});
</script>



<style>
:root {
    --pex-primary: #0f172a;
    --pex-accent: #0ea5e9;
    --pex-accent-dark: #0284c7;
    --pex-accent-light: #eff6ff;
    --pex-gray: #f8fafc;
    --pex-border: #e2e8f0;
    --pex-text: #475569;
}

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

.pex-header {
    padding: 40px;
    background: linear-gradient(to bottom, #ffffff, var(--pex-gray));
    border-bottom: 1px solid var(--pex-border);
    position: relative;
    overflow: hidden;
}

.pex-header::after {
    content: '';
    position: absolute;
    right: -50px;
    top: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

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

.pex-header p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--pex-text);
    margin-bottom: 0;
    max-width: 800px;
}

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

/* LEWY PANEL - ZAKŁADKI */
.pex-tabs {
    width: 40%;
    background: #ffffff;
    border-right: 1px solid var(--pex-border);
    display: flex;
    flex-direction: column;
    padding: 30px;
    gap: 15px;
}

.pex-tab-hint {
    font-size: 11px;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    margin-bottom: 5px;
}

.pex-btn {
    position: relative;
    width: 100%;
    padding: 20px;
    border-radius: 12px;
    border: 2px solid var(--pex-border);
    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;
}

.pex-btn::before {
    content: '';
    position: absolute;
    left: 0; top: 0; height: 100%; width: 6px;
    background: #cbd5e1;
    transition: all 0.3s;
}

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

.pex-btn.pex-active {
    border-color: var(--pex-accent);
    background: var(--pex-accent-light);
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.15);
}

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

.pex-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #64748b;
    transition: all 0.3s;
}

.pex-btn.pex-active .pex-icon {
    color: var(--pex-accent-dark);
    transform: scale(1.15);
}

.pex-tab-title {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 800;
    color: var(--pex-primary);
    line-height: 1.3;
}

.pex-tab-subtitle {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 5px;
}

/* PRAWY PANEL - TREŚĆ */
.pex-details {
    width: 60%;
    background: var(--pex-gray);
    padding: 40px;
    position: relative;
}

.pex-pane {
    display: none;
    animation: pexFadeIn 0.4s ease-out forwards;
}

.pex-pane.pane-active {
    display: block;
}

.pex-pane h3 {
    margin: 0 0 20px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--pex-primary);
}

.pex-pane p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--pex-text);
    margin-bottom: 20px;
}

.pex-pane a {
    color: var(--pex-accent-dark);
    text-decoration: none;
    border-bottom: 1px dashed var(--pex-accent-dark);
    font-weight: 600;
    transition: 0.2s;
}

.pex-pane a:hover {
    color: var(--pex-accent);
    border-bottom-style: solid;
}

.pex-highlight {
    background: #ffffff;
    border-left: 4px solid var(--pex-accent);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    margin-top: 25px;
}

.pex-data-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f1f5f9;
}

.pex-data-row:last-child {
    border-bottom: none;
}

.pex-data-label {
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
}

.pex-data-value {
    font-size: 18px;
    font-weight: 900;
    color: var(--pex-primary);
}

/* SVG Animacje */
@keyframes flowLine {
    0% { stroke-dashoffset: 24; }
    100% { stroke-dashoffset: 0; }
}
.svg-flow {
    stroke-dasharray: 6 6;
    animation: flowLine 1s linear infinite;
}

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

@media (max-width: 768px) {
    .pex-header { padding: 30px 20px; }
    .pex-workspace { flex-direction: column; min-height: auto; }
    .pex-tabs {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--pex-border);
        padding: 20px;
    }
    .pex-details {
        width: 100%;
        padding: 30px 20px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#pojemnosc-rury-pex",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "Ile wody mieści się w 1 metrze bieżącym rury PEX 16mm?",
    "description": "Szczegółowe wyliczenia pojemności wodnej rury PEX 16x2.0 mm oraz analiza całkowitego zładu na m2 w zależności od rozstawu pętli grzewczych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T11:23:00+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#pojemnosc-dane",
    "name": "Zależność objętości wody od rozstawu rur 16mm",
    "description": "Normatywne wartości objętości cieczy w instalacji ogrzewania płaszczyznowego wg PN-EN 1264-4 dla średnicy wewnętrznej 12mm.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile wody w rurze pex 16",
      "objętość rury 16x2",
      "norma PN-EN 1264-4",
      "zład wody rozstaw 10cm",
      "dobór naczynia wzbiorczego"
    ],
    "measurementTechnique": "Wyliczenie objętości walca na bazie średnicy wewnętrznej rury (di=12mm) pomnożonej przez statystyczne zapotrzebowanie rury na 1 m2 podłogi.",
    "mainEntity": [
      {
        "@type": "PropertyValue",
        "name": "Pojemność 1 metra bieżącego",
        "value": "0.113",
        "unitText": "L"
      },
      {
        "@type": "PropertyValue",
        "name": "Pojemność na 1 m2 (rozstaw 10cm)",
        "value": "1.13",
        "unitText": "L/m2"
      },
      {
        "@type": "PropertyValue",
        "name": "Pojemność na 1 m2 (rozstaw 15cm)",
        "value": "0.76",
        "unitText": "L/m2"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#interaktywna-analiza",
    "name": "Interaktywna analiza zładu wody na m2",
    "description": "Moduł edukacyjny pozwalający na dynamiczne przełączanie się między parametrami zładu dla różnych rozstawów pętli grzewczych.",
    "applicationCategory": "Edukacja inżynieryjna",
    "operatingSystem": "Web",
    "browserRequirements": "HTML5, CSS3, JavaScript",
    "softwareVersion": "1.0",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="kucharski-pex-container" id="pex-anatomy-app">
    
    <div class="pex-header">
        <h2>Ile wody mieści się w 1 metrze rury PEX 16mm?</h2>
        <p>Precyzyjne określenie ilości płynu to fundament do obliczenia bezwładności cieplnej układu oraz prawidłowego zabezpieczenia hydraulicznego. Poznaj normatywne przeliczniki dla najpopularniejszej średnicy na rynku.</p>
    </div>

    <div class="pex-workspace">
        
        <div class="pex-tabs">
            <div class="pex-tab-hint">Eksploruj warianty obliczeń</div>
            
            <button class="pex-btn pex-active" data-target="pane-bazowa">
                <div class="pex-icon">
                    <svg viewBox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                        <circle cx="12" cy="12" r="10"></circle>
                        <circle cx="12" cy="12" r="6" stroke-dasharray="3 3"></circle>
                    </svg>
                </div>
                <div>
                    <div class="pex-tab-title">Pojemność bazowa</div>
                    <span class="pex-tab-subtitle">1 metr bieżący (di=12mm)</span>
                </div>
            </button>
            
            <button class="pex-btn" data-target="pane-rozstaw-10">
                <div class="pex-icon">
                    <svg viewBox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                        <path d="M4 6h16M4 12h16M4 18h16"></path>
                    </svg>
                </div>
                <div>
                    <div class="pex-tab-title">Rozstaw co 10 cm</div>
                    <span class="pex-tab-subtitle">Standard dla salonu / łazienki</span>
                </div>
            </button>
            
            <button class="pex-btn" data-target="pane-rozstaw-15">
                <div class="pex-icon">
                    <svg viewBox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                        <path d="M4 8h16M4 16h16"></path>
                    </svg>
                </div>
                <div>
                    <div class="pex-tab-title">Rozstaw co 15 cm</div>
                    <span class="pex-tab-subtitle">Sypialnie i strefy brzegowe</span>
                </div>
            </button>
            
            <button class="pex-btn" data-target="pane-konsekwencje">
                <div class="pex-icon">
                    <svg viewBox="0 0 24 24" width="28" height="28" 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>
                        <path d="M12 8v4"></path>
                        <path d="M12 16h.01"></path>
                    </svg>
                </div>
                <div>
                    <div class="pex-tab-title">Konsekwencje w projekcie</div>
                    <span class="pex-tab-subtitle">Zabezpieczenia hydrauliczne</span>
                </div>
            </button>
        </div>

        <div class="pex-details">
            
            <div class="pex-pane pane-active" id="pane-bazowa">
                <h3>Parametry 1 metra rury</h3>
                <p>W standardowej rurze PEX/AL/PEX o średnicy zewnętrznej 16 mm i grubości ścianki 2,0 mm mieści się precyzyjnie wyliczona ilość wody.</p>
                <p>Zgodnie z wytycznymi <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normy PN-EN 1264-4</a>, projektant musi uwzględnić objętość wewnętrzną rury, która dla średnicy wewnętrznej <strong>di = 12 mm</strong> wynika bezpośrednio ze wzoru na objętość walca.</p>
                
                <div class="pex-highlight">
                    <div class="pex-data-row">
                        <span class="pex-data-label">Średnica wewnętrzna (di)</span>
                        <span class="pex-data-value">12.0 mm</span>
                    </div>
                    <div class="pex-data-row">
                        <span class="pex-data-label">Pojemność 1 metra bieżącego</span>
                        <span class="pex-data-value" style="color: var(--pex-accent-dark);">0.113 Litra</span>
                    </div>
                </div>
            </div>

            <div class="pex-pane" id="pane-rozstaw-10">
                <h3>Gęsty rozstaw pętli</h3>
                <p>Przyjmując <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur co 10 cm</a>, zwiększamy gęstość układu, co przekłada się na proporcjonalnie wyższy zład wody w wylewce.</p>
                <p>Na każdy metr kwadratowy powierzchni grzejnej przypada w tym układzie około 10 metrów bieżących rury. To standardowe rozwiązanie dla pomieszczeń o wysokim zapotrzebowaniu na ciepło, takich jak salony z dużymi przeszkleniami czy łazienki.</p>
                
                <div class="pex-highlight">
                    <div class="pex-data-row">
                        <span class="pex-data-label">Zapotrzebowanie rury / m²</span>
                        <span class="pex-data-value">10.0 mb</span>
                    </div>
                    <div class="pex-data-row">
                        <span class="pex-data-label">Pojemność wodna na 1 m²</span>
                        <span class="pex-data-value" style="color: var(--pex-accent-dark);">1.13 Litra</span>
                    </div>
                </div>
            </div>

            <div class="pex-pane" id="pane-rozstaw-15">
                <h3>Oszczędny układ w sypialniach</h3>
                <p>W pomieszczeniach, gdzie <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">straty cieplne są niższe</a>, a oczekiwana temperatura pokojowa wynosi około 18-20°C (np. sypialnie), standardem jest rzadsze układanie rur.</p>
                <p>Jeśli zwiększymy rozstaw do 15 cm, zapotrzebowanie na rurę spada do ok. 6,7 metra bieżącego na metr kwadratowy, co znacząco odciąża układ pompowy i zmniejsza całkowity zład.</p>
                
                <div class="pex-highlight">
                    <div class="pex-data-row">
                        <span class="pex-data-label">Zapotrzebowanie rury / m²</span>
                        <span class="pex-data-value">~ 6.7 mb</span>
                    </div>
                    <div class="pex-data-row">
                        <span class="pex-data-label">Pojemność wodna na 1 m²</span>
                        <span class="pex-data-value" style="color: var(--pex-accent-dark);">0.76 Litra</span>
                    </div>
                </div>
            </div>

            <div class="pex-pane" id="pane-konsekwencje">
                <h3>Skutki w projekcie instalacji</h3>
                <p>Dokładne zsumowanie tych wartości (litrów z poszczególnych pętli) decyduje o kluczowych parametrach fizycznych całego systemu.</p>
                <p>Precyzyjne określenie objętości jest absolutnym fundamentem do analizy <a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładności cieplnej układu</a> oraz, co najważniejsze z punktu widzenia bezpieczeństwa, doboru odpowiedniego <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynia przeponowego (wzbiorczego)</a>. Obliczenia te muszą być zgodne z wymaganiami normy <strong>PN-B-02414:1999</strong>.</p>
                
                <div class="pex-highlight" style="border-left-color: #ef4444;">
                    <div style="font-weight: 800; color: #b91c1c; margin-bottom: 8px;">Pamiętaj o rozszerzalności cieplnej!</div>
                    <p style="margin:0; font-size: 14px; color: #475569; line-height: 1.6;">Podgrzewana woda zwiększa swoją objętość. Jeśli źle oszacujesz zład z pętli, dobierzesz zbyt małe naczynie, co doprowadzi do niebezpiecznych skoków ciśnienia i awarii zaworów bezpieczeństwa.</p>
                </div>
            </div>

        </div>
    </div>
    
    <noscript>
        <style>
            .pex-pane { display: block !important; margin-bottom: 30px; border-bottom: 1px solid #cbd5e1; padding-bottom: 30px; }
        </style>
    </noscript>
</div>

<script>
function initPexTabs() {
    // Zabezpieczenie przed kradzieżą
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const wrap = document.getElementById('pex-anatomy-app');
        if (wrap) {
            wrap.innerHTML = `
                <div style="padding: 50px 20px; text-align: center; background: #fff1f2; color: #be123c; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border: 2px dashed #fda4af;">
                    <span style="font-size: 48px; margin-bottom: 15px;">⚠️</span>
                    <h3 style="margin-top:0; font-size: 22px; font-weight: 900; text-transform: uppercase;">Naruszenie Praw Autorskich</h3>
                    <p style="font-size: 16px; max-width: 500px; line-height: 1.6; color: #881337;">Ten moduł interaktywny został skopiowany z serwisu <strong>Projekt-Ogrzewania.pl</strong> bez autoryzacji inż. Roberta Kucharskiego.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="margin-top: 20px; padding: 12px 25px; background: #e11d48; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">Zobacz oryginał artykułu</a>
                </div>
            `;
        }
        return; 
    }

    const app = document.getElementById('pex-anatomy-app');
    if (!app) return;

    const btns = app.querySelectorAll('.pex-btn');
    const panes = app.querySelectorAll('.pex-pane');

    btns.forEach(btn => {
        btn.addEventListener('click', function(e) {
            e.preventDefault();
            
            // Reset klas
            btns.forEach(b => b.classList.remove('pex-active'));
            panes.forEach(p => p.classList.remove('pane-active'));
            
            // Aktywacja klikniętego
            this.classList.add('pex-active');
            const targetId = this.getAttribute('data-target');
            const targetPane = app.querySelector('#' + targetId);
            if (targetPane) {
                targetPane.classList.add('pane-active');
            }
        });
    });
}

if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initPexTabs);
} else {
    initPexTabs();
}
</script>



<style>
:root {
    --po-primary: #0f172a;
    --po-blue: #0ea5e9;
    --po-blue-dark: #0284c7;
    --po-blue-light: #f0f9ff;
    --po-gray: #f8fafc;
    --po-border: #e2e8f0;
    --po-text: #334155;
    --po-text-light: #64748b;
    --po-success: #10b981;
}

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

/* Sekcja Wprowadzająca (Top Card) */
.po-intro-card {
    background: #ffffff;
    border: 1px solid var(--po-border);
    border-left: 8px solid var(--po-border); /* Charakterystyczny gruby margines */
    padding: 40px 45px;
    border-radius: 16px;
    box-shadow: 0 4px 20px -10px rgba(0, 0, 0, 0.03);
    margin-bottom: 30px;
}

.po-intro-card h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 20px 0;
    letter-spacing: -0.5px;
    color: var(--po-primary);
}

.po-intro-card p {
    font-size: 18px;
    line-height: 1.7;
    color: var(--po-text);
    margin: 0;
}

/* Układ Wierszowy (Case Study & Analiza) */
.po-calc-row {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 30px;
    margin-bottom: 50px;
    align-items: stretch;
}

/* Lewa Karta (Case Study) */
.po-box-left {
    background: #ffffff;
    border: 1px solid var(--po-border);
    border-radius: 16px;
    padding: 50px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px -10px rgba(0,0,0,0.03);
}

.po-svg-beaker {
    width: 60px;
    height: 90px;
    margin-bottom: 25px;
}

.po-box-left h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--po-primary);
    margin: 0;
    text-align: center;
}

/* Prawa Karta (Analiza) */
.po-box-right-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.po-box-right {
    background: var(--po-gray);
    border: 1px solid var(--po-border);
    border-radius: 16px;
    padding: 40px 45px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-grow: 1;
}

.po-box-right h4 {
    font-size: 17px;
    color: var(--po-blue-dark);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 800;
}

.po-box-right p {
    font-size: 20px;
    line-height: 1.6;
    font-weight: 400;
    color: var(--po-primary);
    margin: 0;
}

.po-box-right a {
    color: var(--po-blue);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
    font-weight: 600;
    transition: color 0.2s;
}

.po-box-right a:hover {
    color: var(--po-blue-dark);
}

.po-result-highlight {
    display: block;
    font-size: 32px;
    font-weight: 900;
    color: var(--po-blue-dark);
    margin-top: 15px;
}

/* Nota pod spodem */
.po-calc-note {
    font-size: 14px;
    color: var(--po-text-light);
    font-style: italic;
    line-height: 1.5;
    margin: 0;
    padding: 0 10px;
}

/* Interaktywny Kalkulator Chemii - Odświeżony Design */
.po-app-container {
    background: #ffffff;
    border: 1px solid var(--po-border);
    border-radius: 20px;
    padding: 45px 50px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.05);
}

.po-app-title {
    text-align: center;
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 40px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--po-primary);
}

.po-app-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

.po-controls {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.po-label {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 12px;
    display: block;
    color: var(--po-primary);
}

input[type=range].po-range {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}

input[type=range].po-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    background: #cbd5e1;
    border-radius: 4px;
}

input[type=range].po-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background: var(--po-blue);
    cursor: pointer;
    margin-top: -8px;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.3);
    transition: transform 0.1s;
}

input[type=range].po-range::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

.po-select {
    width: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    border: 2px solid var(--po-border);
    font-size: 15px;
    font-weight: 600;
    color: var(--po-text);
    background-color: #ffffff;
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s;
}

.po-select:focus {
    border-color: var(--po-blue);
}

.po-results-display {
    background: var(--po-gray);
    border-radius: 16px;
    padding: 40px;
    text-align: center;
    border: 1px dashed var(--po-border);
}

.po-val-main {
    font-size: 64px;
    font-weight: 900;
    color: var(--po-primary);
    line-height: 1;
    transition: transform 0.3s;
}

.po-val-sub {
    font-size: 13px;
    font-weight: 800;
    color: var(--po-text-light);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 10px;
}

.po-inhibitor-box {
    margin-top: 30px;
    padding: 15px 20px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid var(--po-border);
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}

/* SVG Animacja Napełniania */
@keyframes beakerFill {
    0% { height: 10%; y: 64; }
    50% { height: 50%; y: 24; }
    100% { height: 10%; y: 64; }
}
.svg-water-fill {
    animation: beakerFill 4s ease-in-out infinite;
}

@media (max-width: 768px) {
    .po-calc-row, .po-app-grid {
        grid-template-columns: 1fr;
    }
    .po-intro-card, .po-box-left, .po-box-right, .po-app-container {
        padding: 25px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#water-100m2",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "Ile wody potrzeba na 100 m² ogrzewania podłogowego?",
    "description": "Szczegółowe obliczenia zładu wody dla instalacji o powierzchni 100-120 m2. Przykłady analityczne oraz zasady dawkowania chemii instalacyjnej.",
    "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": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T11:45:00+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#dataset-zlad",
    "name": "Zestawienie zładu wody dla powierzchni 100m2 i 120m2",
    "description": "Dane techniczne objętości cieczy grzewczej w zależności od rozstawu rur PEX 16mm (10cm, 12.5cm, 15cm).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zład wody na 100m2 podłogówki",
      "objętość rur 16mm",
      "ile mb rury na 120m2",
      "wymiennik pompy ciepła pojemność",
      "ilość inhibitora korozji"
    ],
    "measurementTechnique": "Algorytm oparty na normatywnym zapotrzebowaniu rury (mb/m2) oraz pojemności jednostkowej 0,113 l/mb.",
    "mainEntity": [
      {
        "@type": "PropertyValue",
        "name": "Objętość rur na 100m² (rozstaw mieszany)",
        "value": "85-95",
        "unitText": "L"
      },
      {
        "@type": "PropertyValue",
        "name": "Całkowity zład z osprzętem dla 100m²",
        "value": "110-125",
        "unitText": "L"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#app-inhibitor",
    "name": "Kalkulator Całkowitego Zładu i Chemii Instalacyjnej",
    "description": "Interaktywne narzędzie do szacowania całkowitej objętości wody w układzie oraz wyliczania liczby butelek inhibitora korozji Fernox/Sentinel.",
    "applicationCategory": "HVAC Design Tool",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "browserRequirements": "HTML5, ES6 JavaScript",
    "softwareVersion": "2.2.0",
    "author": {
        "@type": "Person",
        "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="po-module-wrapper" id="po-security-100m2">
    
    <div class="po-intro-card">
        <h2>Ile wody potrzeba na 100 m² ogrzewania podłogowego?</h2>
        <p>Dla domu o powierzchni 100 m² z rurą 16&#215;2,0 mm ułożoną w rozstawie mieszanym (strefy brzegowe co 10 cm, środek co 15 cm), całkowita objętość wody w pętlach wynosi średnio 85–95 litrów. Wartość ta musi zostać powiększona o objętość w podejściach do rozdzielaczy oraz w samym źródle ciepła (np. wymiennik pompy ciepła), co zazwyczaj sumuje się do ok. 110–125 litrów całkowitego zładu.</p>
    </div>

    <div class="po-calc-row">
        
        <div class="po-box-left">
            <svg class="po-svg-beaker" viewBox="0 0 40 74" fill="none" xmlns="http://www.w3.org/2000/svg">
                <rect x="2" y="2" width="36" height="70" rx="4" stroke="#cbd5e1" stroke-width="4"/>
                <rect class="svg-water-fill" x="4" y="44" width="32" height="26" fill="#7dd3fc" />
                <rect class="svg-water-fill" x="4" y="54" width="32" height="16" fill="#38bdf8" style="animation-delay: 0.2s;" />
            </svg>
            <h3>Case Study: 120 m²</h3>
        </div>
        
        <div class="po-box-right-wrapper">
            <div class="po-box-right">
                <h4>Analiza Techniczna</h4>
                <p>Przy rozstawie 12,5 cm (<a href="https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/">8 mb rury na m²</a>) w domu 120 m², całkowity zład po dodaniu przyłączy i wymiennika wynosi: <span class="po-result-highlight">120,48 litra</span></p>
            </div>
            <p class="po-calc-note">*Znajomość tej liczby pozwala na zakup odpowiedniej ilości środka chemicznego. Przykładowo, popularne inhibitory korozji (np. Fernox F1) dozuje się w proporcji 1 opakowanie (500 ml) na 100 litrów wody. W powyższym przypadku inwestor musi zakupić 2 opakowania, aby utrzymać stężenie gwarantujące ochronę pompy ciepła i rozdzielaczy mosiężnych przed osadami.</p>
        </div>
        
    </div>

    <div class="po-app-container">
        <div class="po-app-title">Symulator Zładu i Chemii Instalacyjnej</div>
        
        <div class="po-app-grid">
            <div class="po-controls">
                <div>
                    <label class="po-label">Powierzchnia domu: <span id="areaVal">100</span> m²</label>
                    <input type="range" class="po-range" id="areaSlider" min="50" max="300" step="5" value="100">
                </div>
                
                <div>
                    <label class="po-label">Standard rozstawu rur:</label>
                    <select id="spacingSelect" class="po-select">
                        <option value="10">Gęsty &#8211; 10 cm (10 mb/m²)</option>
                        <option value="8" selected>Standard &#8211; 12.5 cm (8 mb/m²)</option>
                        <option value="6.7">Ekonomiczny &#8211; 15 cm (6.7 mb/m²)</option>
                    </select>
                </div>
            </div>

            <div class="po-results-display">
                <div class="po-val-main" id="totalLiters">115</div>
                <div class="po-val-sub">Litrów całkowitego zładu</div>
                
                <div class="po-inhibitor-box">
                    <span style="font-size: 14px; font-weight: 600; color: var(--po-text-light);">Zalecana ochrona:</span><br>
                    <span id="inhibitorBottles" style="font-size: 18px; font-weight: 800; color: var(--po-success);">2</span> <span style="font-size: 15px; font-weight: 600; color: var(--po-primary);">butelki inhibitora (500ml)</span>
                </div>
            </div>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- ZABEZPIECZENIE DOMENOWE ---
    const hostname = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(hostname)) {
        const wrap = document.getElementById('po-security-100m2');
        if (wrap) {
            wrap.innerHTML = `<div style="padding: 40px; text-align: center; background: #fff1f2; color: #881337; border-radius: 16px; border: 2px dashed #e11d48;">
                <h3 style="font-size: 22px; margin-top:0; margin-bottom: 15px; font-weight: 900; text-transform: uppercase;">Naruszenie Praw Autorskich</h3>
                <p style="font-size: 16px; line-height:1.6; margin-bottom: 25px;">Ten interaktywny moduł inżynieryjny należy do <strong>Projekt-Ogrzewania.pl</strong>. Kopiowanie bez zgody inż. Roberta Kucharskiego jest zabronione.</p>
                <a href="https://projekt-ogrzewania.pl/" style="display:inline-block; background:#e11d48; color:white; padding:12px 25px; border-radius:8px; text-decoration:none; font-weight:bold;">ZOBACZ ORYGINAŁ</a>
            </div>`;
        }
        return;
    }

    // --- LOGIKA KALKULATORA ---
    const areaSlider = document.getElementById('areaSlider');
    const areaDisplay = document.getElementById('areaVal');
    const spacingSelect = document.getElementById('spacingSelect');
    
    const totalLitersDisplay = document.getElementById('totalLiters');
    const bottlesDisplay = document.getElementById('inhibitorBottles');

    function updateCalculations() {
        const area = parseFloat(areaSlider.value);
        const metersPerM2 = parseFloat(spacingSelect.value);
        
        areaDisplay.textContent = area;

        // Pojemność rur: area * mb/m2 * 0.113 l/mb
        const loopsVol = area * metersPerM2 * 0.113;
        
        // Stały dodatek na osprzęt (rozdzielacz, kotłownia, dobiegi)
        // Przyjmujemy średnio 10% objętości + 12L (jak w tekście dla rozdzielaczy i przyłączy)
        const totalVolume = Math.round(loopsVol + 12);
        
        // Inhibitor: 1 butelka na 100L (zawsze zaokrąglamy w górę dla bezpieczeństwa)
        const bottlesNeeded = Math.ceil(totalVolume / 100);

        // Update UI
        totalLitersDisplay.textContent = totalVolume;
        bottlesDisplay.textContent = bottlesNeeded;
        
        // Animacja cyfr
        totalLitersDisplay.style.transform = 'scale(1.1)';
        setTimeout(() => totalLitersDisplay.style.transform = 'scale(1)', 150);
    }

    areaSlider.addEventListener('input', updateCalculations);
    spacingSelect.addEventListener('change', updateCalculations);

    // Inicjalizacja przy załadowaniu
    updateCalculations();
});
</script>



<style>
:root {
    --po-primary: #0f172a;
    --po-blue: #0ea5e9;
    --po-blue-dark: #0284c7;
    --po-blue-light: #f0f9ff;
    --po-gray: #f8fafc;
    --po-border: #e2e8f0;
    --po-text: #334155;
    --po-text-light: #64748b;
    --po-highlight: #fef08a;
    --po-highlight-text: #854d0e;
}

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

/* Wstęp */
.po-diam-intro {
    background: #ffffff;
    border-radius: 16px;
    padding: 35px 40px;
    border: 1px solid var(--po-border);
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
}

.po-diam-intro::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 6px; height: 100%;
    background: linear-gradient(to bottom, var(--po-blue), var(--po-blue-dark));
}

.po-diam-intro h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    letter-spacing: -0.5px;
    color: var(--po-primary);
}

.po-diam-intro p {
    font-size: 17px;
    line-height: 1.7;
    color: var(--po-text);
    margin: 0;
}

.po-formula-box {
    display: inline-block;
    background: var(--po-blue-light);
    color: var(--po-blue-dark);
    padding: 6px 12px;
    border-radius: 8px;
    font-family: 'Courier New', Courier, monospace;
    font-weight: 800;
    letter-spacing: 1px;
    border: 1px solid #bae6fd;
    margin: 0 5px;
}

/* Interaktywny Moduł */
.po-diam-app {
    background: #ffffff;
    border: 1px solid var(--po-border);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 35px -10px rgba(14, 165, 233, 0.08);
    margin-bottom: 30px;
}

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

/* Lewa strona - Wybór i SVG */
.po-diam-selector {
    background: var(--po-gray);
    padding: 40px;
    border-right: 1px solid var(--po-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.po-diam-title {
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--po-text-light);
    margin-bottom: 25px;
    text-align: center;
    width: 100%;
}

.po-svg-pipe-container {
    width: 160px;
    height: 160px;
    position: relative;
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.po-pipe-outer {
    fill: #f1f5f9;
    stroke: #cbd5e1;
    stroke-width: 8;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.po-pipe-inner {
    fill: var(--po-blue);
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Radio Buttons */
.po-pipe-radios {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: 100%;
}

.po-pipe-radios label {
    background: #ffffff;
    border: 2px solid var(--po-border);
    border-radius: 12px;
    padding: 12px 10px;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    color: var(--po-text);
    transition: all 0.2s;
    user-select: none;
}

.po-pipe-radios input[type="radio"] {
    display: none;
}

.po-pipe-radios input[type="radio"]:checked + label {
    background: var(--po-blue-light);
    border-color: var(--po-blue);
    color: var(--po-blue-dark);
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.15);
}

/* Prawa strona - Dane */
.po-diam-data {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #ffffff;
}

.po-data-item {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dashed var(--po-border);
}

.po-data-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.po-data-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--po-text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.po-data-value {
    font-size: 32px;
    font-weight: 900;
    color: var(--po-primary);
    line-height: 1.1;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.po-data-unit {
    font-size: 18px;
    font-weight: 700;
    color: var(--po-text-light);
}

.po-data-value.po-highlight-val {
    color: var(--po-blue-dark);
}

/* Podsumowanie */
.po-diam-summary {
    background: var(--po-highlight);
    padding: 25px 35px;
    border-radius: 16px;
    border: 1px solid #fde047;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.po-diam-summary-icon {
    font-size: 32px;
    line-height: 1;
}

.po-diam-summary p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: var(--po-highlight-text);
    font-weight: 500;
}

.po-diam-summary a {
    color: #a16207;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .po-diam-grid {
        grid-template-columns: 1fr;
    }
    .po-diam-selector {
        border-right: none;
        border-bottom: 1px solid var(--po-border);
    }
    .po-diam-intro {
        padding: 25px;
    }
    .po-diam-summary {
        flex-direction: column;
        padding: 20px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#diameters",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "Jaka średnica rury ma największy wpływ na objętość instalacji?",
    "description": "Zestawienie średnic rur ogrzewania podłogowego (PEX/PERT 16, 17, 20, 25) i ich wpływu na pojemność wodną oraz opory hydrauliczne instalacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T11:55:00+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#dataset-diameters",
    "name": "Tabela pojemności wodnej dla różnych średnic rur PEX/PERT",
    "description": "Parametry techniczne rur: średnica wewnętrzna, objętość L/mb oraz estymowany zład na 100 m2 podłogi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "średnice rur w ogrzewaniu podłogowym",
      "pojemność rury pex 16",
      "pojemność rury pert 17",
      "pojemność rury pex 20",
      "zład wody na 100m2 podłogówki"
    ],
    "measurementTechnique": "Analiza geometryczna pola przekroju walca (V = π · r² · L) dla wyznaczenia pojemności hydraulicznej.",
    "mainEntity": [
      {
        "@type": "PropertyValue",
        "name": "PEX/AL/PEX 16x2.0",
        "value": "0.113",
        "unitText": "L/mb"
      },
      {
        "@type": "PropertyValue",
        "name": "PERT 17x2.0",
        "value": "0.133",
        "unitText": "L/mb"
      },
      {
        "@type": "PropertyValue",
        "name": "PEX/AL/PEX 20x2.0",
        "value": "0.201",
        "unitText": "L/mb"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#app-visualizer",
    "name": "Wizualizator Przekroju Rur PEX/PERT",
    "description": "Narzędzie interaktywne ilustrujące kwadratowy przyrost objętości wody w stosunku do zmiany średnicy wewnętrznej rury instalacyjnej.",
    "applicationCategory": "Narzędzie inżynieryjne HVAC",
    "operatingSystem": "Przeglądarka internetowa",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
        "@type": "Person",
        "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="po-diam-wrapper" id="po-security-diam">
    
    <div class="po-diam-intro">
        <h2>Jaka średnica rury ma największy wpływ na objętość instalacji?</h2>
        <p>Średnica wewnętrzna rury jest parametrem absolutnie krytycznym. Dlaczego? Ponieważ objętość rośnie w kwadracie promienia, zgodnie ze wzorem <span class="po-formula-box">V = π · r² · L</span>. Zmiana geometrii wydaje się niewielka na papierze, ale fizyka płynów jest bezlitosna: przejście z rury 16&#215;2,0 mm na 20&#215;2,0 mm przy tej samej długości pętli <strong>zwiększa ilość wody w układzie o ponad 77%</strong>.</p>
    </div>

    <div class="po-diam-app">
        <div class="po-diam-grid">
            
            <div class="po-diam-selector">
                <div class="po-diam-title">Przekrój Rury i Ilość Wody</div>
                
                <div class="po-svg-pipe-container">
                    <svg viewBox="0 0 100 100" width="100%" height="100%">
                        <circle id="svgPipeOuter" class="po-pipe-outer" cx="50" cy="50" r="32" />
                        <circle id="svgPipeInner" class="po-pipe-inner" cx="50" cy="50" r="24" />
                        <circle cx="50" cy="50" r="1.5" fill="#ffffff" opacity="0.8" />
                    </svg>
                </div>

                <div class="po-pipe-radios">
                    <input type="radio" id="p16" name="pipe_diam" value="16" checked>
                    <label for="p16">PEX 16&#215;2.0</label>

                    <input type="radio" id="p17" name="pipe_diam" value="17">
                    <label for="p17">PERT 17&#215;2.0</label>

                    <input type="radio" id="p20" name="pipe_diam" value="20">
                    <label for="p20">PEX 20&#215;2.0</label>

                    <input type="radio" id="p25" name="pipe_diam" value="25">
                    <label for="p25">PEX 25&#215;2.5</label>
                </div>
            </div>

            <div class="po-diam-data">
                
                <div class="po-data-item">
                    <div class="po-data-label">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg>
                        Średnica wewnętrzna (di)
                    </div>
                    <div class="po-data-value">
                        <span id="valDi">12</span> <span class="po-data-unit">mm</span>
                    </div>
                </div>

                <div class="po-data-item">
                    <div class="po-data-label">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
                        Pojemność wodna
                    </div>
                    <div class="po-data-value po-highlight-val">
                        <span id="valVol">0.113</span> <span class="po-data-unit">L / mb</span>
                    </div>
                </div>

                <div class="po-data-item">
                    <div class="po-data-label">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><path d="M3 9h18M9 21V9"/></svg>
                        Szacunkowy zład na 100 m² (rozstaw 15 cm)
                    </div>
                    <div class="po-data-value">
                        <span id="valTotal">75.7</span> <span class="po-data-unit" id="unitTotal">Litrów</span>
                    </div>
                </div>

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

    <div class="po-diam-summary">
        <div class="po-diam-summary-icon">⚖️</div>
        <p>
            Wybór <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">rury o większej średnicy</a> (np. 17 mm zamiast 16 mm) jest często podyktowany chęcią zmniejszenia oporów hydraulicznych w długich pętlach (powyżej 100 mb). Musisz jednak pamiętać, że wiąże się to z koniecznością zapewnienia wyższej mocy rozruchowej źródła ciepła, ze względu na znacznie większą masę wody do podgrzania.
        </p>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA ---
    const hostname = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(hostname)) {
        const wrap = document.getElementById('po-security-diam');
        if (wrap) {
            wrap.innerHTML = `<div style="padding: 40px; text-align: center; background: #fef2f2; color: #991b1b; border-radius: 16px; border: 2px dashed #f87171;">
                <div style="font-size: 24px; font-weight: bold; margin-bottom: 15px;">Błąd Praw Autorskich</div>
                <p style="font-size: 16px; line-height:1.6; margin-bottom: 25px;">Moduł wizualizacji przepływu jest własnością <strong>Projekt-Ogrzewania.pl</strong>. Osadzenie na tej domenie jest nielegalne.</p>
                <a href="https://projekt-ogrzewania.pl/" style="display:inline-block; background:#dc2626; color:white; padding:12px 25px; border-radius:8px; text-decoration:none; font-weight:bold;">Powrót do oryginału</a>
            </div>`;
        }
        return;
    }

    // --- LOGIKA WIZUALIZATORA ---
    const dataMap = {
        '16': { di: 12, vol: '0.113', total: '75.7', rOut: 32, rIn: 24 },
        '17': { di: 13, vol: '0.133', total: '89.1', rOut: 34, rIn: 26 },
        '20': { di: 16, vol: '0.201', total: '134.7', rOut: 40, rIn: 32 },
        '25': { di: 20, vol: '0.314', total: 'N/A', rOut: 48, rIn: 40, note: '(Rura Zasilająca)' }
    };

    const radios = document.querySelectorAll('input[name="pipe_diam"]');
    const valDi = document.getElementById('valDi');
    const valVol = document.getElementById('valVol');
    const valTotal = document.getElementById('valTotal');
    const unitTotal = document.getElementById('unitTotal');
    
    const svgOuter = document.getElementById('svgPipeOuter');
    const svgInner = document.getElementById('svgPipeInner');

    function animateValue(element, newValue) {
        element.style.opacity = 0;
        setTimeout(() => {
            element.textContent = newValue;
            element.style.opacity = 1;
        }, 200);
    }

    radios.forEach(radio => {
        radio.addEventListener('change', (e) => {
            const val = e.target.value;
            const data = dataMap[val];

            // Update text with fade effect
            valDi.style.transition = "opacity 0.2s";
            valVol.style.transition = "opacity 0.2s";
            valTotal.style.transition = "opacity 0.2s";

            animateValue(valDi, data.di);
            animateValue(valVol, data.vol);
            
            if(data.total === 'N/A') {
                animateValue(valTotal, data.total);
                unitTotal.textContent = data.note;
            } else {
                animateValue(valTotal, data.total);
                unitTotal.textContent = 'Litrów';
            }

            // Update SVG
            svgOuter.setAttribute('r', data.rOut);
            svgInner.setAttribute('r', data.rIn);
        });
    });
});
</script>



<style>
:root {
    --po-primary: #0f172a;
    --po-accent: #0ea5e9;
    --po-accent-dark: #0284c7;
    --po-bg: #f8fafc;
    --po-surface: #ffffff;
    --po-border: #e2e8f0;
    --po-text: #475569;
    --po-success: #10b981;
    --po-warning: #f59e0b;
    --po-danger: #ef4444;
}

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

/* Wprowadzenie */
.po-system-intro {
    background: var(--po-surface);
    border-radius: 20px;
    padding: 40px;
    border: 1px solid var(--po-border);
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    margin-bottom: 40px;
}

.po-system-intro h2 {
    font-size: 30px;
    font-weight: 900;
    margin: 0 0 20px 0;
    letter-spacing: -0.5px;
    color: var(--po-primary);
}

.po-system-intro p {
    font-size: 17px;
    line-height: 1.8;
    color: var(--po-text);
    margin-bottom: 15px;
}

.po-highlight-badge {
    background: #e0f2fe;
    color: var(--po-accent-dark);
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 700;
}

/* Kalkulator Bufora */
.po-buffer-app {
    background: var(--po-surface);
    border: 2px solid var(--po-border);
    border-radius: 24px;
    padding: 40px;
    margin-bottom: 40px;
    box-shadow: 0 20px 40px -15px rgba(14, 165, 233, 0.08);
}

.po-app-header {
    text-align: center;
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 35px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.po-app-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.po-app-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.po-control-box {
    background: var(--po-bg);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--po-border);
}

.po-control-header {
    display: flex;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 15px;
}

.po-control-val {
    color: var(--po-accent-dark);
    font-weight: 900;
    font-size: 18px;
}

input[type=range].po-slider-input {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}

input[type=range].po-slider-input::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    background: #cbd5e1;
    border-radius: 4px;
}

input[type=range].po-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background: var(--po-accent);
    cursor: pointer;
    margin-top: -8px;
    box-shadow: 0 3px 8px rgba(14, 165, 233, 0.4);
    transition: transform 0.1s;
}

input[type=range].po-slider-input::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

.po-app-viz {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #fafafa;
    border-radius: 16px;
    padding: 30px;
    border: 1px dashed var(--po-border);
}

.po-buffer-svg {
    width: 100px;
    height: 140px;
    margin-bottom: 20px;
}

.po-water-level {
    transition: height 0.4s ease, y 0.4s ease;
}

.po-status-number {
    font-size: 48px;
    font-weight: 900;
    line-height: 1;
    transition: color 0.3s;
}

.po-status-text {
    font-size: 13px;
    font-weight: 800;
    color: var(--po-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 5px;
    text-align: center;
}

.po-alert-badge {
    margin-top: 15px;
    font-size: 14px;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 8px;
    text-align: center;
}

/* Algorytm - Karty Kroków */
.po-section-title {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 20px 0;
    color: var(--po-primary);
}

.po-algorithm-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 50px;
}

.po-step-card {
    background: var(--po-surface);
    border: 1px solid var(--po-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 10px -5px rgba(0,0,0,0.02);
    position: relative;
    overflow: hidden;
    transition: transform 0.2s;
}

.po-step-card:hover {
    transform: translateY(-3px);
    border-color: var(--po-accent);
}

.po-step-number {
    background: var(--po-primary);
    color: #fff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 14px;
    margin-bottom: 15px;
}

.po-step-card h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 800;
}

.po-formula-display {
    background: var(--po-bg);
    color: var(--po-accent-dark);
    padding: 10px 15px;
    border-radius: 8px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 14px;
    font-weight: 700;
    border: 1px solid var(--po-border);
    margin: 10px 0;
    text-align: center;
}

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

/* Wpływ na Projekt */
.po-impact-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 50px;
}

.po-impact-box {
    background: var(--po-surface);
    border-left: 5px solid var(--po-accent);
    padding: 30px;
    border-radius: 0 16px 16px 0;
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.05);
}

.po-impact-box h3 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 900;
    display: flex;
    align-items: center;
    gap: 10px;
}

.po-impact-box p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--po-text);
    margin: 0 0 15px 0;
}

.po-impact-box p:last-child {
    margin-bottom: 0;
}

.po-impact-box a {
    color: var(--po-accent-dark);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.po-impact-box a:hover {
    color: var(--po-accent);
}

/* CTA */
.po-cta-banner {
    background: linear-gradient(135deg, var(--po-primary), #1e293b);
    border-radius: 20px;
    padding: 45px;
    text-align: center;
    color: #ffffff;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.4);
    position: relative;
    overflow: hidden;
}

.po-cta-banner::before {
    content: '';
    position: absolute;
    top: -50px;
    left: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.2) 0%, transparent 70%);
    border-radius: 50%;
}

.po-cta-banner h3 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    position: relative;
    z-index: 1;
}

.po-cta-banner p {
    font-size: 17px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0 auto 30px auto;
    max-width: 600px;
    position: relative;
    z-index: 1;
}

.po-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--po-accent);
    color: #ffffff;
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.4);
    position: relative;
    z-index: 1;
}

.po-cta-btn:hover {
    background: var(--po-accent-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(2, 132, 199, 0.5);
    color: #ffffff;
}

@media (max-width: 768px) {
    .po-app-layout, .po-impact-layout {
        grid-template-columns: 1fr;
    }
    .po-system-intro, .po-app-wrapper, .po-cta-banner {
        padding: 25px;
    }
    .po-cta-banner h3 {
        font-size: 24px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#kalkulacja-pompa-ciepla",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "Jak obliczyć zład wody dla pompy ciepła i bufora?",
    "description": "Zasady obliczania zładu odszraniania (defrostu) pompy ciepła wg normy PN-EN 14511. Pięciokrokowy algorytm obliczania objętości instalacji oraz zasady doboru osprzę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": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T12:15:00+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#dataset-termodynamika",
    "name": "Parametry termodynamiczne i projektowe instalacji HVAC",
    "description": "Algorytm 5 kroków oraz zestawienie wskaźników fizycznych wykorzystywanych w profesjonalnych arkuszach kalkulacyjnych OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zład wody dla pompy ciepła defrost",
      "pojemność bufora ciepła kalkulator",
      "algorytm objętości instalacji podłogowej",
      "dobór naczynia wzbiorczego zasady",
      "przepływ masowy pompy obiegowej wzór"
    ],
    "measurementTechnique": "Algorytm oparty na normie PN-EN 14511 (15 L/kW mocy cieplnej) oraz obliczeniach pola przekroju i przepływu masowego.",
    "mainEntity": [
      {
        "@type": "PropertyValue",
        "name": "Wymóg zładu dla odszraniania (PN-EN 14511)",
        "value": "10-15",
        "unitText": "L / kW"
      },
      {
        "@type": "PropertyValue",
        "name": "Rozszerzalność cieplna wody 10°C - 50°C",
        "value": "1.2",
        "unitText": "%"
      },
      {
        "@type": "PropertyValue",
        "name": "Ciepło właściwe wody (cp)",
        "value": "4186",
        "unitText": "J/(kg·K)"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#app-bufor",
    "name": "Kalkulator Wymaganego Bufora Ciepła (Defrost)",
    "description": "Narzędzie symulujące konieczność zastosowania bufora (sprzęgła hydraulicznego) w instalacji z pompą ciepła poprzez porównanie zładu krytycznego z rzeczywistą pojemnością rur.",
    "applicationCategory": "Kalkulator Inżynieryjny",
    "operatingSystem": "Web",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
        "@type": "Person",
        "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="po-system-container" id="po-system-auth">
    
    <div class="po-system-intro">
        <h2>Jak obliczyć zład wody dla pompy ciepła i bufora?</h2>
        <p>W nowoczesnych instalacjach opartych o <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a>, sama woda krążąca w &#8222;podłogówce&#8221; to często zbyt mała masa akumulacyjna. Jest ona niezbędna, by zapewnić kompresorowi stabilną pracę w trudnym procesie odmrażania parownika (defrost).</p>
        <p>Norma branżowa <strong>PN-EN 14511</strong> wyraźnie sugeruje, że dla poprawnego cyklu odszraniania, w instalacji powinno krążyć minimum <span class="po-highlight-badge">10–15 litrów wody na każdy 1 kW</span> mocy urządzenia.</p>
        <p>Niedoszacowanie objętości to prosty przepis na ciągłe &#8222;taktowanie&#8221;. Zbyt częste starty drastycznie skracają żywotność sprężarki i windują zużycie prądu o 15–20%. Koszt montażu <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">odpowiedniego bufora ciepła</a> (ok. 1200–1800 PLN) jest w tym wypadku niezbędną inwestycją w bezpieczeństwo i gwarancję urządzenia.</p>
    </div>

    <div class="po-buffer-app">
        <div class="po-app-header">Weryfikator Pojemności Odszraniania</div>
        
        <div class="po-app-layout">
            <div class="po-app-controls">
                <div class="po-control-box">
                    <div class="po-control-header">
                        <span>Moc pompy ciepła (Q):</span>
                        <span class="po-control-val"><span id="valHpPower">8</span> kW</span>
                    </div>
                    <input type="range" class="po-slider-input" id="sliderHpPower" min="4" max="16" step="1" value="8">
                    <div style="font-size: 12px; color: var(--po-text); margin-top: 8px;">Wymagany zład min.: ~15 L / kW</div>
                </div>

                <div class="po-control-box">
                    <div class="po-control-header">
                        <span>Powierzchnia pętli (15 cm):</span>
                        <span class="po-control-val"><span id="valFloorArea">100</span> m²</span>
                    </div>
                    <input type="range" class="po-slider-input" id="sliderFloorArea" min="40" max="250" step="5" value="100">
                    <div style="font-size: 12px; color: var(--po-text); margin-top: 8px;">Szacowana objętość: ~0.76 L / m²</div>
                </div>
            </div>

            <div class="po-app-viz">
                <svg class="po-buffer-svg" viewBox="0 0 100 120" xmlns="http://www.w3.org/2000/svg">
                    <rect x="20" y="10" width="60" height="100" rx="8" fill="none" stroke="#cbd5e1" stroke-width="5"/>
                    <rect x="10" y="30" width="10" height="8" fill="#cbd5e1"/>
                    <rect x="10" y="80" width="10" height="8" fill="#cbd5e1"/>
                    <rect x="80" y="30" width="10" height="8" fill="#cbd5e1"/>
                    <rect x="80" y="80" width="10" height="8" fill="#cbd5e1"/>
                    
                    <clipPath id="waterMaskBuf">
                        <rect x="23" y="13" width="54" height="94" rx="5"/>
                    </clipPath>
                    
                    <g clip-path="url(#waterMaskBuf)">
                        <rect id="bufWaterRect" class="po-water-level" x="23" y="107" width="54" height="0" fill="var(--po-accent)"/>
                        <path id="bufWaterWave" class="po-water-level" fill="#bae6fd" d="M23,107 Q36,102 50,107 T77,107 L77,107 L23,107 Z" opacity="0.7"/>
                    </g>
                </svg>

                <div class="po-status-number" id="txtDeficit">44</div>
                <div class="po-status-text" id="txtLabel">Brakujących Litrów (Bufor)</div>
                <div class="po-alert-badge" id="txtMsg" style="background: #fef2f2; color: var(--po-danger);">Wymagany montaż bufora</div>
            </div>
        </div>
    </div>

    <h3 class="po-section-title">Algorytm obliczania objętości instalacji</h3>
    <p style="margin-bottom: 25px; color: var(--po-text); line-height: 1.7;">Jako inżynier projektujący systemy HVAC, stosuję sformalizowany algorytm. Możesz z powodzeniem wdrożyć go we własnym arkuszu Excel:</p>

    <div class="po-algorithm-grid">
        <div class="po-step-card">
            <div class="po-step-number">1</div>
            <h4>Średnica wewnętrzna (d<sub>i</sub>)</h4>
            <div class="po-formula-display">d<sub>i</sub> = d<sub>zewn</sub> &#8211; (2 × ścianka)</div>
            <p>Dla typowej rury 16&#215;2: 16 &#8211; 4 = 12 mm (0,012 m).</p>
        </div>

        <div class="po-step-card">
            <div class="po-step-number">2</div>
            <h4>Pole przekroju (A)</h4>
            <div class="po-formula-display">A = π × (d<sub>i</sub> / 2)²</div>
            <p>Wynik dla rury 16 mm: 3,1415 × 0,006² = 0,0001131 m².</p>
        </div>

        <div class="po-step-card">
            <div class="po-step-number">3</div>
            <h4>Długość układu (L<sub>całk</sub>)</h4>
            <div class="po-formula-display">L = (Pow / Rozstaw) + Dob.</div>
            <p>Sumowanie długości bazując na zagęszczeniu pętli i dobiegach do rozdzielacza.</p>
        </div>

        <div class="po-step-card">
            <div class="po-step-number">4</div>
            <h4>Objętość pętli (V<sub>pętle</sub>)</h4>
            <div class="po-formula-display">V = A × L<sub>całk</sub> × 1000</div>
            <p>Iloczyn pola przekroju i długości, przekonwertowany na litry.</p>
        </div>

        <div class="po-step-card">
            <div class="po-step-number">5</div>
            <h4>Uwzględnienie osprzętu</h4>
            <div class="po-formula-display">V<sub>całk</sub> = V<sub>pętle</sub> + 10-15%</div>
            <p>Jeśli nie dysponujesz kartami katalogowymi, przyjmij 15% naddatku na urządzenia kotłowni.</p>
        </div>
    </div>

    <h3 class="po-section-title">Wpływ zładu na projekt ogrzewania</h3>
    <p style="margin-bottom: 25px; color: var(--po-text); line-height: 1.7;">Całkowita objętość układu jest ściśle skorelowana z dokumentacją OZC (Obciążeniem Cieplnym). Te litry determinują wymiarowanie dwóch kluczowych podzespołów hydraulicznych:</p>

    <div class="po-impact-layout">
        <div class="po-impact-box">
            <h3>🎈 Dobór naczynia wzbiorczego</h3>
            <p>Woda ogrzewana z temperatury 10°C do 50°C zwiększa swoją fizyczną objętość o ok. <strong>1,2%</strong>. Przykładowo, w instalacji 200-litrowej, <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynie wzbiorcze przeponowe</a> musi wchłonąć 2,4 litra ekspansji.</p>
            <p>Ze względów bezpieczeństwa pojemność użyteczna to max 50%. Dlatego dla zładu 200 L montuje się naczynia o pojemności nominalnej <strong>8–12 litrów</strong>.</p>
        </div>

        <div class="po-impact-box" style="border-left-color: var(--po-warning);">
            <h3 style="color: var(--po-warning);">⚙️ Pompa obiegowa a przepływ</h3>
            <p>Wysoki zład i niska różnica temperatur (np. <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">ΔT = 5 K</a>) wymuszają tłoczenie ogromnych mas wody. Korzystamy ze wzoru: <strong>ṁ = Q / (c<sub>p</sub> · ΔT)</strong>.</p>
            <p>Dla zapotrzebowania 7 kW: 7000W / (4186 J/kgK · 5K) daje nam ok. 0,33 kg/s, co przekłada się na <strong>1,2 m³/h</strong>. Obsłużenie takiego zładu wymaga starannego wytypowania <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">odpowiedniej pompy obiegowej</a>.</p>
        </div>
    </div>

    <div class="po-cta-banner">
        <h3>Nie zgaduj, zainwestuj w pewność</h3>
        <p>Błędy w obliczeniach zładu wody, oporów i wydajności pomp mszczą się przez lata w postaci wyższych rachunków za prąd i awarii sprzętu. Zleć to ekspertom i śpij spokojnie.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="po-cta-btn">
            Zamów profesjonalny projekt podłogówki
            <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="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA KODU ---
    const allowedHosts = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowedHosts.includes(window.location.hostname)) {
        const wrap = document.getElementById('po-system-auth');
        if (wrap) {
            wrap.innerHTML = `<div style="padding: 40px; text-align: center; background: #fff1f2; color: #9f1239; border-radius: 20px; border: 2px dashed #f43f5e;">
                <h3 style="font-size: 24px; margin: 0 0 15px 0;">Moduł Chroniony Licencją</h3>
                <p style="font-size: 16px; margin-bottom: 25px;">Kalkulator bufora pompy ciepła to autorskie narzędzie serwisu Projekt-Ogrzewania.pl. Osadzenie zablokowane.</p>
                <a href="https://projekt-ogrzewania.pl/" style="display:inline-block; padding:12px 25px; background:#e11d48; color:#fff; border-radius:8px; text-decoration:none; font-weight:800;">Wróć do źródła</a>
            </div>`;
        }
        return;
    }

    // --- LOGIKA KALKULATORA DEFROSTU ---
    const sPower = document.getElementById('sliderHpPower');
    const valPower = document.getElementById('valHpPower');
    const sArea = document.getElementById('sliderFloorArea');
    const valArea = document.getElementById('valFloorArea');
    
    const resDeficit = document.getElementById('txtDeficit');
    const resLabel = document.getElementById('txtLabel');
    const resMsg = document.getElementById('txtMsg');
    
    const bufWater = document.getElementById('bufWaterRect');
    const bufWave = document.getElementById('bufWaterWave');

    function executeBufferCalc() {
        const power = parseFloat(sPower.value);
        const area = parseFloat(sArea.value);
        
        valPower.textContent = power;
        valArea.textContent = area;

        // Wymóg normy 14511: 15L na kW mocy (zakładamy górną bezpieczną granicę z tekstu 10-15)
        const requiredLiters = power * 15;
        
        // Zład instalacji: z tekstu "rozstaw 15cm na 100m2 ma 76 litrów" -> 0.76 L/m2
        const systemLiters = area * 0.76;
        
        const deficit = Math.max(0, requiredLiters - systemLiters);
        const missing = Math.ceil(deficit);
        
        resDeficit.textContent = missing;
        
        if (missing > 0) {
            resDeficit.style.color = "var(--po-danger)";
            resLabel.textContent = "Brakujących litrów (Wymagany Bufor)";
            resMsg.textContent = "Wymagany montaż bufora ciepła";
            resMsg.style.background = "#fef2f2";
            resMsg.style.color = "var(--po-danger)";
            
            // Wysokość wody SVG (max 94px). Zakładamy max deficyt ok 200L do skali
            const percent = Math.min(1, missing / 200); 
            const h = 94 * percent;
            const y = 107 - h;
            
            bufWater.setAttribute('height', h);
            bufWater.setAttribute('y', y);
            bufWave.setAttribute('d', `M23,${y} Q36,${y-4} 50,${y} T77,${y} L77,107 L23,107 Z`);
            bufWave.style.opacity = "0.8";
            
        } else {
            resDeficit.style.color = "var(--po-success)";
            resDeficit.textContent = "OK";
            resLabel.textContent = "Zład Optymalny";
            resMsg.textContent = "Podłogówka wystarczy do odszraniania";
            resMsg.style.background = "#ecfdf5";
            resMsg.style.color = "var(--po-success)";
            
            bufWater.setAttribute('height', 0);
            bufWater.setAttribute('y', 107);
            bufWave.style.opacity = "0";
        }
    }

    sPower.addEventListener('input', executeBufferCalc);
    sArea.addEventListener('input', executeBufferCalc);

    // Initial run
    executeBufferCalc();
});
</script>



<style>
:root {
    --err-primary: #0f172a;
    --err-accent: #f59e0b; /* Kolor ostrzegawczy - bursztynowy */
    --err-danger: #ef4444;
    --err-bg: #fffcf5;
    --err-surface: #ffffff;
    --err-border: #fde68a;
    --err-text: #334155;
    --err-text-light: #64748b;
}

.po-errors-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--err-primary);
}

/* Header modułu */
.po-errors-header {
    background: #ffffff;
    border-radius: 20px;
    padding: 40px;
    border: 1px solid var(--err-border);
    box-shadow: 0 10px 30px -10px rgba(245, 158, 11, 0.1);
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
}

.po-errors-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 8px; height: 100%;
    background: linear-gradient(to bottom, var(--err-accent), var(--err-danger));
}

.po-errors-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    letter-spacing: -0.5px;
}

.po-errors-header p {
    font-size: 17px;
    line-height: 1.8;
    color: var(--err-text);
    margin: 0;
}

/* Grid błędów */
.po-errors-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.po-error-card {
    background: var(--err-surface);
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 30px 25px;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: help;
    position: relative;
}

.po-error-card:hover {
    transform: translateY(-8px);
    border-color: var(--err-accent);
    box-shadow: 0 20px 25px -5px rgba(245, 158, 11, 0.15);
}

.po-error-card h4 {
    font-size: 16px;
    font-weight: 800;
    margin: 20px 0 12px 0;
    color: var(--err-primary);
    line-height: 1.4;
}

.po-error-card p {
    font-size: 14px;
    color: var(--err-text-light);
    line-height: 1.6;
    margin: 0;
}

/* SVG Animacje */
.po-svg-icon {
    width: 60px;
    height: 60px;
    color: var(--err-accent);
}

@keyframes pulse-warning {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.1); opacity: 0.8; }
    100% { transform: scale(1); opacity: 1; }
}
.anim-pulse { animation: pulse-warning 2s infinite ease-in-out; }

@keyframes rotate-gear {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.anim-rotate { transform-origin: center; animation: rotate-gear 8s linear infinite; }

/* Tooltip/Detail Box */
.po-error-detail {
    grid-column: 1 / -1;
    background: var(--err-bg);
    border: 1px solid var(--err-border);
    border-radius: 16px;
    padding: 25px 30px;
    margin-top: 10px;
    display: none;
    animation: slideInDown 0.4s ease-out;
}

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

.po-error-detail h5 {
    color: #92400e;
    font-weight: 900;
    margin: 0 0 10px 0;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1px;
}

.po-error-detail p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #854d0e;
}

.po-error-detail strong { color: var(--err-primary); }

@media (max-width: 768px) {
    .po-errors-grid { grid-template-columns: 1fr; }
    .po-errors-header { padding: 30px 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#errors-section",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "Najczęstsze błędy przy szacowaniu ilości wody w podłogówce",
    "description": "Ekspercka analiza błędów przy obliczaniu zładu wody. Dowiedz się, dlaczego instalatorzy mylą się o 50% i jak uniknąć awarii 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": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T12:35:00+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#dataset-errors",
    "name": "Wpływ błędów obliczeniowych na parametry zładu",
    "description": "Zestawienie techniczne objętości rur PP oraz różnic w rozszerzalności cieplnej glikolu i wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy instalatorów podłogówka",
      "pojemność rury PP 32mm",
      "rozszerzalność glikolu w ogrzewaniu",
      "średnica wewnętrzna PE-RT vs PEX",
      "naczynie wzbiorcze do glikolu"
    ],
    "measurementTechnique": "Analiza inżynierska na bazie 1000+ projektów HVAC i pomiarów rzeczywistych zładów instalacji.",
    "mainEntity": [
      {
        "@type": "PropertyValue",
        "name": "Pojemność rury PP 32 mm",
        "value": "0.38",
        "unitText": "L/mb"
      },
      {
        "@type": "PropertyValue",
        "name": "Naddatek naczynia wzbiorczego dla glikolu",
        "value": "20-25",
        "unitText": "%"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#error-explorer",
    "name": "Eksplorator Błędów Projektowych HVAC",
    "description": "Interaktywny moduł edukacyjny symulujący skutki błędnego szacowania objętości wody w układach płaszczyznowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="po-errors-container" id="po-err-auth">
    
    <div class="po-errors-header">
        <h2>Najczęstsze błędy przy szacowaniu ilości wody</h2>
        <p>Z mojego doświadczenia wynika, że instalatorzy działający &#8222;na oko&#8221; popełniają błędy sięgające <strong>30–50% rzeczywistej objętości</strong>. Taka pomyłka to nie tylko statystyka – to ryzyko awaryjnego wyłączenia kotłowni w środku zimy. Kliknij w kartę, aby poznać szczegóły techniczne.</p>
    </div>

    <div class="po-errors-grid">
        
        <div class="po-error-card" onclick="toggleError('err1')">
            <div class="po-svg-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                    <path class="anim-pulse" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
                </svg>
            </div>
            <h4>Pomijanie rur przesyłowych</h4>
            <p>Najczęstszy &#8222;grzech&#8221; projektowy – liczenie tylko rur w pętlach pokojowych.</p>
        </div>

        <div class="po-error-card" onclick="toggleError('err2')">
            <div class="po-svg-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                    <circle cx="12" cy="12" r="10"/>
                    <circle class="anim-rotate" cx="12" cy="12" r="4" stroke-dasharray="4 2"/>
                    <path d="M12 2v2m0 16v2M2 12h2m16 0h2"/>
                </svg>
            </div>
            <h4>Grubość ścianki rury</h4>
            <p>Pomyłka w typie materiału rury (PE-RT vs PEX) zmienia średnicę wewnętrzną.</p>
        </div>

        <div class="po-error-card" onclick="toggleError('err3')">
            <div class="po-svg-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                    <path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/>
                </svg>
            </div>
            <h4>Brak uwzględnienia glikolu</h4>
            <p>Glikol to inna fizyka rozszerzalności cieplnej niż czysta woda.</p>
        </div>

        <div id="err1" class="po-error-detail">
            <h5>Analiza Inżynierska:</h5>
            <p>Często zapomina się o odcinkach łączących rozdzielacz z kotłownią. Rura PP 32 mm ma pojemność ok. <strong>0,38 L/mb</strong>. Przy 10 metrach (zasilanie + powrót) to dodatkowe <strong>7,6 litra</strong>, czyli tyle, co cała pętla w małej łazience. To krytyczne przy doborze <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacza</a> i pompy.</p>
        </div>

        <div id="err2" class="po-error-detail">
            <h5>Analiza Inżynierska:</h5>
            <p>Rury <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/">PE-RT typu II</a> bywają cieńsze od rur wielowarstwowych, co zwiększa ich średnicę wewnętrzną i objętość o ok. <strong>5–8%</strong>. Przy domu 150m2 taka różnica to nawet 10 litrów błędu w obliczeniach zładu.</p>
        </div>

        <div id="err3" class="po-error-detail">
            <h5>Analiza Inżynierska:</h5>
            <p>Jeśli instalacja pracuje na <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/">glikolu</a> (np. w domkach letniskowych), pamiętaj, że ma on wyższą rozszerzalność cieplną. Wymaga to montażu <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynia wzbiorczego</a> większego o ok. <strong>20–25%</strong> w stosunku do wody.</p>
        </div>

    </div>
</div>

<script>
function toggleError(id) {
    const details = document.querySelectorAll('.po-error-detail');
    const target = document.getElementById(id);
    const isVisible = target.style.display === 'block';

    details.forEach(d => d.style.display = 'none');
    
    if (!isVisible) {
        target.style.display = 'block';
    }
}

document.addEventListener('DOMContentLoaded', function() {
    const host = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(host)) {
        const wrapper = document.getElementById('po-err-auth');
        if (wrapper) {
            wrapper.innerHTML = `<div style="padding: 40px; text-align: center; background: #fff1f2; color: #9f1239; border-radius: 20px; border: 2px dashed #f43f5e;">
                <h3 style="font-size: 24px; margin-bottom: 15px; font-weight: 900;">BŁĄD AUTORYZACJI TREŚCI</h3>
                <p>Ten ekspercki moduł edukacyjny jest własnością intelektualną <strong>Projekt-Ogrzewania.pl</strong>. Nieautoryzowane kopiowanie jest zabronione.</p>
                <a href="https://projekt-ogrzewania.pl/" style="display:inline-block; margin-top:20px; background:#e11d48; color:#fff; padding:12px 25px; border-radius:8px; text-decoration:none; font-weight:bold;">ZOBACZ ORYGINAŁ</a>
            </div>`;
        }
    }
});
</script>



<style>
:root {
    --faq-primary: #0f172a;
    --faq-accent: #0ea5e9;
    --faq-accent-dark: #0284c7;
    --faq-accent-light: #f0f9ff;
    --faq-bg: #f8fafc;
    --faq-surface: #ffffff;
    --faq-border: #e2e8f0;
    --faq-text: #475569;
    --faq-hover: #f1f5f9;
}

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

.po-faq-header {
    text-align: center;
    margin-bottom: 40px;
    padding: 0 20px;
}

.po-faq-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    letter-spacing: -0.5px;
    color: var(--faq-primary);
}

.po-faq-header p {
    font-size: 17px;
    line-height: 1.7;
    color: var(--faq-text);
    max-width: 700px;
    margin: 0 auto;
}

/* Interaktywny Moduł FAQ */
.po-faq-interactive-wrapper {
    background: var(--faq-surface);
    border: 1px solid var(--faq-border);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(14, 165, 233, 0.08);
    overflow: hidden;
}

/* Przełączniki kategorii (Filtry) */
.po-faq-filters {
    background: var(--faq-bg);
    padding: 20px 30px;
    border-bottom: 1px solid var(--faq-border);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.po-faq-filter-radio {
    display: none;
}

.po-faq-filter-label {
    padding: 10px 20px;
    background: #ffffff;
    border: 2px solid var(--faq-border);
    border-radius: 30px;
    font-size: 14px;
    font-weight: 700;
    color: var(--faq-text);
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    user-select: none;
}

.po-faq-filter-radio:checked + .po-faq-filter-label {
    background: var(--faq-accent-light);
    border-color: var(--faq-accent);
    color: var(--faq-accent-dark);
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.15);
}

.po-faq-filter-label svg {
    width: 16px;
    height: 16px;
    transition: transform 0.3s;
}

.po-faq-filter-radio:checked + .po-faq-filter-label svg {
    transform: scale(1.2);
}

/* Lista Akordeonów */
.po-faq-list {
    padding: 20px 30px;
}

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

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

.po-faq-item.is-hidden {
    display: none;
}

.po-faq-question {
    padding: 22px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    background: #ffffff;
    transition: background 0.2s;
}

.po-faq-question:hover {
    background: var(--faq-hover);
}

.po-faq-item.is-active {
    border-color: var(--faq-accent);
    box-shadow: 0 4px 15px rgba(14, 165, 233, 0.05);
}

.po-faq-item.is-active .po-faq-question {
    background: var(--faq-accent-light);
}

.po-faq-q-text {
    font-size: 16px;
    font-weight: 800;
    color: var(--faq-primary);
    padding-right: 20px;
    line-height: 1.4;
}

.po-faq-icon-toggle {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--faq-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--faq-accent);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s;
}

.po-faq-item.is-active .po-faq-icon-toggle {
    transform: rotate(180deg);
    background: var(--faq-accent);
    color: #ffffff;
}

.po-faq-answer {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-out;
}

.po-faq-item.is-active .po-faq-answer {
    opacity: 1;
}

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

.po-faq-item.is-active .po-faq-answer-inner {
    border-top-color: var(--faq-border);
    margin-top: 5px;
    padding-top: 20px;
}

.po-faq-answer-inner p {
    margin: 0 0 15px 0;
}

.po-faq-answer-inner p:last-child {
    margin-bottom: 0;
}

.po-faq-answer-inner a {
    color: var(--faq-accent-dark);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--faq-accent-dark);
    transition: all 0.2s;
}

.po-faq-answer-inner a:hover {
    color: var(--faq-accent);
    border-bottom-style: solid;
}

/* Stylizowany marker wiedzy w odpowiedzi */
.po-faq-insight {
    display: flex;
    gap: 12px;
    background: var(--faq-bg);
    padding: 15px;
    border-radius: 12px;
    margin-top: 15px;
    border-left: 4px solid var(--faq-accent);
}

.po-faq-insight-icon {
    font-size: 20px;
    flex-shrink: 0;
}

.po-faq-insight-text {
    font-size: 14px;
    color: var(--faq-primary);
    font-weight: 500;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .po-faq-filters { padding: 15px; }
    .po-faq-list { padding: 15px; }
    .po-faq-filter-label { padding: 8px 15px; font-size: 13px; }
    .po-faq-question { padding: 18px 20px; }
    .po-faq-answer-inner { padding: 0 20px 20px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#faq-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "FAQ - Często zadawane pytania o zład wody w ogrzewaniu podłogowym",
    "description": "Baza wiedzy dotycząca parametrów chemicznych i hydraulicznych zładu wody. Problemy z napełnianiem, glikolem i wydajnością pomp ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T12:12:58+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy napełnienie podłogówki zwykłą wodą z kranu jest bezpieczne dla instalacji?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, woda wodociągowa jest wysoce napowietrzona i bogata w związki wapnia oraz magnezu. Zastosowanie surowej wody z kranu skutkuje wytrącaniem się kamienia kotłowego (zmniejszenie przepływów) oraz korozją tlenową elementów mosiężnych i stalowych. Zawsze rekomenduję użycie wody zdemineralizowanej z domieszką profesjonalnego inhibitora korozji (np. Fernox lub Sentinel). Koszt chemii dla zładu rzędu 100 litrów to zaledwie 300–500 PLN, co stanowi ułamek kosztów wymiany uszkodzonego wymiennika ciepła w pompie."
        }
      },
      {
        "@type": "Question",
        "name": "Ile litrów wody 'znika' w trakcie pierwszego uruchomienia i odpowietrzania układu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Podczas pierwszego tłoczenia płynu, instalację napełnia się zazwyczaj do osiągnięcia ciśnienia na poziomie 1,5–2,0 bar. Jednakże pętle podłogowe zawierają ogromne ilości mikropęcherzyków powietrza. W procesie wielokrotnego przepłukiwania pętli i działania odpowietrzników automatycznych na rozdzielaczu, ciśnienie drastycznie spada. Z reguły instalator musi dolać (uzupełnić) od 2 do nawet 5 litrów wody w ciągu pierwszych dwóch tygodni rozruchu."
        }
      },
      {
        "@type": "Question",
        "name": "Jak precyzyjnie sprawdzić, czy zład wody w podłogówce wystarczy do odszraniania pompy ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Kluczem jest karta katalogowa urządzenia. W dokumentacji technicznej producent (DTR) zawsze określa minimalny zład roboczy, zazwyczaj w przedziale 10-15 litrów na każdy 1 kW mocy cieplnej. Jeśli z precyzyjnych obliczeń wynika, że Twoje pętle grzewcze i przyłącza mieszją łącznie np. 80 litrów, a Twoja pompa 9 kW wymaga minimum 110 litrów do bezpiecznego defrostu, absolutnie konieczny staje się montaż zasobnika buforowego (np. 50L) pełniącego funkcję sprzęgła hydraulicznego na powrocie."
        }
      },
      {
        "@type": "Question",
        "name": "Czy przy zastosowaniu glikolu w domku letniskowym objętość zładu oblicza się inaczej?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Sama pojemność geometryczna rur (w litrach) pozostaje taka sama, jednak płyny niezamarzające na bazie glikolu propylenowego charakteryzują się zupełnie innymi parametrami termodynamicznymi. Glikol jest bardziej lepki, ma niższą pojemność cieplną i wyższą rozszerzalność objętościową niż woda. Z inżynieryjnego punktu widzenia oznacza to konieczność przeprojektowania krzywych przepływu dla pomp obiegowych oraz – co najważniejsze – dobrania naczynia wzbiorczego o pojemności większej o około 20-25% w porównaniu do standardowej instalacji wodnej."
        }
      },
      {
        "@type": "Question",
        "name": "Co się dzieje, gdy wykonawca 'dla pewności' zastosuje wszędzie rury o średnicy 20 mm?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Przewymiarowanie średnic (stosowanie PEX 20 mm w standardowych strefach zamiast 16 mm) to ogromny błąd, drastycznie zawyżający zład układu – niemal go podwajając (z 0,113 L/mb na 0,201 L/mb). Powoduje to ogromną bezwładność termiczną; podłoga będzie reagowała na zmiany zadanej temperatury przez wiele godzin. Taki układ całkowicie burzy precyzję sterowania pogodowego i wymusza stosowanie nieproporcjonalnie dużych naczyń przeponowych oraz drogich, przemysłowych pomp obiegowych w niewielkim budynku."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#dataset-faq",
    "name": "Problemy eksploatacyjne i fizyka płynów instalacyjnych",
    "description": "Zbiór danych jakościowych i ilościowych dotyczących wpływu chemii instalacyjnej oraz geometrii układu na trwałość armatury.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy można napełnić podłogówkę wodą z kranu",
      "odpowietrzanie ogrzewania podłogowego ubytek wody",
      "minimalny zład do odszraniania pompy ciepła",
      "zastosowanie glikolu w podłogówce",
      "skutki przewymiarowania rur podłogowych"
    ],
    "measurementTechnique": "Wiedza ekspercka oparta na diagnozie usterek oraz analizie norm technicznych producentów pomp ciepła.",
    "mainEntity": [
      {
        "@type": "PropertyValue",
        "name": "Wymagany naddatek naczynia dla glikolu",
        "value": "+20 do +25",
        "unitText": "%"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#faq-explorer",
    "name": "Eksplorator Bazy Wiedzy (FAQ) o Zładzie Wodnym",
    "description": "Interaktywny panel ułatwiający filtrowanie i przeglądanie eksperckich odpowiedzi na złożone zagadnienia hydrauliczne w podłogówce.",
    "applicationCategory": "Baza Wiedzy / FAQ Explorer",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
        "@type": "Person",
        "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="po-faq-container" id="po-faq-auth">
    
    <div class="po-faq-header">
        <h2>FAQ &#8211; Eksperckie odpowiedzi na trudne pytania</h2>
        <p>Precyzyjne zaplanowanie zładu to dopiero początek. W trakcie <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próby szczelności</a> i pierwszego rozruchu instalacji, inwestorzy zadają mi dziesiątki pytań. Oto 5 kluczowych zagadnień, których znajomość ratuje przed kosztownymi awariami.</p>
    </div>

    <div class="po-faq-interactive-wrapper">
        
        <div class="po-faq-filters">
            <input type="radio" name="faq_filter" id="filter_all" value="all" class="po-faq-filter-radio" checked>
            <label for="filter_all" class="po-faq-filter-label">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 6h16M4 12h16M4 18h16"/></svg>
                Wszystkie pytania
            </label>

            <input type="radio" name="faq_filter" id="filter_chemia" value="chemia" class="po-faq-filter-radio">
            <label for="filter_chemia" class="po-faq-filter-label">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 16v-8l-2 2m4 0-2-2"/></svg>
                Jakość płynu (Chemia)
            </label>

            <input type="radio" name="faq_filter" id="filter_pompa" value="pompa" class="po-faq-filter-radio">
            <label for="filter_pompa" class="po-faq-filter-label">
                <svg 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>
                Pompy Ciepła i Hydraulika
            </label>
        </div>

        <div class="po-faq-list">
            
            <div class="po-faq-item" data-category="chemia">
                <div class="po-faq-question">
                    <span class="po-faq-q-text">Czy napełnienie podłogówki zwykłą wodą z kranu jest bezpieczne dla instalacji?</span>
                    <div class="po-faq-icon-toggle">
                        <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>
                    </div>
                </div>
                <div class="po-faq-answer">
                    <div class="po-faq-answer-inner">
                        <p><strong>Zdecydowanie nie.</strong> Woda wodociągowa (&#8222;kranówka&#8221;) jest wysoce napowietrzona i bogata w jony wapnia, magnezu oraz chlorki. Wprowadzenie jej do nowoczesnego systemu, pełnego mosiężnych rozdzielaczy i stalowych wymienników, inicjuje błyskawiczny proces korozji tlenowej i wytrącania się kamienia kotłowego.</p>
                        <p>Osadzający się kamień potrafi w ciągu dwóch sezonów drastycznie zawęzić przekroje zaworów i rotametrów, dławiąc przepływy. Jako ekspert, zawsze rekomenduję napełnianie zładu wyłącznie <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/">wodą zdemineralizowaną wzbogaconą o inhibitor korozji</a>. Koszt profesjonalnej chemii (np. Fernox lub Sentinel) dla przeciętnego domu to wydatek rzędu 300–500 PLN. To zaledwie ułamek kwoty, jaką zapłacisz za wymianę uszkodzonego wymiennika płytowego w pompie ciepła.</p>
                    </div>
                </div>
            </div>

            <div class="po-faq-item" data-category="pompa">
                <div class="po-faq-question">
                    <span class="po-faq-q-text">Ile litrów wody &#8222;znika&#8221; w trakcie pierwszego uruchomienia i odpowietrzania układu?</span>
                    <div class="po-faq-icon-toggle">
                        <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>
                    </div>
                </div>
                <div class="po-faq-answer">
                    <div class="po-faq-answer-inner">
                        <p>Fizycznie woda nie &#8222;znika&#8221;, ale ustępuje miejsca usuwanemu powietrzu. Instalację płaszczyznową standardowo nabija się do ciśnienia statycznego 1,5–2,0 bar. Jednakże nowo zalane pętle, z racji swojej struktury (wiele zakrętów), magazynują ogromne ilości uwięzionych mikropęcherzyków powietrza.</p>
                        <p>Kiedy uruchamiamy pompy obiegowe i otwieramy <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">odpowietrzniki na rozdzielaczach</a>, pęcherze są wypychane na zewnątrz, a ciśnienie w manometrze spada. W ciągu pierwszych dwóch tygodni wygrzewania wylewek normą jest konieczność dopuszczenia (dolania) od <strong>2 do nawet 5 litrów</strong> nowego płynu instalacyjnego, aby ustabilizować parametry robocze.</p>
                    </div>
                </div>
            </div>

            <div class="po-faq-item" data-category="pompa">
                <div class="po-faq-question">
                    <span class="po-faq-q-text">Jak precyzyjnie sprawdzić, czy zład wody w podłogówce wystarczy do odszraniania pompy ciepła?</span>
                    <div class="po-faq-icon-toggle">
                        <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>
                    </div>
                </div>
                <div class="po-faq-answer">
                    <div class="po-faq-answer-inner">
                        <p>Głównym punktem odniesienia jest zawsze DTR (Dokumentacja Techniczno-Ruchowa) producenta Twojego urządzenia. Odszukaj parametr &#8222;minimalny zład wody&#8221;. Większość producentów opiera się na normatywnym przeliczniku od <strong>10 do 15 litrów pojemności na każdy 1 kW</strong> mocy nominalnej kompresora.</p>
                        <p>Jeśli <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/">ogrzewanie podłogowe jest jedynym źródłem ciepła</a>, a Twój obliczony z pętli zład to 80 litrów, natomiast wytyczne dla Twojej pompy 9 kW wymagają min. 110 litrów do bezpiecznego &#8222;defrostu&#8221; – instalacja w takim stanie stwarza ryzyko awarii. Bezwzględnie musisz zaprojektować dodatkowy bufor wpinany szeregowo na powrocie (tzw. sprzęgło hydrauliczne) by zwiększyć masę akumulacyjną zładu.</p>
                    </div>
                </div>
            </div>

            <div class="po-faq-item" data-category="chemia">
                <div class="po-faq-question">
                    <span class="po-faq-q-text">Czy przy zastosowaniu glikolu w domku letniskowym objętość zładu oblicza się inaczej?</span>
                    <div class="po-faq-icon-toggle">
                        <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>
                    </div>
                </div>
                <div class="po-faq-answer">
                    <div class="po-faq-answer-inner">
                        <p>Objętość geometryczna w rurach mierzona w litrach nie ulega zmianie, ale zastosowanie <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/">roztworu glikolu</a> wywraca do góry nogami zasady doboru osprzętu wokół tego zładu.</p>
                        <p>Glikol ma niższą pojemność cieplną od wody (gorzej przenosi energię) i jest znacznie bardziej lepki, co wymusza przewymiarowanie pomp obiegowych. Co gorsza, ma <strong>wyższą rozszerzalność objętościową</strong> pod wpływem temperatury. Pamiętaj, że zład rzędu 150 litrów oparty o glikol będzie wymagał naczynia wzbiorczego (przeponowego) o pojemności całkowitej średnio <strong>o 20 do 25% większej</strong>, niż w przypadku instalacji napełnionej standardowo wodą demineralizowaną.</p>
                    </div>
                </div>
            </div>

            <div class="po-faq-item" data-category="pompa">
                <div class="po-faq-question">
                    <span class="po-faq-q-text">Co się dzieje, gdy instalator &#8222;na oko&#8221; przewymiaruje średnice rur (np. 20 mm wszędzie)?</span>
                    <div class="po-faq-icon-toggle">
                        <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>
                    </div>
                </div>
                <div class="po-faq-answer">
                    <div class="po-faq-answer-inner">
                        <p>To niestety spotykana &#8222;partyzantka&#8221; na budowach. Zmiana rury z 16 mm na 20 mm w strefach, które tego nie wymagają, drastycznie zawyża całkowity zład instalacji. Z 0,113 L/mb skaczemy nagle na 0,201 L/mb w każdej pętli.</p>
                        <div class="po-faq-insight">
                            <span class="po-faq-insight-icon">⚠️</span>
                            <span class="po-faq-insight-text">
                                Gigantyczna masa zładu powoduje ekstremalną bezwładność termiczną. Podłoga reaguje na zmianę nastaw w termostacie z kilkunastogodzinnym opóźnieniem. Taka ociężała instalacja całkowicie zaburza optymalizację krzywej grzewczej sterowania pogodowego i wymusza na inwestorze zakup przewymiarowanych naczyń wzbiorczych.
                            </span>
                        </div>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA ---
    const hostname = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(hostname)) {
        const wrap = document.getElementById('po-faq-auth');
        if (wrap) {
            wrap.innerHTML = `<div style="padding: 40px; text-align: center; background: #fff1f2; color: #9f1239; border-radius: 20px; border: 2px dashed #f43f5e;">
                <div style="font-size: 22px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Prawa Autorskie Zastrzeżone</div>
                <p style="font-size: 16px; line-height: 1.6; margin-bottom: 20px;">Ten interaktywny moduł FAQ jest własnością <strong>Projekt-Ogrzewania.pl</strong>. Użycie na obcej domenie jest nielegalne.</p>
                <a href="https://projekt-ogrzewania.pl/" style="display:inline-block; padding:10px 25px; background:#e11d48; color:#fff; border-radius:8px; text-decoration:none; font-weight:800;">Wróć do źródła</a>
            </div>`;
        }
        return;
    }

    // --- LOGIKA AKORDEONÓW (FAQ) ---
    const faqItems = document.querySelectorAll('.po-faq-item');
    
    faqItems.forEach(item => {
        const question = item.querySelector('.po-faq-question');
        const answer = item.querySelector('.po-faq-answer');
        
        question.addEventListener('click', () => {
            const isActive = item.classList.contains('is-active');
            
            // Zamknij wszystkie pozostałe
            faqItems.forEach(otherItem => {
                if(otherItem !== item && otherItem.classList.contains('is-active')) {
                    otherItem.classList.remove('is-active');
                    otherItem.querySelector('.po-faq-answer').style.maxHeight = null;
                }
            });
            
            // Otwórz / Zamknij kliknięty
            if (!isActive) {
                item.classList.add('is-active');
                answer.style.maxHeight = answer.scrollHeight + 50 + "px"; // + buffer
            } else {
                item.classList.remove('is-active');
                answer.style.maxHeight = null;
            }
        });
    });

    // --- LOGIKA FILTRÓW (WEB APPLICATION) ---
    const filters = document.querySelectorAll('.po-faq-filter-radio');
    
    filters.forEach(filter => {
        filter.addEventListener('change', (e) => {
            const val = e.target.value;
            
            faqItems.forEach(item => {
                // reset state
                item.classList.remove('is-active');
                item.querySelector('.po-faq-answer').style.maxHeight = null;

                if (val === 'all') {
                    item.classList.remove('is-hidden');
                } else {
                    if (item.getAttribute('data-category') === val) {
                        item.classList.remove('is-hidden');
                    } else {
                        item.classList.add('is-hidden');
                    }
                }
            });
        });
    });
});
</script>



<style>
:root {
    --cs-primary: #0f172a;
    --cs-accent: #0ea5e9;
    --cs-pipe20: #ef4444; /* Czerwony dla błędu/przewymiarowania */
    --cs-pipe16: #0ea5e9; /* Niebieski dla optymalnej wody */
    --cs-bg: #f8fafc;
    --cs-border: #e2e8f0;
    --cs-text: #475569;
}

.case-study-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--cs-border);
    overflow: hidden;
}

/* ================= HEADER I METRYCZKA ================= */
.cs-header-wrapper {
    background: var(--cs-primary);
    color: #ffffff;
    padding: 40px 50px;
    position: relative;
    overflow: hidden;
}

.cs-header-wrapper::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.25) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
}

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

.cs-header-wrapper h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 25px 0;
    line-height: 1.3;
    color: #ffffff;
    position: relative;
    z-index: 2;
}

.cs-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    position: relative;
    z-index: 2;
}

.cs-stat-box {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px;
    border-radius: 12px;
    backdrop-filter: blur(4px);
}

.cs-stat-label {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.cs-stat-value {
    display: block;
    font-size: 16px;
    font-weight: 900;
    color: #ffffff;
}

/* ================= OPIS WYZWANIA ================= */
.cs-content-section {
    padding: 40px 50px 30px 50px;
    background: #ffffff;
}

.cs-lead-text {
    font-size: 16px;
    line-height: 1.8;
    color: var(--cs-text);
    margin: 0 0 20px 0;
}

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

.cs-author-box {
    background: #f0f9ff;
    border-left: 4px solid var(--cs-accent);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 10px;
}

.cs-author-photo {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #ffffff;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.2);
    flex-shrink: 0;
}

.cs-author-box p {
    margin: 0;
    font-size: 14px;
    color: #0c4a6e;
    line-height: 1.6;
}

.cs-author-box a {
    color: var(--cs-accent);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.cs-author-box a:hover {
    color: #0c4a6e;
}

/* ================= INTERAKTYWNE WYZWANIE (SPLIT CARDS) ================= */
.cs-interactive-section {
    padding: 0 50px 40px 50px;
}

.cs-split-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.cs-split-card {
    border-radius: 16px;
    padding: 25px;
    border: 2px solid var(--cs-border);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    background: #ffffff;
}

/* Stan nieaktywny lekko przygaszony */
.cs-split-card:not(.active) {
    opacity: 0.7;
    transform: scale(0.98);
}

/* Kolorystyka i aktywacja */
.cs-split-card.pipe20.active {
    border-color: var(--cs-pipe20);
    background: #fef2f2;
    box-shadow: 0 10px 25px rgba(239, 68, 68, 0.15);
    opacity: 1;
    transform: scale(1);
}

.cs-split-card.pipe16.active {
    border-color: var(--cs-pipe16);
    background: #f0f9ff;
    box-shadow: 0 10px 25px rgba(14, 165, 233, 0.15);
    opacity: 1;
    transform: scale(1);
}

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

.cs-card-icon {
    font-size: 28px;
}

.cs-card-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--cs-primary);
    margin: 0;
}

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

.cs-card-solution {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px dashed rgba(0,0,0,0.1);
    font-size: 13px;
    font-weight: 700;
    display: none;
}

.cs-split-card.pipe20 .cs-card-solution { color: #991b1b; }
.cs-split-card.pipe16 .cs-card-solution { color: #075985; }

.cs-split-card.active .cs-card-solution {
    display: block;
    animation: csFadeIn 0.4s ease forwards;
}

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

@media (max-width: 768px) {
    .cs-header-wrapper { padding: 35px 25px; }
    .cs-stats-grid { grid-template-columns: 1fr 1fr; }
    .cs-content-section { padding: 30px 25px 20px 25px; }
    .cs-interactive-section { padding: 0 25px 30px 25px; }
    .cs-split-container { grid-template-columns: 1fr; }
}
</style>

<div class="case-study-module" id="app-case-study-zlad">

    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "WebApplication",
        "name": "Panel Studium Przypadku: Optymalizacja Zładu Wody",
        "description": "Interaktywny moduł edukacyjny prezentujący wyzwania inżynierskie i proces decyzyjny przy doborze średnicy rur w kontekście całkowitej pojemności wodnej systemu.",
        "applicationCategory": "EducationalApplication",
        "operatingSystem": "All",
        "url": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#case-study",
        "license": "https://projekt-ogrzewania.pl/",
        "offers": {
          "@type": "Offer",
          "price": "0",
          "priceCurrency": "PLN"
        },
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski",
          "sameAs": [
            "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
            "https://www.linkedin.com/in/robert-kucharski-38069b48/"
          ]
        },
        "featureList": [
          "Wizualizacja błędu przewymiarowania rur (20mm)",
          "Optymalizacja zładu dla rury 16mm",
          "Analiza wpływu zładu na koszty osprzętu kotłowni"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Dataset",
        "name": "Parametry Projektowe OZC - Dom Inwestora (Poznań)",
        "description": "Zestawienie parametrów wejściowych budynku wykorzystanych do optymalizacji zładu wody ogrzewania podłogowego.",
        "license": "https://projekt-ogrzewania.pl/",
        "variableMeasured": [
          {
            "@type": "PropertyValue",
            "name": "Inwestor",
            "value": "Jakub"
          },
          {
            "@type": "PropertyValue",
            "name": "Powierzchnia budynku",
            "value": "160 m²"
          },
          {
            "@type": "PropertyValue",
            "name": "Źródło ciepła",
            "value": "Pompa Ciepła"
          },
          {
            "@type": "PropertyValue",
            "name": "Lokalizacja",
            "value": "Poznań"
          }
        ],
        "creator": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Article",
        "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#case-study-article",
        "mainEntityOfPage": {
          "@type": "WebPage",
          "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
        },
        "headline": "Case Study: Optymalizacja zładu wody u Inwestora (Poznań)",
        "description": "Analiza przypadku błędnie założonych średnic rur ogrzewania podłogowego i ich wpływu na drastyczny przyrost objętości instalacji.",
        "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/"
        },
        "publisher": {
          "@type": "Organization",
          "name": "Projekt-Ogrzewania.pl",
          "logo": {
            "@type": "ImageObject",
            "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
          }
        },
        "datePublished": "2025-02-08T08:00:00+01:00",
        "dateModified": "2026-05-04T12:45:00+02:00"
      }
    ]
    </script>

    <div class="cs-header-wrapper">
        <div class="cs-badge">Projekt w praktyce</div>
        <h2>Optymalizacja zładu wody u Inwestora</h2>
        <div class="cs-stats-grid">
            <div class="cs-stat-box">
                <span class="cs-stat-label">Inwestor</span>
                <span class="cs-stat-value">Jakub</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Lokalizacja</span>
                <span class="cs-stat-value">Poznań</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Powierzchnia</span>
                <span class="cs-stat-value">160 m²</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Źródło ciepła</span>
                <span class="cs-stat-value">Pompa Ciepła</span>
            </div>
        </div>
    </div>

    <div class="cs-content-section">
        <p class="cs-lead-text">Podczas konsultacji systemu grzewczego dla nowo budowanego domu Pana Jakuba w Poznaniu, natrafiliśmy na klasyczny przypadek &#8222;wykonawstwa na oko&#8221;. Lokalny instalator zaproponował ułożenie w całym domu <strong>rury o średnicy 20 mm</strong> w stałym rozstawie co 10 cm, ignorując całkowicie fizyczne konsekwencje, jakie niesie za sobą tak radykalne powiększenie pojemności wodnej układu.</p>
        
        <div class="cs-author-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="cs-author-photo" loading="lazy">
            <p>Założenia zrewidował główny projektant <strong>Robert Kucharski</strong>. Przeliczenie rzeczywistego zładu ujawniło ukryte koszty, przed którymi musieliśmy uchronić inwestora:</p>
        </div>
    </div>

    <div class="cs-interactive-section">
        <div class="cs-split-container">
            
            <div class="cs-split-card pipe20 active" id="cs-btn-pipe20">
                <div class="cs-card-header">
                    <span class="cs-card-icon">🛑</span>
                    <h3 class="cs-card-title">Rura 20 mm (Wizja Wykonawcy)</h3>
                </div>
                <p class="cs-card-desc">Gigantyczny zład wody (ponad 260 litrów w samej wylewce). Ogromna bezwładność cieplna powoduje brak precyzji w sterowaniu pokojowym. Układ stawia potężne wymagania armaturze.</p>
                <div class="cs-card-solution">
                    <strong>Diagnoza:</strong> Odrzucenie projektu. Zbyt duży zład wymusiłby montaż naczynia wzbiorczego o pojemności aż 35L oraz ciągły zakup 3 butelek drogiego inhibitora korozji. Wymagana byłaby również znacznie mocniejsza pompa obiegowa.
                </div>
            </div>

            <div class="cs-split-card pipe16" id="cs-btn-pipe16">
                <div class="cs-card-header">
                    <span class="cs-card-icon">✅</span>
                    <h3 class="cs-card-title">Rura 16 mm (Projekt Inżynierski)</h3>
                </div>
                <p class="cs-card-desc">Optymalny zład wody (ok. 135 litrów). Stanowi idealny balans między masą zładu potrzebną pompie ciepła do bezawaryjnego odszraniania (defrostu), a pożądaną dynamiką nagrzewania.</p>
                <div class="cs-card-solution">
                    <strong>Wdrożenie:</strong> Instalacja wykonana na rurze 16&#215;2.0. Mniejsze opory miejscowe rur, szybsza reakcja podłogi na zmiany z termostatów. Oszczędność inwestora na samym osprzęcie kotłowni (naczynia, pompy, chemia) wyniosła niemal 2500 PLN.
                </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('app-case-study-zlad');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 25px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; border: 2px dashed #ef4444;">
                    <span style="font-size: 40px; display: block; margin-bottom: 10px;">🔒</span>
                    <h3 style="margin: 0 0 10px 0; font-size: 20px;">Studium Przypadku Chronione Licencją</h3>
                    <p style="font-size: 14px; margin-bottom: 15px;">Ten interaktywny panel edukacyjny to autorska własność Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold; font-size: 13px;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // Logika przełączania kart Case Study
    const cardPipe20 = document.getElementById('cs-btn-pipe20');
    const cardPipe16 = document.getElementById('cs-btn-pipe16');

    function toggleCards(activeCard, inactiveCard) {
        activeCard.classList.add('active');
        inactiveCard.classList.remove('active');
    }

    if (cardPipe20 && cardPipe16) {
        cardPipe20.addEventListener('click', () => toggleCards(cardPipe20, cardPipe16));
        cardPipe16.addEventListener('click', () => toggleCards(cardPipe16, cardPipe20));
    }
});
</script>



<style>
:root {
    --quote-primary: #0f172a;
    --quote-accent: #0ea5e9;
    --quote-accent-dark: #0284c7;
    --quote-bg: #f8fafc;
    --quote-surface: #ffffff;
    --quote-border: #e2e8f0;
}

.expert-tip-wrapper {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
}

.expert-tip-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 25px;
}

.expert-tip-header h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--quote-primary);
    margin: 0;
    letter-spacing: -0.5px;
}

.expert-tip-header svg {
    color: var(--quote-accent);
    animation: pulse-icon 2s infinite;
}

@keyframes pulse-icon {
    0% { transform: scale(1); }
    50% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

.expert-tip-container {
    background: var(--quote-surface);
    border-radius: 24px;
    padding: 40px;
    display: flex;
    gap: 35px;
    align-items: center;
    border: 1px solid var(--quote-border);
    box-shadow: 0 15px 35px -10px rgba(14, 165, 233, 0.08);
    position: relative;
    text-align: left;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    overflow: hidden;
}

/* Interaktywny pasek akcentujący na hover */
.expert-tip-container::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 6px;
    background: linear-gradient(to bottom, var(--quote-accent), var(--quote-accent-dark));
    transition: width 0.3s ease;
}

.expert-tip-container:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 40px -12px rgba(14, 165, 233, 0.15);
}

.expert-tip-container:hover::before {
    width: 10px;
}

.expert-tip-photo-wrap {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    position: relative;
}

.expert-tip-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 4px solid var(--quote-bg);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    transition: transform 0.5s ease;
}

.expert-tip-container:hover .expert-tip-photo {
    transform: rotate(-3deg) scale(1.05);
}

/* Animowany Badge inżynierski */
.expert-tip-photo-wrap::after {
    content: '📐';
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: #ffffff;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    border: 1px solid var(--quote-border);
}

.expert-tip-content {
    flex-grow: 1;
    position: relative;
    z-index: 1;
}

/* Cudzysłów tła */
.expert-tip-content::before {
    content: '"';
    position: absolute;
    top: -40px;
    left: -20px;
    font-size: 120px;
    color: var(--quote-bg);
    font-family: serif;
    z-index: -1;
    line-height: 1;
    opacity: 0.7;
}

.expert-tip-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 800;
    color: var(--quote-accent-dark);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    background: #e0f2fe;
    padding: 4px 12px;
    border-radius: 20px;
}

.expert-tip-text {
    font-size: 18px;
    line-height: 1.7;
    color: var(--quote-primary);
    font-style: italic;
    font-weight: 500;
    margin: 0;
}

.expert-tip-text strong {
    color: var(--quote-accent-dark);
    font-weight: 900;
}

.expert-tip-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px dashed var(--quote-border);
}

.expert-tip-signature {
    display: flex;
    flex-direction: column;
}

.expert-tip-name {
    font-size: 16px;
    font-weight: 900;
    color: var(--quote-primary);
}

.expert-tip-role {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
}

/* Interaktywny przycisk kopiowania */
.expert-copy-btn {
    background: transparent;
    border: 1px solid var(--quote-border);
    color: #64748b;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s;
}

.expert-copy-btn:hover {
    background: var(--quote-bg);
    color: var(--quote-accent-dark);
    border-color: #bae6fd;
}

.expert-copy-btn.copied {
    background: #ecfdf5;
    color: #10b981;
    border-color: #10b981;
}

@media (max-width: 768px) {
    .expert-tip-container {
        flex-direction: column;
        text-align: center;
        padding: 30px 25px;
        gap: 20px;
    }
    .expert-tip-content::before {
        left: 50%;
        transform: translateX(-50%);
    }
    .expert-tip-footer {
        flex-direction: column;
        gap: 15px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#quote-section",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "Ekspercka wskazówka: Znaczenie zładu wody w ogrzewaniu podłogowym",
    "description": "Podsumowujący cytat eksperta branży HVAC, Roberta Kucharskiego, na temat kluczowej roli precyzyjnych obliczeń zładu wody w zapobieganiu awariom.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T12:35:00+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Zbyt często widzę na budowach przewymiarowane rury lub całkowicie pominięte obliczenia zładu. Instalatorzy zgadują, ile wody jest w układzie. Konsekwencje? Taktujące pompy ciepła, które nie mają z czego pobrać energii do defrostu, i pękające zawory bezpieczeństwa przez zbyt małe naczynia wzbiorcze. Precyzyjna wiedza o tym, ile wody potrzeba do wypełnienia instalacji podłogówki, to fundament, na którym opiera się bezpieczeństwo całej kotłowni.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "CEO & 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",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#dataset-quote",
    "name": "Konsekwencje błędów projektowych w zładzie wody",
    "description": "Zestawienie analityczne skutków ignorowania precyzyjnych obliczeń hydraulicznych w systemach z pompą ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zład wody w podłogówce",
      "obliczanie pojemności instalacji",
      "błędy instalatorów podłogówka",
      "pojemność rur ogrzewania",
      "Robert Kucharski ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Ekspertyza terenowa, analiza awaryjności systemów grzewczych wynikających z błędów wykonawczych i projektowych.",
    "mainEntity": [
      {
        "@type": "PropertyValue",
        "name": "Skutek zbyt małego zładu",
        "value": "Taktowanie pompy ciepła i brak energii na defrost"
      },
      {
        "@type": "PropertyValue",
        "name": "Skutek nieoszacowania rozszerzalności",
        "value": "Awaria naczynia wzbiorczego i zrzut ciśnienia przez zawór bezpieczeństwa"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#quote-widget",
    "name": "Moduł Interaktywnego Cytatu Eksperckiego",
    "description": "Interaktywny komponent interfejsu użytkownika (UI) z systemem zabezpieczeń domeny oraz funkcją natychmiastowego kopiowania rekomendacji inżynierskiej do schowka.",
    "applicationCategory": "UI Component",
    "operatingSystem": "Web Browser",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="expert-tip-wrapper">
    <div class="expert-tip-header">
        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
        <h2>Inżynierskie podsumowanie tematu</h2>
    </div>
    
    <div class="expert-tip-container" id="expert-tip-water">
        <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 - Ekspert HVAC" class="expert-tip-photo" loading="lazy">
        </div>
        <div class="expert-tip-content">
            <span class="expert-tip-label">
                <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"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg>
                Budowa bez ściemy
            </span>
            <p class="expert-tip-text" id="quoteTextToCopy">
                &#8222;Zbyt często widzę na budowach przewymiarowane rury lub całkowicie pominięte obliczenia zładu. Instalatorzy zgadują, ile wody jest w układzie. Konsekwencje? Taktujące pompy ciepła, które nie mają z czego pobrać energii do defrostu, i pękające zawory bezpieczeństwa przez zbyt małe naczynia wzbiorcze. Precyzyjna wiedza o tym, <strong>ile wody potrzeba do wypełnienia instalacji podłogówki</strong>, to fundament, na którym opiera się bezpieczeństwo całej kotłowni.&#8221;
            </p>
            
            <div class="expert-tip-footer">
                <div class="expert-tip-signature">
                    <span class="expert-tip-name">Robert Kucharski</span>
                    <span class="expert-tip-role">CEO &#038; Główny Projektant Projekt-Ogrzewania.pl</span>
                </div>
                
                <button class="expert-copy-btn" id="btnCopyQuote">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>
                    Skopiuj cytat
                </button>
            </div>
        </div>
    </div>

    <noscript>
        <div style="padding: 25px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 16px; margin-top: 20px; font-family: sans-serif;">
            <p style="font-size: 15px; font-weight: 800; color: #0f172a; margin-bottom: 10px;">Podsumowanie Roberta Kucharskiego:</p>
            <p style="font-size: 15px; color: #475569; line-height: 1.6; margin:0;">Zbyt często widzę na budowach przewymiarowane rury lub całkowicie pominięte obliczenia zładu. Konsekwencje? Taktujące pompy ciepła i pękające zawory bezpieczeństwa przez zbyt małe naczynia wzbiorcze. Precyzyjna wiedza o ilości wody to fundament bezpieczeństwa kotłowni.</p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA ---
    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-water');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fff1f2; color: #9f1239; border-radius: 20px; width: 100%; border: 2px dashed #f43f5e;">
                    <span style="font-size: 32px; display:block; margin-bottom: 15px;">🔒</span>
                    <div style="font-size: 20px; font-weight: 900; margin-bottom: 10px; text-transform:uppercase;">Moduł ekspercki chroniony autorsko</div>
                    <p style="font-size: 15px; color: #881337;">Rekomendacja inż. Roberta Kucharskiego jest własnością Projekt-Ogrzewania.pl. Użycie nieautoryzowane.</p>
                </div>
            `;
            container.style.borderLeft = 'none';
            container.style.background = 'transparent';
            container.style.padding = '0';
            container.style.boxShadow = 'none';
        }
        return;
    }

    // --- INTERAKCJA: KOPIOWANIE CYTATU ---
    const copyBtn = document.getElementById('btnCopyQuote');
    const quoteText = document.getElementById('quoteTextToCopy');

    if (copyBtn && quoteText) {
        copyBtn.addEventListener('click', function() {
            // Oczyszczamy tekst z tagów HTML (np. <strong>)
            const plainText = quoteText.innerText || quoteText.textContent;
            const fullQuote = plainText + " — Robert Kucharski, Projekt-Ogrzewania.pl";

            navigator.clipboard.writeText(fullQuote).then(function() {
                // Sukces
                const originalHtml = copyBtn.innerHTML;
                copyBtn.classList.add('copied');
                copyBtn.innerHTML = `<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Skopiowano!`;
                
                setTimeout(function() {
                    copyBtn.classList.remove('copied');
                    copyBtn.innerHTML = originalHtml;
                }, 3000);
            }).catch(function(err) {
                console.error('Błąd kopiowania: ', err);
            });
        });
    }
});
</script>



<style>
:root {
    --sum-primary: #0f172a;
    --sum-blue: #0ea5e9;
    --sum-blue-dark: #0284c7;
    --sum-bg: #f8fafc;
    --sum-surface: #ffffff;
    --sum-border: #e2e8f0;
    --sum-text: #475569;
    --sum-success: #10b981;
    --sum-warning: #f59e0b;
    --sum-danger: #ef4444;
}

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

/* Wprowadzenie do podsumowania */
.po-summary-header {
    text-align: center;
    margin-bottom: 40px;
    padding: 0 20px;
}

.po-summary-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    letter-spacing: -0.5px;
    color: var(--sum-primary);
}

.po-summary-header p {
    font-size: 18px;
    line-height: 1.7;
    color: var(--sum-text);
    max-width: 750px;
    margin: 0 auto;
}

/* Interaktywny Dashboard Podsumowujący */
.po-dashboard-wrapper {
    background: var(--sum-surface);
    border: 1px solid var(--sum-border);
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 20px 40px -15px rgba(14, 165, 233, 0.08);
    margin-bottom: 40px;
}

.po-dashboard-title {
    font-size: 20px;
    font-weight: 900;
    margin-bottom: 30px;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--sum-primary);
}

.po-dashboard-title svg {
    color: var(--sum-blue);
}

.po-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 40px;
}

/* Sekcja Kontrolek (Lewa) */
.po-dash-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
    background: var(--sum-bg);
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--sum-border);
}

.po-dash-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

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

.po-dash-val {
    color: var(--sum-blue-dark);
    font-weight: 900;
    font-size: 16px;
}

input[type=range].po-dash-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}

input[type=range].po-dash-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    background: #cbd5e1;
    border-radius: 4px;
}

input[type=range].po-dash-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background: var(--sum-blue);
    cursor: pointer;
    margin-top: -8px;
    box-shadow: 0 3px 8px rgba(14, 165, 233, 0.4);
    transition: transform 0.1s;
}

input[type=range].po-dash-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

/* Sekcja Wyników (Prawa) - KPI Cards */
.po-dash-results {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.po-kpi-card {
    background: #ffffff;
    border: 2px solid var(--sum-border);
    border-radius: 16px;
    padding: 25px 20px;
    text-align: center;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.po-kpi-card.active-safe { border-color: var(--sum-success); background: #ecfdf5; }
.po-kpi-card.active-warn { border-color: var(--sum-danger); background: #fef2f2; }

.po-kpi-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--sum-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    color: var(--sum-blue);
}

.po-kpi-val {
    font-size: 32px;
    font-weight: 900;
    color: var(--sum-primary);
    line-height: 1.1;
    margin-bottom: 5px;
    transition: transform 0.2s;
}

.po-kpi-label {
    font-size: 12px;
    font-weight: 800;
    color: var(--sum-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* SVG Animations inside KPI */
@keyframes spinSlow { 100% { transform: rotate(360deg); } }
.anim-spin-slow { animation: spinSlow 8s linear infinite; }

@keyframes floatDrop { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.anim-float { animation: floatDrop 3s ease-in-out infinite; }

/* CTA Ostateczne */
.po-final-cta {
    background: linear-gradient(135deg, var(--sum-primary), #1e293b);
    border-radius: 20px;
    padding: 50px;
    text-align: center;
    color: #ffffff;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.4);
    position: relative;
    overflow: hidden;
}

.po-final-cta::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.25) 0%, transparent 70%);
    border-radius: 50%;
}

.po-final-cta h3 {
    font-size: 30px;
    font-weight: 900;
    margin: 0 0 20px 0;
    color: #ffffff;
    position: relative;
    z-index: 1;
}

.po-final-cta p {
    font-size: 18px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0 auto 35px auto;
    max-width: 650px;
    position: relative;
    z-index: 1;
}

.po-final-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--sum-blue);
    color: #ffffff;
    padding: 18px 40px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.5);
    position: relative;
    z-index: 1;
}

.po-final-cta-btn:hover {
    background: var(--sum-blue-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.6);
}

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

@media (max-width: 600px) {
    .po-dash-results { grid-template-columns: 1fr; }
    .po-dashboard-wrapper, .po-final-cta { padding: 25px; }
    .po-summary-header h2 { font-size: 26px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#podsumowanie-zladu",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "Podsumowanie: Dlaczego warto znać pojemność instalacji?",
    "description": "Kompleksowe podsumowanie wpływu zładu wody na parametry pracy pompy ciepła, dobór naczynia wzbiorczego i ilość inhibitora. Interaktywny dashboard inżynierski.",
    "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": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T12:19:14+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#dataset-podsumowanie",
    "name": "Kluczowe wskaźniki dla instalacji płaszczyznowych (KPI)",
    "description": "Synteza parametrów OZC, DTR pomp ciepła i norm hydraulicznych (PN-EN 14511, PN-B-02414).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie zładu wody",
      "kalkulator całkowity podłogówki",
      "dobór naczynia wzbiorczego",
      "inhibitor korozji dawkowanie",
      "pojemność instalacji c.o."
    ],
    "measurementTechnique": "Synteza wieloparametrowa uwzględniająca pole przekroju rur, rozstaw układania, rezerwy technologiczne na osprzęt oraz współczynnik rozszerzalności cieplnej.",
    "mainEntity": [
      {
        "@type": "PropertyValue",
        "name": "Rekomendowane dawkowanie inhibitora",
        "value": "1",
        "unitText": "opakowanie (500ml) / 100 L"
      },
      {
        "@type": "PropertyValue",
        "name": "Użyteczność naczynia wzbiorczego",
        "value": "40-50",
        "unitText": "% objętości nominalnej"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#app-dashboard",
    "name": "Dashboard Inżynierski: Weryfikacja Instalacji",
    "description": "Interaktywne narzędzie podsumowujące parametry hydrauliczne i chemiczne systemu. Generuje wytyczne doboru naczynia, bufora i chemii.",
    "applicationCategory": "Kalkulator Inżynieryjny",
    "operatingSystem": "Web",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
        "@type": "Person",
        "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="po-summary-container" id="po-summary-auth">
    
    <div class="po-summary-header">
        <h2>Podsumowanie: Dlaczego warto znać pojemność instalacji?</h2>
        <p>Znajomość dokładnej <strong>ilości wody w podłogówce</strong> pozwala zoptymalizować koszty eksploatacji, prawidłowo dobrać pompę obiegową i uniknąć awarii spowodowanych błędnym doborem naczynia przeponowego. Matematyka w inżynierii HVAC nie wybacza błędów – buduj bez ściemy.</p>
    </div>

    <div class="po-dashboard-wrapper">
        <div class="po-dashboard-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"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><path d="M3 9h18M9 21V9"/></svg>
            Inżynierski Panel Kontrolny Systemu
        </div>

        <div class="po-dashboard-grid">
            
            <div class="po-dash-controls">
                <div class="po-dash-group">
                    <div class="po-dash-label">
                        <span>Powierzchnia (m²):</span>
                        <span class="po-dash-val" id="sumValArea">150</span>
                    </div>
                    <input type="range" class="po-dash-slider" id="sumArea" min="50" max="300" step="5" value="150">
                </div>

                <div class="po-dash-group" style="margin-top: 10px;">
                    <div class="po-dash-label">
                        <span>Średnica Rury:</span>
                        <span class="po-dash-val" id="sumValPipe">16&#215;2.0</span>
                    </div>
                    <input type="range" class="po-dash-slider" id="sumPipe" min="0" max="1" step="1" value="0">
                    <div style="display:flex; justify-content:space-between; font-size:11px; color:#94a3b8; font-weight:700; margin-top:5px;">
                        <span>PEX 16mm (co 10cm)</span>
                        <span>PEX 20mm (co 15cm)</span>
                    </div>
                </div>

                <div class="po-dash-group" style="margin-top: 10px;">
                    <div class="po-dash-label">
                        <span>Moc Źródła (kW):</span>
                        <span class="po-dash-val" id="sumValPower">9</span>
                    </div>
                    <input type="range" class="po-dash-slider" id="sumPower" min="5" max="20" step="1" value="9">
                </div>
            </div>

            <div class="po-dash-results">
                
                <div class="po-kpi-card">
                    <div class="po-kpi-icon">
                        <svg class="anim-float" 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 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z"/></svg>
                    </div>
                    <div class="po-kpi-val" id="kpiTotal">187 L</div>
                    <div class="po-kpi-label">Całkowity Zład Wody</div>
                </div>

                <div class="po-kpi-card">
                    <div class="po-kpi-icon" style="color: var(--sum-success);">
                        <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 d="m9 12 2 2 4-4"/></svg>
                    </div>
                    <div class="po-kpi-val" id="kpiInhibitor">2 szt.</div>
                    <div class="po-kpi-label">Inhibitor (500ml)</div>
                </div>

                <div class="po-kpi-card">
                    <div class="po-kpi-icon" style="color: var(--sum-primary);">
                        <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="2" width="16" height="20" rx="2" ry="2"/><path d="M4 12h16"/><path d="M12 2v20"/></svg>
                    </div>
                    <div class="po-kpi-val" id="kpiVessel">10 L</div>
                    <div class="po-kpi-label">Min. Naczynie Wzbiorcze</div>
                </div>

                <div class="po-kpi-card" id="kpiBufferCard">
                    <div class="po-kpi-icon" id="kpiBufferIcon">
                        <svg class="anim-spin-slow" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
                    </div>
                    <div class="po-kpi-val" id="kpiBuffer">OK</div>
                    <div class="po-kpi-label" id="kpiBufferLabel">Status Defrostu</div>
                </div>

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

    <div class="po-final-cta">
        <h3>Nie zostawiaj projektu przypadkowi</h3>
        <p>Powyższy symulator to doskonałe narzędzie do weryfikacji, ale dom to zbiór dziesiątek indywidualnych zmiennych (OZC, rozstawy mieszane, strefy brzegowe). Pamiętaj, że precyzyjne dane techniczne gwarantują brak awarii w przyszłości.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="po-final-cta-btn">
            Przeczytaj pozostałe nasze poradniki
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA KODU ---
    const allowedHosts = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowedHosts.includes(window.location.hostname)) {
        const wrap = document.getElementById('po-summary-auth');
        if (wrap) {
            wrap.innerHTML = `<div style="padding: 40px; text-align: center; background: #fff1f2; color: #9f1239; border-radius: 20px; border: 2px dashed #f43f5e;">
                <h3 style="font-size: 24px; margin: 0 0 15px 0;">Moduł Chroniony Licencją</h3>
                <p style="font-size: 16px; margin-bottom: 25px;">Ten dashboard jest autorskim narzędziem serwisu Projekt-Ogrzewania.pl. Osadzenie zablokowane.</p>
                <a href="https://projekt-ogrzewania.pl/" style="display:inline-block; padding:12px 25px; background:#e11d48; color:#fff; border-radius:8px; text-decoration:none; font-weight:800;">Wróć do źródła</a>
            </div>`;
        }
        return;
    }

    // --- LOGIKA DASHBOARDU ---
    const sArea = document.getElementById('sumArea');
    const sPipe = document.getElementById('sumPipe');
    const sPower = document.getElementById('sumPower');
    
    const vArea = document.getElementById('sumValArea');
    const vPipe = document.getElementById('sumValPipe');
    const vPower = document.getElementById('sumValPower');

    const kTotal = document.getElementById('kpiTotal');
    const kInhibitor = document.getElementById('kpiInhibitor');
    const kVessel = document.getElementById('kpiVessel');
    
    const kBufferCard = document.getElementById('kpiBufferCard');
    const kBuffer = document.getElementById('kpiBuffer');
    const kBufferLabel = document.getElementById('kpiBufferLabel');
    const kBufferIcon = document.getElementById('kpiBufferIcon');

    function updateDashboard() {
        const area = parseFloat(sArea.value);
        const is20mm = parseInt(sPipe.value) === 1;
        const power = parseFloat(sPower.value);

        // Update labels
        vArea.textContent = area;
        vPipe.textContent = is20mm ? "20x2.0 mm" : "16x2.0 mm";
        vPower.textContent = power;

        // 1. Total Volume
        // 16mm -> 10mb/m2 * 0.113. 20mm -> 6.7mb/m2 * 0.201
        let baseVol = is20mm ? (area * 6.7 * 0.201) : (area * 10 * 0.113);
        let totalVol = Math.round(baseVol * 1.1 + 10); // +10% osprzet + 10L bufor/kociol
        
        // Animacja
        kTotal.style.transform = 'scale(1.1)';
        setTimeout(() => kTotal.style.transform = 'scale(1)', 150);
        kTotal.textContent = totalVol + " L";

        // 2. Inhibitor (1 butelka na 100L)
        let bottles = Math.ceil(totalVol / 100);
        kInhibitor.textContent = bottles + " szt.";

        // 3. Expansion Vessel
        // Woda 10->50C = 1.2% exp. Zapas 2.5x (uzytecznosc 40%). Total * 0.012 * 2.5 = Total * 0.03
        let vesselSize = Math.ceil(totalVol * 0.03);
        // Typowe pojemności rynkowe: 8, 12, 18, 24, 35
        let marketVessel = 8;
        if(vesselSize > 8) marketVessel = 12;
        if(vesselSize > 12) marketVessel = 18;
        if(vesselSize > 18) marketVessel = 24;
        if(vesselSize > 24) marketVessel = 35;
        kVessel.textContent = marketVessel + " L";

        // 4. Defrost / Buffer
        let requiredDefrost = power * 15;
        let deficit = Math.round(requiredDefrost - totalVol);

        if (deficit > 0) {
            kBufferCard.className = "po-kpi-card active-warn";
            kBuffer.textContent = "+" + deficit + " L";
            kBufferLabel.textContent = "Brakuje (Dodaj Bufor)";
            kBufferIcon.style.color = "var(--sum-danger)";
        } else {
            kBufferCard.className = "po-kpi-card active-safe";
            kBuffer.textContent = "OK";
            kBufferLabel.textContent = "Status Defrostu";
            kBufferIcon.style.color = "var(--sum-success)";
        }
    }

    sArea.addEventListener('input', updateDashboard);
    sPipe.addEventListener('input', updateDashboard);
    sPower.addEventListener('input', updateDashboard);

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



<style>
:root {
    --dl-primary: #0f172a;
    --dl-accent: #0ea5e9;
    --dl-accent-dark: #0284c7;
    --dl-bg: #f8fafc;
    --dl-border: #e2e8f0;
    --dl-text: #334155;
    --dl-white: #ffffff;
    --dl-muted: #64748b;
}

.download-hub-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--dl-white);
    border-radius: 24px;
    border: 1px solid var(--dl-border);
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.05);
    overflow: hidden;
}

/* NAGŁÓWEK SEKCJI */
.dl-header {
    background: linear-gradient(135deg, var(--dl-primary) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: var(--dl-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.dl-header-content { 
    position: relative; 
    z-index: 2; 
    max-width: 65%; 
}

.dl-badge {
    display: inline-block;
    background: rgba(14, 165, 233, 0.2);
    border: 1px solid rgba(14, 165, 233, 0.3);
    color: #7dd3fc;
    padding: 6px 12px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.dl-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
}

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

/* WIZUALIZACJA PDF / IKONA */
.dl-header-visual {
    position: relative;
    z-index: 2;
}

.dl-pdf-icon-svg {
    width: 80px;
    height: auto;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.3));
    animation: floatIcon 3s infinite ease-in-out alternate;
}

@keyframes floatIcon {
    from { transform: translateY(0); }
    to { transform: translateY(-10px); }
}

/* GŁÓWNY WORKSPACE */
.dl-workspace {
    display: flex;
    padding: 40px 50px;
    gap: 40px;
    background: var(--dl-white);
}

.dl-preview-box {
    flex: 1;
    background: var(--dl-bg);
    border: 1px solid var(--dl-border);
    border-radius: 16px;
    padding: 10px;
    position: relative;
    cursor: zoom-in;
    transition: transform 0.3s;
}

.dl-preview-box:hover {
    transform: scale(1.02);
}

.dl-preview-img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.dl-zoom-hint {
    position: absolute; 
    bottom: 20px; 
    right: 20px; 
    background: rgba(15, 23, 42, 0.8); 
    color: white; 
    padding: 8px 12px; 
    border-radius: 8px; 
    font-size: 12px; 
    font-weight: 700;
    backdrop-filter: blur(4px);
}

.dl-info-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dl-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.dl-feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
    font-size: 15px;
    font-weight: 600;
    color: var(--dl-text);
}

.dl-check-svg {
    width: 22px;
    height: 22px;
    color: var(--dl-accent);
    flex-shrink: 0;
}

/* PRZYCISK POBIERANIA */
.dl-main-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--dl-accent);
    color: var(--dl-white);
    text-decoration: none !important;
    padding: 18px 30px;
    border-radius: 14px;
    font-weight: 800;
    font-size: 16px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.4);
}

.dl-main-btn:hover {
    background: var(--dl-accent-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 30px -5px rgba(14, 165, 233, 0.5);
    color: var(--dl-white);
}

.dl-main-btn span { font-size: 20px; }

/* STOPKA MODUŁU */
.dl-footer {
    padding: 20px 50px;
    background: var(--dl-bg);
    border-top: 1px solid var(--dl-border);
    font-size: 13px;
    color: var(--dl-muted);
    text-align: center;
}

.dl-footer a {
    color: var(--dl-accent-dark);
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 800px) {
    .dl-header { flex-direction: column; text-align: center; padding: 30px 20px; }
    .dl-header-content { max-width: 100%; margin-bottom: 25px; }
    .dl-workspace { flex-direction: column; padding: 30px 20px; }
    .dl-preview-box { margin-bottom: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#infografika-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/"
    },
    "headline": "Ile wody w ogrzewaniu podłogowym? Pobierz Kompendium (PDF)",
    "description": "Pobierz inżynierską ściągę Roberta Kucharskiego. Kompletny poradnik obliczania zładu wody, pojemności rur i unikania błędów w formacie PDF.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-02-08T08:00:00+01:00",
    "dateModified": "2026-05-04T12:50:00+02:00"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#dataset-infografika",
    "name": "Wizualizacja Algorytmu Obliczeniowego Zładu Wody",
    "description": "Zestawienie 8 kluczowych kroków projektowych do określenia objętości cieczy w instalacji, pojemności rur 16mm/17mm oraz identyfikacji błędów instalacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika zład wody",
      "schemat obliczania wody podłogówka",
      "objętość rury 16mm vs 17mm",
      "najczęstsze błędy podłogówka pdf",
      "ściąga instalatora HVAC"
    ],
    "measurementTechnique": "Wizualizacja schematów blokowych i diagramów porównawczych na podstawie obliczeń geometrycznych i norm inżynieryjnych.",
    "mainEntity": {
      "@type": "Thing",
      "name": "8-krokowy schemat obliczeń pojemności instalacji"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/#download-app-zlad",
    "name": "Centrum Pobierania Wiedzy: Zład Wody",
    "description": "Interaktywny moduł umożliwiający wizualizację (WEBP) i pobranie (PDF) dokumentacji technicznej dotyczącej pojemności wodnej instalacji.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="download-hub-container" id="app-water-dl">
    
    <div class="dl-header">
        <div class="dl-header-content">
            <div class="dl-badge">Darmowe Materiały Inżynierskie</div>
            <h2>Pobierz Kompletny Poradnik (PDF)</h2>
            <p>Zabierz inżynierską wiedzę na budowę. 8-krokowy algorytm obliczeń, parametry techniczne rur (16mm vs 17mm) oraz checklista najczęstszych błędów w jednym pliku.</p>
        </div>
        <div class="dl-header-visual">
            <svg class="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="#ef4444" stroke="#ffffff" stroke-width="1"/>
                <path d="M14 2V8H20" stroke="#ffffff" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/>
                <text x="7" y="18" fill="white" font-size="5" font-weight="900" font-family="sans-serif">PDF</text>
            </svg>
        </div>
    </div>

    <div class="dl-workspace">
        
        <div class="dl-preview-box" onclick="window.open('https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki.webp" alt="Infografika - Algorytm i schemat obliczania zładu wody w ogrzewaniu podłogowym" class="dl-preview-img" loading="lazy">
            <div class="dl-zoom-hint">🔍 Kliknij, aby powiększyć</div>
        </div>

        <div class="dl-info-side">
            <ul class="dl-feature-list">
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" 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>
                    8 Kroków: Precyzyjny algorytm obliczeń
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" 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>
                    Porównanie: Rury 16 mm vs 17 mm
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" 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>
                    Checklista 3 krytycznych błędów
                </li>
                <li class="dl-feature-item">
                    <svg class="dl-check-svg" 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>
                    Format gotowy do druku na budowę (PDF)
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki.pdf" class="dl-main-btn" target="_blank">
                <span>📥</span> POBIERZ ŚCIĄGĘ (PDF)
            </a>
            
            <p style="margin-top: 20px; font-size: 13px; color: var(--dl-muted); line-height: 1.5;">
                Masz dość zgadywania na budowie? <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" style="color:var(--dl-accent-dark); font-weight:800;">Zleć profesjonalny projekt podłogówki</a> i otrzymaj wyliczony zład z dokładnością do 1 litra.
            </p>
        </div>

    </div>

    <div class="dl-footer">
        © 2026 Projekt-Ogrzewania.pl | Autor: <strong>Robert Kucharski</strong>. Udostępnianie materiału w formie niezmienionej jest dozwolone.
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA ---
    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('app-water-dl');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; border: 2px solid #dc2626; 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: #991b1b;">Zasoby Chronione Licencją</div>
                    <p style="color: #b91c1c; font-size: 14px; margin-bottom:20px;">Ta infografika i dokumentacja PDF są własnością serwisu Projekt-Ogrzewania.pl. Pobieranie i wyświetlanie na obcych domenach jest zabronione.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display:inline-block; background:#dc2626; color:#fff; padding:10px 20px; border-radius:8px; text-decoration:none; font-weight:bold;">Powrót do oryginału</a>
                </div>
            `;
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/">Ile wody potrzeba do wypełnienia instalacji podłogówki &#8211; Kalkulator.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
