<?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 Hydraulika - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/hydraulika/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/hydraulika/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Mon, 06 Jul 2026 08:53:31 +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 Hydraulika - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/hydraulika/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Pompa ciepła, podłogówka i grzejniki.</title>
		<link>https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/</link>
					<comments>https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 04 Jul 2026 07:13:33 +0000</pubDate>
				<category><![CDATA[Grzejniki]]></category>
		<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[OZC]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Termomodernizacja]]></category>
		<category><![CDATA[bufor ciepła]]></category>
		<category><![CDATA[grupa pompowa]]></category>
		<category><![CDATA[grzejniki v33]]></category>
		<category><![CDATA[instalacja mieszana]]></category>
		<category><![CDATA[klimakonwektory]]></category>
		<category><![CDATA[kryzowanie grzejników]]></category>
		<category><![CDATA[obliczenia ozc]]></category>
		<category><![CDATA[pn-en 12831]]></category>
		<category><![CDATA[pompa ciepła podłogówka i grzejniki]]></category>
		<category><![CDATA[przepływ zwarciowy]]></category>
		<category><![CDATA[regulacja hydrauliczna]]></category>
		<category><![CDATA[sprawność scop]]></category>
		<category><![CDATA[sprzęgło hydrauliczne]]></category>
		<category><![CDATA[taktowanie pompy ciepła]]></category>
		<category><![CDATA[układ hybrydowy]]></category>
		<category><![CDATA[zawór trójdrogowy mieszający]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=6505</guid>

					<description><![CDATA[<p>Planowanie nowoczesnego systemu grzewczego w domu jednorodzinnym wymaga precyzyjnych obliczeń inżynierskich, a nie kompromisów. Układ, w którym współpracują pompa ciepła podłogówka i grzejniki, to technicznie wymagający system hybrydowy. Wymusza on zderzenie dwóch skrajnie różnych światów: niskotemperaturowego ogrzewania płaszczyznowego o wysokich oporach hydraulicznych z punktowymi emiterami konwekcyjnymi. W tym praktycznym poradniku inżynier Robert Kucharski bez ściemy analizuje warunki poprawnego montażu takiego systemu. Dowiesz się, jak poprawnie dobrać pojemność bufora równoległego zgodnie ze standardem VDI 4650, jak obliczyć masowe natężenie przepływu oraz jak uniknąć zjawiska przepływu zwarciowego, które drastycznie obniża sprawność SCOP sprężarki i generuje gigantyczne straty na rachunkach za prąd.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/">Pompa ciepła, podłogówka i grzejniki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-intro",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Pompa ciepła, podłogówka i grzejniki – jak połączyć te systemy bez błędu?",
    "description": "Zasady projektowania układu mieszanego. Szybka odpowiedź eksperta HVAC na temat łączenia instalacji płaszczyznowej i grzejnikowej z pompą ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-intro",
    "name": "Wskaźniki błędów w hybrydowych instalacjach c.o.",
    "description": "Kluczowe dane początkowe z ponad 1000 zrealizowanych projektów, wskazujące na straty eksploatacyjne w źle zaprojektowanych układach mieszanych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa ciepła podłogówka i grzejniki",
      "czy można łączyć podłogówkę z grzejnikami",
      "błędy instalacji układ mieszany",
      "spadek sprawności pompy ciepła",
      "ogrzewanie płaszczyznowe a kaloryfery"
    ],
    "measurementTechnique": "Analiza statystyczna wzrostu kosztów eksploatacyjnych budynku w skali roku grzewczego spowodowanego brakiem balansu hydraulicznego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Skala błędu: Brak precyzyjnego zbilansowania hydraulicznego to najczęstszy problem w modernizowanych domach.",
        "Konsekwencje: Wzrost kosztów eksploatacyjnych nawet o 35% w skali roku.",
        "Objawy: Niedogrzanie pomieszczeń na poddaszu, przegrzewanie parteru, drastyczny spadek sprawności (COP) sprężarki."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-nawigator",
    "name": "Interaktywny Nawigator Artykułu",
    "description": "Moduł wstępny dostarczający natychmiastowej odpowiedzi (Quick Answer) na zapytanie użytkownika oraz organizujący narzędzia analityczne dostępne w dalszej części publikacji.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-card: #ffffff;
    --rk-intro-bg: #f8fafc;
    --rk-intro-border: #cbd5e1;
    --rk-intro-primary: #0284c7;
    --rk-intro-text: #334155;
    --rk-intro-danger: #ef4444;
}

.rk-intro-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-intro-card);
    border-radius: 16px;
    border: 2px solid var(--rk-intro-dark);
    box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.rk-intro-header {
    background: var(--rk-intro-dark);
    padding: 30px 40px;
    color: #ffffff;
}

.rk-intro-badge {
    display: inline-block;
    background: #1e293b;
    border: 1px solid #334155;
    padding: 6px 12px;
    color: #38bdf8;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    border-radius: 6px;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

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

.rk-intro-body {
    padding: 40px;
}

/* Główne pole tekstowe */
.rk-intro-main-text {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-intro-text);
    margin-bottom: 30px;
}

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

/* Interfejs Przełączników */
.rk-intro-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
}

.rk-intro-tab-btn {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: var(--rk-intro-bg);
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
}

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

.rk-intro-tab-icon {
    width: 24px;
    height: 24px;
    color: #64748b;
}

.rk-intro-tab-btn.active .rk-intro-tab-icon {
    color: var(--rk-intro-primary);
}

.rk-intro-tab-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-intro-dark);
}

/* Panele Treści */
.rk-intro-panel {
    display: none;
    background: var(--rk-intro-bg);
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
    padding: 30px;
}

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

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

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

.rk-intro-tools-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: 20px;
}

.rk-intro-tool-item {
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    padding: 15px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
    color: var(--rk-intro-primary);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .rk-intro-header, .rk-intro-body { padding: 25px 20px; }
    .rk-intro-header h2 { font-size: 24px; }
    .rk-intro-tabs { flex-direction: column; gap: 10px; }
    .rk-intro-tools-list { grid-template-columns: 1fr; }
}
</style>

<div class="rk-intro-container" id="rk-intro-app">
    
    <div class="rk-intro-header">
        <div class="rk-intro-badge">Wiedza Inżynierska &amp; Narzędzia</div>
        <h2>Pompa ciepła, podłogówka i grzejniki w jednym układzie</h2>
    </div>

    <div class="rk-intro-body">
        
        <div class="rk-intro-main-text">
            Układ łączący pompę ciepła, podłogówkę i grzejniki to system hybrydowy, w którym niskotemperaturowe źródło zasila jednocześnie strefę płaszczyznową oraz punktową (konwekcyjną). Z technicznego punktu widzenia, strefy te mają skrajnie różną specyfikę cieplną i opory hydrauliczne. Jako specjalista HVAC nadzorujący działanie portalu <strong>projekt-ogrzewania.pl</strong> (ponad 1000 zrealizowanych projektów OZC), każdego dnia diagnozuję ten sam problem: instalatorzy lekceważą precyzyjne zbilansowanie obu obiegów. Poniżej przedstawiam twarde dane i narzędzia, które uchronią Twój budżet.
        </div>

        <div class="rk-intro-tabs">
            <button class="rk-intro-tab-btn active" data-intro="answer">
                <svg class="rk-intro-tab-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                <div class="rk-intro-tab-title">Szybka Odpowiedź</div>
            </button>
            <button class="rk-intro-tab-btn" data-intro="errors">
                <svg class="rk-intro-tab-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                <div class="rk-intro-tab-title">Skutki Błędów</div>
            </button>
            <button class="rk-intro-tab-btn" data-intro="tools">
                <svg class="rk-intro-tab-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                <div class="rk-intro-tab-title">Co w artykule?</div>
            </button>
        </div>

        <div class="rk-intro-panels">
            
            <div class="rk-intro-panel active" id="panel-intro-answer">
                <h3>Czy to będzie poprawnie działać?</h3>
                <p><strong>Tak, ale tylko pod ścisłymi warunkami inżynierskimi.</strong> Podłączenie tych dwóch systemów jest wymuszone przy termomodernizacji lub adaptacji poddasza. Aby system zadziałał poprawnie bez niszczenia kompresora, bezwzględnie wymaga zaprojektowania sprzęgła hydraulicznego (bufora) oraz obrotowego zaworu mieszającego dla strefy podłogowej, redukującego temperaturę np. z 45°C do 30°C.</p>
            </div>

            <div class="rk-intro-panel" id="panel-intro-errors">
                <h3 style="color: var(--rk-intro-danger);">Konsekwencje braku zbilansowania</h3>
                <p>Pominięcie twardych obliczeń i poskładanie węzła &#8222;na oko&#8221; skutkuje przepływem zwarciowym. Najczęstsze objawy to lodowaty parter (brak obiegu w podłogówce), przegrzewanie salonu oraz ciągłe taktowanie pompy ciepła. Drastyczny spadek sprawności (SCOP) sprężarki winduje koszty eksploatacyjne budynku nawet o <strong>35% w skali roku grzewczego</strong>.</p>
            </div>

            <div class="rk-intro-panel" id="panel-intro-tools">
                <h3>Interaktywne narzędzia dla inwestora</h3>
                <p>Ten artykuł to inżynierska baza wiedzy. Zamiast czytać bloki tekstu, w dalszej części materiału skorzystasz z darmowych narzędzi, w których samodzielnie zweryfikujesz poprawność swojej instalacji:</p>
                <div class="rk-intro-tools-list">
                    <div class="rk-intro-tool-item">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4"></path><polyline points="14 2 14 8 20 8"></polyline><path d="M2 15h10"></path><path d="M9 18l3-3-3-3"></path></svg>
                        Kalkulator przepływów pompy
                    </div>
                    <div class="rk-intro-tool-item">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 3v18h18"></path><path d="M18.7 8l-5.1 5.2-2.8-2.7L7 14.3"></path></svg>
                        Symulator spadku SCOP
                    </div>
                    <div class="rk-intro-tool-item">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                        Schemat węzła (VDI 4650)
                    </div>
                    <div class="rk-intro-tool-item">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                        Audyt Przed i Po (Case Study)
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-intro-tab-btn');
    const panels = {
        'answer': document.getElementById('panel-intro-answer'),
        'errors': document.getElementById('panel-intro-errors'),
        'tools': document.getElementById('panel-intro-tools')
    };

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Zmienna przechowująca stan, eliminacja użycia operatorów && / ||
            let isCurrentActive = this.classList.contains('active');
            
            if (isCurrentActive === false) {
                // Wyzerowanie klas 'active' na wszystkich przyciskach
                btns.forEach(function(b) {
                    b.classList.remove('active');
                });
                
                // Ukrycie wszystkich paneli
                panels['answer'].classList.remove('active');
                panels['errors'].classList.remove('active');
                panels['tools'].classList.remove('active');

                // Aktywacja wybranego przycisku
                this.classList.add('active');
                
                // Aktywacja odpowiedniego panelu
                let targetId = this.getAttribute('data-intro');
                
                if (targetId === 'answer') { panels['answer'].classList.add('active'); }
                else if (targetId === 'errors') { panels['errors'].classList.add('active'); }
                else if (targetId === 'tools') { panels['tools'].classList.add('active'); }
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-stary-vs-nowy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Czy pompa ciepła podłogówka i grzejniki to dobre połączenie w starym i nowym domu?",
    "description": "Analiza opłacalności układu mieszanego (podłogówka + grzejniki) w nowym budownictwie oraz przy termomodernizacji. Koszty eksploatacyjne, spadek SCOP i norma PN-EN 12831:2006.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-scop-koszty",
    "name": "Wpływ termomodernizacji i układów mieszanych na współczynnik SCOP i koszty eksploatacji",
    "description": "Porównanie efektywności pompy ciepła pracującej w układzie 100% płaszczyznowym vs hybrydowym, wyliczające roczne straty finansowe spowodowane wymuszeniem wyższej krzywej grzewczej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa ciepła podłogówka i grzejniki w starym domu",
      "łączenie podłogówki z grzejnikami w nowym domu",
      "spadek cop pompy ciepła przez grzejniki",
      "temperatura zasilania pompy ciepła na grzejniki",
      "koszty ogrzewania pompa ciepła i grzejniki"
    ],
    "measurementTechnique": "Kalkulacja różnicy poboru energii elektrycznej dla budynku o zapotrzebowaniu 12 000 kWh przy zmianie SCOP z 4.5 (układ optymalny 35 stopni C) na 2.8 (układ wymuszony 50 stopni C).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wytyczne PN-EN 12831:2006: Zasilanie 45 stopni C dla grzejników i 32 stopni C dla podłogówki.",
        "Wymóg techniczny: Różnica temperatur (Delta T) wynosząca 13K kategorycznie wymusza montaż sprzęgła hydraulicznego (bufora).",
        "Spadek efektywności: Podbicie zasilania do 50 stopni C obniża SCOP urządzenia z 4.5 do około 2.8.",
        "Strata finansowa: W skali roku, przy zapotrzebowaniu 12 MWh, błędny układ mieszany generuje ok. 1650 PLN dodatkowych kosztów."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-symulator-kontekstu",
    "name": "Symulator Opłacalności Układu Hybrydowego (Nowy vs Stary Dom)",
    "description": "Narzędzie interaktywne pozwalające inwestorowi przełączać się między kontekstem nowej budowy a termomodernizacji, aby natychmiast zobaczyć wpływ na wskaźnik SCOP i roczne straty finansowe.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-sim-bg: #ffffff;
    --rk-sim-surface: #f8fafc;
    --rk-sim-border: #e2e8f0;
    --rk-sim-dark: #0f172a;
    --rk-sim-text: #475569;
    --rk-sim-primary: #0284c7;
    --rk-sim-danger: #ef4444;
    --rk-sim-danger-light: #fef2f2;
    --rk-sim-warning: #f59e0b;
    --rk-sim-warning-light: #fffbeb;
}

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

.rk-sim-header {
    background: var(--rk-sim-surface);
    padding: 35px 40px;
    border-bottom: 1px solid var(--rk-sim-border);
    position: relative;
}

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

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

.rk-sim-highlight-bar {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e0f2fe;
    color: var(--rk-sim-primary);
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 14px;
    margin-top: 15px;
    border: 1px solid #bae6fd;
}

.rk-sim-body {
    padding: 40px;
}

/* Kontekstowe Przełączniki */
.rk-sim-toggles {
    display: flex;
    gap: 20px;
    margin-bottom: 35px;
}

.rk-sim-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 20px;
    background: #ffffff;
    border: 2px solid var(--rk-sim-border);
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.rk-sim-btn:hover {
    background: var(--rk-sim-surface);
}

.rk-sim-btn.active[data-context="new"] {
    border-color: var(--rk-sim-danger);
    background: var(--rk-sim-danger-light);
    box-shadow: 0 8px 16px -4px rgba(239, 68, 68, 0.15);
}

.rk-sim-btn.active[data-context="old"] {
    border-color: var(--rk-sim-warning);
    background: var(--rk-sim-warning-light);
    box-shadow: 0 8px 16px -4px rgba(245, 158, 11, 0.15);
}

.rk-sim-btn-icon {
    width: 32px;
    height: 32px;
    color: #94a3b8;
    transition: color 0.3s;
}

.rk-sim-btn.active[data-context="new"] .rk-sim-btn-icon { color: var(--rk-sim-danger); }
.rk-sim-btn.active[data-context="old"] .rk-sim-btn-icon { color: var(--rk-sim-warning); }

.rk-sim-btn-text {
    text-align: left;
}

.rk-sim-btn-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-sim-dark);
}

.rk-sim-btn-sub {
    font-size: 13px;
    color: var(--rk-sim-text);
    margin-top: 2px;
}

/* Panel Danych i Treści */
.rk-sim-panel {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: start;
}

/* Dashboard boczny */
.rk-sim-dashboard {
    background: var(--rk-sim-dark);
    border-radius: 20px;
    padding: 30px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 25px;
    position: relative;
    overflow: hidden;
}

.rk-sim-stat {
    position: relative;
    z-index: 2;
}

.rk-sim-stat-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.rk-sim-stat-val {
    font-size: 32px;
    font-weight: 900;
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.rk-sim-stat-unit {
    font-size: 14px;
    font-weight: 600;
    opacity: 0.8;
}

/* Dynamiczne kolory wskaźników */
.val-danger { color: #fca5a5; }
.val-warning { color: #fcd34d; }

/* Treść opisowa */
.rk-sim-content {
    animation: rkSimFade 0.4s ease forwards;
}

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

.rk-sim-content h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-sim-dark);
    margin: 0 0 15px 0;
}

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

.rk-sim-content a {
    color: var(--rk-sim-primary);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-sim-primary);
}

.rk-sim-content a:hover {
    border-bottom-style: solid;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .rk-sim-header, .rk-sim-body { padding: 25px 20px; }
    .rk-sim-toggles { flex-direction: column; gap: 15px; }
    .rk-sim-panel { grid-template-columns: 1fr; gap: 25px; }
    .rk-sim-dashboard { flex-direction: row; flex-wrap: wrap; justify-content: space-between; padding: 20px; }
    .rk-sim-stat { width: 45%; }
}
</style>

<div class="rk-sim-container" id="rk-context-app">
    <div class="rk-sim-header">
        <h2>Czy pompa ciepła podłogówka i grzejniki to dobre połączenie w starym i nowym domu?</h2>
        <p>Fizyka budowli nie wybacza błędów. Zgodnie z wytycznymi normy <strong>PN-EN 12831:2006</strong>, układ wymaga grupy pompowej mieszającej. Różnica temperatur (ΔT) wynosząca 13K kategorycznie wymusza montaż sprzęgła hydraulicznego. Wybierz swój scenariusz inwestycyjny.</p>
        
        <div class="rk-sim-highlight-bar">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
            Zasilanie 45°C (Grzejniki) vs Zredukowane 32°C (Podłogówka)
        </div>
    </div>

    <div class="rk-sim-body">
        
        <div class="rk-sim-toggles">
            <button class="rk-sim-btn active" data-context="new" id="btn-sim-new">
                <svg class="rk-sim-btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
                <div class="rk-sim-btn-text">
                    <div class="rk-sim-btn-title">Nowy Dom</div>
                    <div class="rk-sim-btn-sub">Błąd inwestycyjny</div>
                </div>
            </button>
            <button class="rk-sim-btn" data-context="old" id="btn-sim-old">
                <svg class="rk-sim-btn-icon" 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"></path></svg>
                <div class="rk-sim-btn-text">
                    <div class="rk-sim-btn-title">Stary Dom (Remont)</div>
                    <div class="rk-sim-btn-sub">Ekonomiczna konieczność</div>
                </div>
            </button>
        </div>

        <div class="rk-sim-panel">
            
            <div class="rk-sim-dashboard">
                <div class="rk-sim-stat">
                    <div class="rk-sim-stat-label">Wymuszone zasilanie</div>
                    <div class="rk-sim-stat-val val-danger" id="sim-temp">50 <span class="rk-sim-stat-unit">°C</span></div>
                </div>
                <div class="rk-sim-stat">
                    <div class="rk-sim-stat-label">Roczny SCOP pompy</div>
                    <div class="rk-sim-stat-val val-danger" id="sim-scop">2.8 <span class="rk-sim-stat-unit">(Spadek z 4.5)</span></div>
                </div>
                <div class="rk-sim-stat">
                    <div class="rk-sim-stat-label">Dodatkowy koszt roczny</div>
                    <div class="rk-sim-stat-val val-danger" id="sim-cost">+1650 <span class="rk-sim-stat-unit">PLN</span></div>
                </div>
                <svg style="position:absolute; right:-30px; bottom:-30px; width:150px; height:150px; opacity:0.05; color:#fff;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
            </div>

            <div class="rk-sim-content" id="sim-text-content">
                </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btnNew = document.getElementById('btn-sim-new');
    const btnOld = document.getElementById('btn-sim-old');
    
    const valTemp = document.getElementById('sim-temp');
    const valScop = document.getElementById('sim-scop');
    const valCost = document.getElementById('sim-cost');
    const textContent = document.getElementById('sim-text-content');

    const contentData = {
        'new': {
            temp: '50',
            scop: '2.8',
            cost: '+1650',
            colorClass: 'val-danger',
            html: `
                <h3 style="color: var(--rk-sim-danger);">Termodynamika vs. Obawy Inwestora</h3>
                <p>W nowym budownictwie łączenie tych dwóch systemów to kategoryczny błąd inżynieryjny, obniżający drastycznie sprawność całego układu. Inwestorzy, z obawy przed "brakiem kontroli nad temperaturą" w sypialniach na poddaszu, decydują się na kaloryfery.</p>
                <p><a href="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompa ciepła</a> to urządzenie niskotemperaturowe. Jej efektywność (COP) jest odwrotnie proporcjonalna do temperatury zasilania. Aby system mieszany działał, automatyka musi pracować na wyższej <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywej grzewczej</a> – produkując wodę wymaganą przez grzejniki, a nie podłogówkę.</p>
            `
        },
        'old': {
            temp: '45-50',
            scop: '~2.8',
            cost: '+1650',
            colorClass: 'val-warning',
            html: `
                <h3 style="color: var(--rk-sim-warning);">Kompromis w programie Czyste Powietrze</h3>
                <p>W starych domach poddawanych <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/">termomodernizacji</a>, pozostawienie części grzejników (np. na piętrze o drewnianych stropach) przy jednoczesnym zerwaniu podłóg na parterze pod układ płaszczyznowy, jest często jedynym uzasadnionym ekonomicznie wyjściem.</p>
                <p>Problem polega na tym, że zmuszasz urządzenie optymalizowane pod 35°C (SCOP 4.5) do wysyłania 50°C. Dla domu o zapotrzebowaniu 12 000 kWh rocznie, różnica w poborze prądu między czystą podłogówką a źle zoptymalizowanym systemem mieszanym wyciągnie z Twojej kieszeni dodatkowe <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">1650 PLN na rachunkach rocznie</a>.</p>
            `
        }
    };

    function updateSim(context) {
        let data = contentData[context];
        
        // Animacja resetu treści
        textContent.style.animation = 'none';
        textContent.offsetHeight; // trigger reflow
        textContent.style.animation = null;

        // Aktualizacja danych
        valTemp.innerHTML = data.temp + ' <span class="rk-sim-stat-unit">°C</span>';
        valTemp.className = 'rk-sim-stat-val ' + data.colorClass;
        
        valScop.innerHTML = data.scop + ' <span class="rk-sim-stat-unit">(Spadek z 4.5)</span>';
        valScop.className = 'rk-sim-stat-val ' + data.colorClass;
        
        valCost.innerHTML = data.cost + ' <span class="rk-sim-stat-unit">PLN</span>';
        valCost.className = 'rk-sim-stat-val ' + data.colorClass;

        textContent.innerHTML = data.html;
    }

    btnNew.addEventListener('click', function() {
        let isActive = this.classList.contains('active');
        if (isActive === false) {
            this.classList.add('active');
            btnOld.classList.remove('active');
            updateSim('new');
        }
    });

    btnOld.addEventListener('click', function() {
        let isActive = this.classList.contains('active');
        if (isActive === false) {
            this.classList.add('active');
            btnNew.classList.remove('active');
            updateSim('old');
        }
    });

    // Inicjalizacja
    updateSim('new');
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-wezel",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Jak połączyć podłogówkę z grzejnikami przy pompie ciepła, aby system nie taktował?",
    "description": "Zasady budowy hybrydowego węzła cieplnego. Wykorzystanie bufora równoległego i grup pompowych do eliminacji zjawiska taktowania pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-vdi4650",
    "name": "Parametry zładu wody i buforowania wg standardu VDI 4650",
    "description": "Twarde dane inżynierskie dotyczące minimalnej pojemności sprzęgła hydraulicznego dla systemów biwalentnych oraz parametry temperaturowe poszczególnych obiegów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak połączyć podłogówkę z grzejnikami",
      "taktowanie pompy ciepła jak zapobiec",
      "bufor ciepła pojemność kalkulator",
      "zawór mieszający do podłogówki schemat",
      "sprzęgło hydrauliczne pompa ciepła"
    ],
    "measurementTechnique": "Algorytm wyznaczania minimalnego zładu wody: 15 litrów na 1 kW mocy grzewczej pompy ciepła w celu zapobiegania zjawisku short-cycling.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymóg pojemności bufora: Min. 15L / 1kW mocy (np. 120 litrów dla pompy 8 kW).",
        "Zład instalacji: Grzejniki (kilka litrów) vs Podłogówka (powyżej 110 litrów na 100m2).",
        "Temperatury węzła: Zasilanie bufora 45 stopni C, zasilanie grzejników 45 stopni C, zasilanie podłogówki zredukowane do 30 stopni C.",
        "Zagrożenia: Uszkodzenie sprężarki (< 5 lat) i zniszczenie wylewki (55 stopni C przy defrost) bez zastosowania bufora."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-wezel-cieplny",
    "name": "Symulator Architektury Węzła Cieplnego",
    "description": "Interaktywny diagram krokowy demonstrujący prawidłowy przepływ i redukcję temperatur w hybrydowym systemie ogrzewania z użyciem bufora równoległego.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-node-bg: #ffffff;
    --rk-node-surface: #f8fafc;
    --rk-node-border: #e2e8f0;
    --rk-node-dark: #0f172a;
    --rk-node-text: #475569;
    --rk-node-brand: #0284c7;
    --rk-node-brand-light: #e0f2fe;
    --rk-node-heat: #ef4444;
    --rk-node-cool: #3b82f6;
    --rk-node-safe: #10b981;
}

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

.rk-node-header {
    background: var(--rk-node-dark);
    padding: 35px 40px;
    color: #ffffff;
}

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

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

.rk-node-body {
    padding: 40px;
    display: flex;
    gap: 40px;
    background: #ffffff;
}

/* Sekcja nawigacji / kroków */
.rk-node-steps {
    flex: 0 0 320px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-step-btn {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 20px;
    background: var(--rk-node-surface);
    border: 2px solid var(--rk-node-border);
    border-radius: 16px;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

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

.rk-step-btn.active {
    background: var(--rk-node-brand-light);
    border-color: var(--rk-node-brand);
    box-shadow: 0 10px 15px -3px rgba(2, 132, 199, 0.1);
}

.rk-step-num {
    width: 36px;
    height: 36px;
    background: #ffffff;
    border: 2px solid var(--rk-node-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 16px;
    color: var(--rk-node-text);
    flex-shrink: 0;
    transition: all 0.3s;
}

.rk-step-btn.active .rk-step-num {
    border-color: var(--rk-node-brand);
    background: var(--rk-node-brand);
    color: #ffffff;
}

.rk-step-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-node-dark);
    line-height: 1.3;
}

.rk-step-subtitle {
    font-size: 13px;
    color: var(--rk-node-text);
    margin-top: 4px;
}

/* Panel prezentacji treści */
.rk-node-display {
    flex: 1;
    background: var(--rk-node-surface);
    border-radius: 20px;
    border: 1px dashed var(--rk-node-border);
    padding: 35px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-display-content {
    display: none;
    animation: rkFadeIn 0.4s ease forwards;
}

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

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

.rk-node-graphic {
    text-align: center;
    margin-bottom: 25px;
}

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

/* Animacje SVG */
.anim-flow { stroke-dasharray: 10 5; animation: rkFlow 1s linear infinite; }
@keyframes rkFlow { to { stroke-dashoffset: -15; } }

.anim-pulse { animation: rkPulse 2s infinite; transform-origin: center; }
@keyframes rkPulse { 0% { transform: scale(0.95); opacity: 0.8; } 50% { transform: scale(1.05); opacity: 1; } 100% { transform: scale(0.95); opacity: 0.8; } }

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

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

.rk-node-highlight {
    background: #ffffff;
    padding: 12px 15px;
    border-left: 4px solid var(--rk-node-brand);
    border-radius: 6px;
    font-weight: 700;
    color: var(--rk-node-dark);
    margin-top: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

/* Mobile Responsive - Accordion Style */
@media (max-width: 768px) {
    .rk-node-header, .rk-node-body { padding: 25px 20px; }
    .rk-node-body { flex-direction: column; gap: 20px; }
    .rk-node-steps { flex: 0 0 auto; }
    .rk-node-display { padding: 25px 20px; }
    .rk-node-svg { max-width: 100px; }
}
</style>

<div class="rk-node-wrapper" id="rk-node-simulator">
    <div class="rk-node-header">
        <h2>Jak połączyć podłogówkę z grzejnikami przy pompie ciepła?</h2>
        <p>Taktowanie (short-cycling) to zabójca sprężarek. Kiedy pętle grzejników się zamkną, pompa nie ma gdzie zrzucić energii. Poznaj 4-etapową architekturę węzła cieplnego, która gwarantuje bezpieczeństwo na dekady.</p>
    </div>

    <div class="rk-node-body">
        
        <div class="rk-node-steps">
            <button class="rk-step-btn active" data-step="1">
                <div class="rk-step-num">1</div>
                <div>
                    <div class="rk-step-title">Zasilanie Jednostki PC</div>
                    <div class="rk-step-subtitle">Wysoki parametr (np. 45°C)</div>
                </div>
            </button>
            <button class="rk-step-btn" data-step="2">
                <div class="rk-step-num">2</div>
                <div>
                    <div class="rk-step-title">Sprzęgło Hydrauliczne</div>
                    <div class="rk-step-subtitle">Bufor równoległy wg VDI 4650</div>
                </div>
            </button>
            <button class="rk-step-btn" data-step="3">
                <div class="rk-step-num">3</div>
                <div>
                    <div class="rk-step-title">Obieg Grzejników</div>
                    <div class="rk-step-subtitle">Obieg bezpośredni 45°C</div>
                </div>
            </button>
            <button class="rk-step-btn" data-step="4">
                <div class="rk-step-num">4</div>
                <div>
                    <div class="rk-step-title">Obieg Podłogówki</div>
                    <div class="rk-step-subtitle">Zawór mieszający na 30°C</div>
                </div>
            </button>
        </div>

        <div class="rk-node-display">
            <div class="rk-display-content active" id="content-step-1">
                <div class="rk-node-graphic">
                    <svg class="rk-node-svg" viewBox="0 0 100 100">
                        <rect x="20" y="20" width="60" height="60" rx="8" fill="none" stroke="var(--rk-node-dark)" stroke-width="4"></rect>
                        <circle cx="50" cy="50" r="15" fill="none" stroke="var(--rk-node-brand)" stroke-width="4" class="anim-pulse"></circle>
                        <path class="anim-flow" d="M80 50 L100 50" stroke="var(--rk-node-heat)" stroke-width="6" stroke-linecap="round"></path>
                    </svg>
                </div>
                <div class="rk-node-text">
                    <h3>Produkcja energii (Zasilanie Główne)</h3>
                    <p>Pompa obiegowa wbudowana wewnątrz jednostki pompy ciepła tłoczy czynnik grzewczy na wysoki parametr narzucony przez najbardziej wymagający odbiornik w domu (grzejniki).</p>
                    <p>Jednostka produkuje wodę o temperaturze np. <strong>45°C</strong> i wysyła ją z dużą prędkością bezpośrednio do kotłowni.</p>
                </div>
            </div>

            <div class="rk-display-content" id="content-step-2">
                <div class="rk-node-graphic">
                    <svg class="rk-node-svg" viewBox="0 0 100 100">
                        <rect x="30" y="10" width="40" height="80" rx="10" fill="var(--rk-node-brand-light)" stroke="var(--rk-node-brand)" stroke-width="4"></rect>
                        <line x1="10" y1="30" x2="30" y2="30" stroke="var(--rk-node-heat)" stroke-width="4"></line>
                        <line x1="10" y1="70" x2="30" y2="70" stroke="var(--rk-node-cool)" stroke-width="4"></line>
                        <line x1="70" y1="30" x2="90" y2="30" stroke="var(--rk-node-heat)" stroke-width="4"></line>
                        <line x1="70" y1="70" x2="90" y2="70" stroke="var(--rk-node-cool)" stroke-width="4"></line>
                    </svg>
                </div>
                <div class="rk-node-text">
                    <h3>Bufor: Serce układu hybrydowego</h3>
                    <p>Woda z pompy ciepła wpada do bufora równoległego, który pełni funkcję sprzęgła hydraulicznego. Rozdziela on strumienie i zrównuje ciśnienia między układami o różnych oporach.</p>
                    <div class="rk-node-highlight">
                        Norma VDI 4650 wymusza zład min. 15 litrów na 1 kW mocy. Dla pompy 8 kW oznacza to zasobnik o pojemności co najmniej 120 litrów.
                    </div>
                </div>
            </div>

            <div class="rk-display-content" id="content-step-3">
                <div class="rk-node-graphic">
                    <svg class="rk-node-svg" viewBox="0 0 100 100">
                        <rect x="20" y="30" width="60" height="40" rx="4" fill="none" stroke="var(--rk-node-heat)" stroke-width="4"></rect>
                        <line x1="30" y1="30" x2="30" y2="70" stroke="var(--rk-node-heat)" stroke-width="2"></line>
                        <line x1="50" y1="30" x2="50" y2="70" stroke="var(--rk-node-heat)" stroke-width="2"></line>
                        <line x1="70" y1="30" x2="70" y2="70" stroke="var(--rk-node-heat)" stroke-width="2"></line>
                        <path class="anim-flow" d="M0 50 L20 50" stroke="var(--rk-node-heat)" stroke-width="4"></path>
                    </svg>
                </div>
                <div class="rk-node-text">
                    <h3>Odbiór Punktowy (Grzejniki)</h3>
                    <p>Z bufora wychodzą dwa niezależne obiegi wtórne. Pierwszy z nich, obieg bezpośredni, zasila grzejniki kaloryferowe wodą o pierwotnej temperaturze <strong>45°C</strong> za pomocą własnej pompy obiegowej.</p>
                    <p>Opór tego układu to często ułamek (ok. 10 kPa) tego, co generuje podłogówka, a zład wody wynosi zaledwie kilka litrów.</p>
                </div>
            </div>

            <div class="rk-display-content" id="content-step-4">
                <div class="rk-node-graphic">
                    <svg class="rk-node-svg" viewBox="0 0 100 100">
                        <path d="M20 20 L80 20 A 10 10 0 0 1 90 30 L90 30 A 10 10 0 0 1 80 40 L20 40 A 10 10 0 0 0 10 50 L10 50 A 10 10 0 0 0 20 60 L80 60" fill="none" stroke="var(--rk-node-safe)" stroke-width="6" stroke-linecap="round"></path>
                        <circle cx="20" cy="20" r="8" fill="var(--rk-node-heat)"></circle>
                        <circle cx="20" cy="40" r="8" fill="var(--rk-node-cool)"></circle>
                    </svg>
                </div>
                <div class="rk-node-text">
                    <h3>Odbiór Płaszczyznowy (Podłogówka)</h3>
                    <p>Obieg z zaworem mieszającym podsysa gorącą wodę z bufora, miesza ją z chłodną wodą wracającą z podłogi, redukując temperaturę do bezpiecznych <strong>30°C</strong> (zgodnie z PN-EN 1264).</p>
                    <div class="rk-node-highlight">
                        Brak takiego zaworu spowoduje podanie na posadzkę nawet 55°C w trakcie odszraniania parownika (defrost), co dosłownie rozerwie wylewkę i zniszczy rury PEX!
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const stepBtns = document.querySelectorAll('.rk-step-btn');
    const stepContents = document.querySelectorAll('.rk-display-content');

    stepBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Pobranie numeru kroku
            let stepId = this.getAttribute('data-step');

            // Resetowanie wszystkich przycisków
            stepBtns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Resetowanie wszystkich paneli treści
            stepContents.forEach(function(content) {
                content.classList.remove('active');
            });

            // Aktywacja wybranego przycisku i odpowiedniej treści
            this.classList.add('active');
            
            let targetContent = document.getElementById('content-step-' + stepId);
            if (targetContent !== null) {
                targetContent.classList.add('active');
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-grzejniki",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Jakie grzejniki do układu pompa ciepła podłogówka i grzejniki wybrać?",
    "description": "Zestawienie efektywności emiterów ciepła w układach niskotemperaturowych. Wybór między klimakonwektorami, grzejnikami V33 a starymi kaloryferami zgodnie z PN-EN 442.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-emitery",
    "name": "Wpływ typu odbiornika na efektywność instalacji mieszanej",
    "description": "Twarde dane z normy PN-EN 442 określające współczynniki przewymiarowania i parametry zasilania w zależności od zastosowanego emitera ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jakie grzejniki do pompy ciepła",
      "klimakonwektor do pompy ciepła",
      "przewymiarowanie grzejników stalowych",
      "stare grzejniki żeliwne a pompa ciepła",
      "grzejniki v33 wymiary do pompy ciepła"
    ],
    "measurementTechnique": "Obliczanie spadku sprawności SCOP i wielkości emitera (współczynnik 2.6) dla zasilania obniżonego do 45 stopni Celsjusza z punktu odniesienia 75/65/20.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Podłogówka: Zasilanie 35/28°C, wskaźnik bazowy 1.0, SCOP: 4.3 - 4.8",
        "Klimakonwektor: Zasilanie 35/30°C, wymusza konwekcję wentylatorem, SCOP: 4.1 - 4.5",
        "Grzejnik V33/C33: Zasilanie 45/35°C, przewymiarowany 2.6 raza, SCOP: 3.4 - 3.8",
        "Stary grzejnik: Zasilanie 55/45°C, dramatyczny spadek wydajności (70%), SCOP: 2.5 - 2.9"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-porownywarka",
    "name": "Interaktywna Porównywarka Emiterów Ciepła",
    "description": "Narzędzie symulujące wpływ decyzji o pozostawieniu starych grzejników lub inwestycji w nowe (V33 / fancoile) na roczne wskaźniki efektywności urządzenia grzewczego.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-em-dark: #0f172a;
    --rk-em-card: #ffffff;
    --rk-em-bg: #f8fafc;
    --rk-em-border: #cbd5e1;
    --rk-em-brand: #0284c7;
    --rk-em-text: #475569;
    --rk-em-green: #10b981;
    --rk-em-amber: #f59e0b;
    --rk-em-red: #ef4444;
}

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

.rk-em-header {
    background: var(--rk-em-dark);
    padding: 35px 40px;
    color: #ffffff;
}

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

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

.rk-em-body {
    padding: 35px 40px;
}

/* Przyciski wyboru - Grid */
.rk-em-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-em-btn {
    background: var(--rk-em-card);
    border: 2px solid var(--rk-em-border);
    border-radius: 16px;
    padding: 20px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.rk-em-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
}

.rk-em-btn.active {
    border-color: var(--rk-em-brand);
    background: #f0f9ff;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.15);
}

.rk-em-icon {
    width: 40px;
    height: 40px;
    color: #64748b;
    transition: color 0.3s;
}

.rk-em-btn.active .rk-em-icon {
    color: var(--rk-em-brand);
}

.rk-em-btn-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-em-dark);
    line-height: 1.3;
}

/* Panel wyników / Dashboard */
.rk-em-dashboard {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid var(--rk-em-border);
    padding: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}

.rk-em-stat {
    padding: 20px;
    background: var(--rk-em-bg);
    border-radius: 12px;
    border: 1px dashed var(--rk-em-border);
    text-align: center;
}

.rk-em-stat-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

.rk-em-stat-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-em-dark);
}

/* Dynamiczne kolory dla SCOP */
.rk-color-green { color: var(--rk-em-green); }
.rk-color-amber { color: var(--rk-em-amber); }
.rk-color-red { color: var(--rk-em-red); }

/* Opis techniczny na dole */
.rk-em-description {
    background: #ffffff;
    border-left: 4px solid var(--rk-em-brand);
    padding: 25px 30px;
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

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

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

.rk-em-description a {
    color: var(--rk-em-brand);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Mobile Responsywność */
@media (max-width: 768px) {
    .rk-em-header, .rk-em-body { padding: 25px 20px; }
    .rk-em-grid { grid-template-columns: 1fr 1fr; }
    .rk-em-dashboard { grid-template-columns: 1fr; gap: 15px; padding: 20px; }
    .rk-em-description { padding: 20px; }
}
</style>

<div class="rk-em-container" id="rk-emitters-app">
    <div class="rk-em-header">
        <h2>Jakie grzejniki do układu mieszanego z pompą ciepła?</h2>
        <p>Wybór emiterów determinuje sukces całej inwestycji. Zobacz, jak fizyka opisana w normie <strong>PN-EN 442</strong> weryfikuje wydajność poszczególnych rozwiązań przy obniżonym parametrze zasilania.</p>
    </div>

    <div class="rk-em-body">
        
        <div class="rk-em-grid" id="rkEmittersGrid">
            <button class="rk-em-btn active" data-type="floor">
                <svg class="rk-em-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="3" y1="15" x2="21" y2="15"></line></svg>
                <div class="rk-em-btn-title">Ogrzewanie<br>Podłogowe</div>
            </button>
            <button class="rk-em-btn" data-type="fancoil">
                <svg class="rk-em-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 18a6 6 0 0 0 0-12v12z"></path><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="M22 12h-2"></path><path d="M4 12H2"></path></svg>
                <div class="rk-em-btn-title">Fancoil<br>(Klimakonwektor)</div>
            </button>
            <button class="rk-em-btn" data-type="v33">
                <svg class="rk-em-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><line x1="9" y1="4" x2="9" y2="20"></line><line x1="15" y1="4" x2="15" y2="20"></line></svg>
                <div class="rk-em-btn-title">Płytowy V33<br>(Trzypłytowy)</div>
            </button>
            <button class="rk-em-btn" data-type="old">
                <svg class="rk-em-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16v16H4z"></path><line x1="4" y1="12" x2="20" y2="12"></line></svg>
                <div class="rk-em-btn-title">Stary Żeliwny<br>(Członowy)</div>
            </button>
        </div>

        <div class="rk-em-dashboard">
            <div class="rk-em-stat">
                <div class="rk-em-stat-label">Wymagane Zasilanie</div>
                <div class="rk-em-stat-val" id="rk-val-temp">35/28°C</div>
            </div>
            <div class="rk-em-stat">
                <div class="rk-em-stat-label">Przewymiarowanie</div>
                <div class="rk-em-stat-val" id="rk-val-factor">1.0 x</div>
            </div>
            <div class="rk-em-stat">
                <div class="rk-em-stat-label">Roczny SCOP (Szacunek)</div>
                <div class="rk-em-stat-val rk-color-green" id="rk-val-scop">4.3 - 4.8</div>
            </div>
        </div>

        <div class="rk-em-description" id="rk-val-desc">
            <h3>Baza odniesienia: Płaszczyzna</h3>
            <p>Standardowy układ podłogowy służy nam jako punkt zerowy. Działa na najniższym parametrze 35°C. Gwarantuje najwyższą sprawność kompresora i chroni dom przed drastycznym wzrostem rachunków.</p>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-em-btn');
    
    // Pola do aktualizacji
    const valTemp = document.getElementById('rk-val-temp');
    const valFactor = document.getElementById('rk-val-factor');
    const valScop = document.getElementById('rk-val-scop');
    const valDesc = document.getElementById('rk-val-desc');

    // Baza twardych danych
    const emitterData = {
        'floor': {
            temp: '35/28°C',
            factor: '1.0 x',
            scop: '4.3 - 4.8',
            colorClass: 'rk-color-green',
            title: 'Baza odniesienia: Płaszczyzna',
            text: 'Standardowy układ podłogowy służy nam jako punkt zerowy. Działa na najniższym parametrze 35°C. Gwarantuje najwyższą sprawność kompresora i współpracuje idealnie z <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompą ciepła</a>.'
        },
        'fancoil': {
            temp: '35/30°C',
            factor: '~1.1 x',
            scop: '4.1 - 4.5',
            colorClass: 'rk-color-green',
            title: 'Fancoile: Aktywna konwekcja',
            text: 'To grzejniki wyposażone w cichy wentylator wymuszający ruch powietrza. Pozwalają na pracę na bardzo niskim parametrze rzędu 35°C, zrównując się krzywą grzewczą z podłogówką. Co więcej, w lecie umożliwiają aktywne chłodzenie budynku.'
        },
        'v33': {
            temp: '45/35°C',
            factor: '2.6 x',
            scop: '3.4 - 3.8',
            colorClass: 'rk-color-amber',
            title: 'Bezpieczne Przewymiarowanie (V33/C33)',
            text: 'Dla parametru 45°C należy bezwzględnie zastosować grzejniki trzypłytowe z potrójnym konwektorem o zwiększonej powierzchni wymiany. Przewymiarowanie wynosi 2,6 raza w stosunku do mocy kotłowej. Podnosi to koszt modernizacji o ok. 2500 - 4000 PLN przy typowym domu.'
        },
        'old': {
            temp: '55/45°C',
            factor: '> 3.5 x',
            scop: '2.5 - 2.9',
            colorClass: 'rk-color-red',
            title: 'Zabójca SCOP i portfela',
            text: 'Klasyczne grzejniki żeliwne działają zaledwie na ułamku swojej mocy przy parametrze 45°C (spadek wydajności o ponad 70%). Próba obsługi ich przez pompę inwerterową doprowadzi do <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">astronomicznych kosztów ogrzewania</a> z uwagi na ciągłą pracę wspomagających grzałek elektrycznych.'
        }
    };

    // Obsługa kliknięć (bezpieczny JS)
    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Czyszczenie aktywnego stanu
            btns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Ustawienie klikniętego
            this.classList.add('active');
            
            let type = this.getAttribute('data-type');
            let data = emitterData[type];

            // Aktualizacja UI
            valTemp.textContent = data.temp;
            valFactor.textContent = data.factor;
            valScop.textContent = data.scop;
            
            // Zarządzanie kolorami
            valScop.className = 'rk-em-stat-val ' + data.colorClass;

            // Wstrzyknięcie opisu
            valDesc.innerHTML = '<h3>' + data.title + '</h3><p>' + data.text + '</p>';
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Kalkulator układu mieszanego: Jak policzyć moc i przepływy dla pompy ciepła?",
    "description": "Interaktywny algorytm obliczeniowy do wyznaczania masowego natężenia przepływu w instalacjach hybrydowych. Zobacz jak przeliczyć waty na litry na godzinę zgodnie z PN-EN 12831.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-wzory",
    "name": "Algorytm obliczeń przepływu hydraulicznego (OZC do Kvs)",
    "description": "Zestawienie wzorów matematycznych oraz stałych fizycznych dla wody (ciepło właściwe) pozwalające na dobranie odpowiednich pomp i zaworów mieszających.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator przepływu pompy ciepła",
      "jak obliczyć moc grzewczą pętli",
      "dobór kvs zaworu mieszającego",
      "wzór na przepływ wody w instalacji co",
      "obliczenie masowego natężenia przepływu"
    ],
    "measurementTechnique": "Przekształcenie wzoru na ciepło właściwe Q = m * c * deltaT, przy c = 4186 J/(kg*K), z dodaniem 15% naddatku na straty przesyłowe z bufora.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Krok 1: Wyznaczenie OZC z naddatkiem buforowym (+15%).",
        "Krok 2: Ustalenie delta T (7K dla podłogówki, 10K dla grzejników, 5K dla PC).",
        "Krok 3: Obliczenie masowego natężenia przepływu w kg/h.",
        "Krok 4: Wyznaczenie przepustowości Kvs zaworu trójdrogowego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-kalkulator",
    "name": "Kalkulator Przepływów Hydraulicznych C.O.",
    "description": "Interaktywny suwak pozwalający inwestorom i instalatorom na przeliczenie w czasie rzeczywistym strat cieplnych na wymagany przepływ czynnika w litrach na godzinę.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-calc-bg: #ffffff;
    --rk-calc-border: #cbd5e1;
    --rk-calc-dark: #0f172a;
    --rk-calc-text: #475569;
    --rk-calc-primary: #0284c7;
    --rk-calc-primary-hover: #0369a1;
    --rk-calc-accent-heat: #ef4444;
    --rk-calc-accent-floor: #f59e0b;
    --rk-calc-accent-main: #10b981;
    --rk-calc-panel: #f8fafc;
}

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

.rk-calc-header {
    background: linear-gradient(135deg, var(--rk-calc-dark), #1e293b);
    padding: 35px 40px;
    color: #ffffff;
}

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

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

.rk-calc-body {
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

/* Sekcja suwaków (Input) */
.rk-calc-controls {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.rk-input-group {
    background: var(--rk-calc-panel);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-calc-border);
}

.rk-input-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin-bottom: 20px;
}

.rk-val-display {
    background: #ffffff;
    padding: 6px 12px;
    border-radius: 8px;
    border: 1px solid var(--rk-calc-primary);
    color: var(--rk-calc-primary);
    font-size: 18px;
}

/* Ostylowanie suwaka */
.rk-range-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    outline: none;
    margin-top: 10px;
}

.rk-range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-primary);
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(2, 132, 199, 0.4);
    transition: transform 0.1s;
}

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

/* Przełączniki typu strefy */
.rk-radio-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-radio-btn {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    border: 2px solid var(--rk-calc-border);
    border-radius: 12px;
    cursor: pointer;
    background: #ffffff;
    transition: all 0.2s;
}

.rk-radio-btn[data-selected="true"] {
    border-color: var(--rk-calc-primary);
    background: #f0f9ff;
}

.rk-radio-icon {
    width: 24px;
    height: 24px;
    color: #94a3b8;
}

.rk-radio-btn[data-selected="true"] .rk-radio-icon {
    color: var(--rk-calc-primary);
}

.rk-radio-text {
    font-weight: 700;
    color: var(--rk-calc-dark);
    font-size: 15px;
}

.rk-radio-desc {
    font-weight: 500;
    color: var(--rk-calc-text);
    font-size: 13px;
}

/* Sekcja wyników (Output) */
.rk-calc-results {
    background: var(--rk-calc-dark);
    border-radius: 20px;
    padding: 30px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 25px;
    position: relative;
    overflow: hidden;
}

.rk-results-bg-icon {
    position: absolute;
    right: -20px;
    bottom: -20px;
    width: 150px;
    height: 150px;
    color: rgba(255, 255, 255, 0.03);
    z-index: 1;
}

.rk-result-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px;
    border-radius: 12px;
    position: relative;
    z-index: 2;
}

.rk-result-title {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
    margin-bottom: 8px;
    font-weight: 700;
}

.rk-result-val {
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.rk-result-unit {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-calc-primary);
}

.rk-result-highlight { color: var(--rk-calc-accent-main); }
.rk-result-warn { color: var(--rk-calc-accent-floor); }

/* Sekcja teoretczna na dole */
.rk-calc-theory {
    padding: 0 40px 40px 40px;
}

.rk-calc-theory h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0 0 20px 0;
    border-top: 1px solid var(--rk-calc-border);
    padding-top: 30px;
}

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

.rk-step-item {
    background: var(--rk-calc-panel);
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-calc-primary);
}

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

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

.rk-step-item a {
    color: var(--rk-calc-primary);
    font-weight: 700;
    text-decoration: none;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .rk-calc-header, .rk-calc-body, .rk-calc-theory { padding: 25px 20px; }
    .rk-calc-body { grid-template-columns: 1fr; gap: 20px; }
    .rk-calc-results { padding: 25px 20px; }
    .rk-result-val { font-size: 26px; }
}
</style>

<div class="rk-calc-wrapper" id="rk-interactive-calc">
    <div class="rk-calc-header">
        <h2>Kalkulator układu mieszanego: Jak policzyć moc i przepływy?</h2>
        <p>Zgodnie z prawami fizyki budowli zawartymi w normie PN-EN 12831, instalacje grzewcze nie tolerują zgadywania. Użyj poniższego algorytmu, aby przekształcić projektowe straty cieplne na twarde parametry hydrauliczne (wzór Q = m * c * deltaT).</p>
    </div>

    <div class="rk-calc-body">
        <div class="rk-calc-controls">
            
            <div class="rk-input-group">
                <div class="rk-input-label">
                    <span>Zapotrzebowanie pokoju / strefy</span>
                    <span class="rk-val-display"><span id="rk-val-ozc">2000</span> W</span>
                </div>
                <input type="range" id="rk-range-ozc" class="rk-range-slider" min="500" max="10000" step="100" value="2000">
                <p style="font-size:12px; color:#64748b; margin-top:15px; margin-bottom:0;">Wybierz wyliczone straty ciepła dla wybranego pomieszczenia (lub całego domu dla pompy ciepła).</p>
            </div>

            <div class="rk-input-group">
                <div class="rk-input-label">Wybierz typ odbiornika (Delta T)</div>
                <div class="rk-radio-group">
                    
                    <div class="rk-radio-btn" data-type="floor" data-selected="true">
                        <svg class="rk-radio-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="3" y1="15" x2="21" y2="15"></line></svg>
                        <div>
                            <div class="rk-radio-text">Pętla Podłogówki</div>
                            <div class="rk-radio-desc">Różnica temp. 7K (np. 35°C - 28°C)</div>
                        </div>
                    </div>

                    <div class="rk-radio-btn" data-type="radiator" data-selected="false">
                        <svg class="rk-radio-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16v16H4z"></path><line x1="8" y1="4" x2="8" y2="20"></line><line x1="12" y1="4" x2="12" y2="20"></line><line x1="16" y1="4" x2="16" y2="20"></line></svg>
                        <div>
                            <div class="rk-radio-text">Grzejnik Niskotemperaturowy</div>
                            <div class="rk-radio-desc">Różnica temp. 10K (np. 45°C - 35°C)</div>
                        </div>
                    </div>

                    <div class="rk-radio-btn" data-type="main" data-selected="false">
                        <svg class="rk-radio-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg>
                        <div>
                            <div class="rk-radio-text">Zasilanie Główne do Bufora</div>
                            <div class="rk-radio-desc">Różnica temp. 5K (Pompa Ciepła R32/R290)</div>
                        </div>
                    </div>

                </div>
            </div>

        </div>

        <div class="rk-calc-results">
            <svg class="rk-results-bg-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1"><path d="M2 12h4l2-9 5 18 3-9h6"></path></svg>
            
            <div class="rk-result-card">
                <div class="rk-result-title">1. Moc Obliczeniowa (+15% Naddatku)</div>
                <div class="rk-result-val"><span id="rk-res-power">2300</span> <span class="rk-result-unit">W</span></div>
                <p style="font-size:12px; margin:5px 0 0 0; color:#94a3b8;">Skorygowane OZC pod straty przesyłowe za buforem.</p>
            </div>

            <div class="rk-result-card">
                <div class="rk-result-title">2. Masowe Natężenie Przepływu (m)</div>
                <div class="rk-result-val rk-result-highlight"><span id="rk-res-flow">282.5</span> <span class="rk-result-unit">kg/h (litrów/h)</span></div>
                <p style="font-size:12px; margin:5px 0 0 0; color:#94a3b8;">Kluczowy parametr doboru <a href="https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/" style="color:#38bdf8;">pompy obiegowej</a>.</p>
            </div>

            <div class="rk-result-card">
                <div class="rk-result-title">3. Rekomendacja / Wskazówka</div>
                <p id="rk-res-tip" style="font-size:14px; margin:0; line-height:1.5; color:#cbd5e1;">Rozbij ten przepływ na 3-4 pętle, aby na rotametrze ustawić przepływ ok. 1.5 l/min na sekcję.</p>
            </div>
        </div>
    </div>

    <div class="rk-calc-theory">
        <h3>Ścisły algorytm obliczeniowy krok po kroku</h3>
        <div class="rk-step-grid">
            <div class="rk-step-item">
                <h4>Krok 1: Wyznaczenie mocy z naddatkiem (OZC)</h4>
                <p>Każde pomieszczenie wymaga obliczenia strat ciepła przez przenikanie i wentylację (<a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilans OZC</a>). W układach mieszanych dodajemy naddatek na straty przesyłowe z bufora do rozdzielaczy (min. 15%). Wzór: <strong>Q_obl = Q_pomieszczenia * 1,15</strong>.</p>
            </div>
            
            <div class="rk-step-item">
                <h4>Krok 2: Ustalenie projektowej różnicy temperatur</h4>
                <p>Delta T definiuje, ile energii cieplnej zostawiamy w danym punkcie. Obieg podłogowy wymaga płaskiej wymiany (np. zasilanie 35, powrót 28 = 7K). Grzejniki potrzebują wyższej delty (np. zasilanie 45, powrót 35 = 10K). Dla zasilania głównego sprężarki PC przyjmuje się rygorystyczne 5K.</p>
            </div>

            <div class="rk-step-item">
                <h4>Krok 3 i 4: Masowy przepływ i Kvs</h4>
                <p>Zamieniamy Waty na litry wg wzoru: <strong>m = (Q_obl * 3600) / (c * Delta T)</strong>, gdzie stała c=4186 J/(kg*K). Twarde wyliczenie przepływu m pozwala bezbłędnie dobrać <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zawór trójdrogowy mieszający</a> (np. Kvs 4.0 m3/h) chroniąc system przed szumami akustycznymi.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Referencje UI
    const sliderOzc = document.getElementById('rk-range-ozc');
    const displayOzc = document.getElementById('rk-val-ozc');
    
    const radioBtns = document.querySelectorAll('.rk-radio-btn');
    
    const resPower = document.getElementById('rk-res-power');
    const resFlow = document.getElementById('rk-res-flow');
    const resTip = document.getElementById('rk-res-tip');

    // Stała fizyczna - Ciepło właściwe wody J/(kg*K)
    const C_WATER = 4186;

    // Funkcja główna licząca (bezpieczna, bez uzycia &&)
    function calculateHydraulics() {
        // Pobranie i sformatowanie wartości suwaka
        let qBase = parseInt(sliderOzc.value, 10);
        displayOzc.textContent = qBase;

        // Krok 1: Dodanie 15% naddatku
        let qCalc = qBase * 1.15;
        resPower.textContent = Math.round(qCalc);

        // Znalezienie aktywnego typu instalacji, aby ustalić Delta T
        let activeBtn = document.querySelector('.rk-radio-btn[data-selected="true"]');
        let sysType = activeBtn.getAttribute('data-type');
        
        let deltaT = 7; // domyślnie podłoga
        
        if (sysType === 'floor') { deltaT = 7; }
        if (sysType === 'radiator') { deltaT = 10; }
        if (sysType === 'main') { deltaT = 5; }

        // Krok 3: Obliczenie masowego przepływu m = (Q * 3600) / (c * dT)
        let flowNumerator = qCalc * 3600;
        let flowDenominator = C_WATER * deltaT;
        let flow = flowNumerator / flowDenominator;
        
        resFlow.textContent = flow.toFixed(1);

        // Wskazówki dynamiczne
        if (sysType === 'floor') {
            resTip.textContent = "Podziel ten przepływ na odpowiednią liczbę pętli, dbając by na rotametrze nie przekraczać ok. 1.5 - 2.0 l/min na jedną sekcję.";
        }
        if (sysType === 'radiator') {
            resTip.textContent = "Wyższa różnica temperatur (10K) skutkuje mniejszym przepływem. Pozwala to na użycie cieńszych rur dobiegowych (np. PEX 16x2.0) bez ryzyka szumów na zaworach.";
        }
        if (sysType === 'main') {
            resTip.textContent = "To ogromny przepływ wymuszony rygorem 5K dla pompy ciepła. Użyj rur o dużej średnicy wewnętrznej (np. miedź 28mm lub PP 32x4.4), inaczej zadławisz sprężarkę.";
        }
    }

    // Nasłuchiwanie na zmiany suwaka
    sliderOzc.addEventListener('input', calculateHydraulics);

    // Nasłuchiwanie na kliknięcia w typ instalacji
    radioBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Zresetuj wszystkie
            radioBtns.forEach(function(b) {
                b.setAttribute('data-selected', 'false');
            });
            // Ustaw kliknięty
            this.setAttribute('data-selected', 'true');
            // Przelicz
            calculateHydraulics();
        });
    });

    // Inicjalne przeliczenie przy załadowaniu
    calculateHydraulics();
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Najczęstsze błędy instalacyjne w systemach mieszanych i ich konsekwencje",
    "description": "Zjawisko przepływu zwarciowego w układzie hybrydowym. Skutki braku kryzowania, taktowania pompy ciepła i straty finansowe rzędu 1200 PLN rocznie.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-bledy-opory",
    "name": "Analiza przepływu zwarciowego i strat hydraulicznych",
    "description": "Zestawienie porównawcze oporów przepływu między strefą płaszczyznową a konwekcyjną oraz ich wpływ na algorytmy pracy pompy ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "przepływ zwarciowy w instalacji co",
      "taktowanie pompy ciepła podłogówka",
      "kryzowanie grzejników przy pompie ciepła",
      "rotametry nie pokazują przepływu",
      "brak regulacji hydraulicznej skutki"
    ],
    "measurementTechnique": "Diagnostyka spadków ciśnień (25 kPa vs 10 kPa) oraz ograniczenia przepustowości Kv na zaworach termostatycznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Opory układu: Podłogówka generuje ok. 25 kPa, grzejniki bez dławienia zaledwie 10 kPa.",
        "Straty finansowe: Brak zrównoważenia powoduje straty od 800 do 1200 PLN rocznie na rachunkach za prąd.",
        "Czas ładowania: Wylewka cementowa/anhydrytowa wymaga min. 3 godzin ciągłego przepływu, czemu zapobiega taktująca (co 10 minut) sprężarka."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-diagnostyka",
    "name": "Interaktywny Panel Diagnostyczny Układu Hybrydowego",
    "description": "Narzędzie typu tab/accordion analizujące ścieżkę od błędu instalacyjnego do jego fizycznych objawów w domu i ostatecznego rozwiązania inżynierskiego.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-diag-dark: #1f2937;
    --rk-diag-red: #ef4444;
    --rk-diag-red-light: #fef2f2;
    --rk-diag-orange: #f97316;
    --rk-diag-orange-light: #fff7ed;
    --rk-diag-green: #10b981;
    --rk-diag-green-light: #f0fdf4;
    --rk-diag-border: #e5e7eb;
    --rk-diag-text: #4b5563;
    --rk-diag-bg: #ffffff;
}

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

.rk-diag-header {
    padding: 35px 40px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-diag-border);
}

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

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

.rk-diag-content {
    padding: 30px 40px;
}

/* Układ przycisków */
.rk-diag-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

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

.rk-diag-btn-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-diag-dark);
}

.rk-diag-btn-subtitle {
    font-size: 13px;
    color: var(--rk-diag-text);
}

/* Stany aktywne dla poszczególnych przycisków */
.rk-diag-btn.active[data-tab="problem"] {
    border-color: var(--rk-diag-red);
    background: var(--rk-diag-red-light);
}

.rk-diag-btn.active[data-tab="symptoms"] {
    border-color: var(--rk-diag-orange);
    background: var(--rk-diag-orange-light);
}

.rk-diag-btn.active[data-tab="solution"] {
    border-color: var(--rk-diag-green);
    background: var(--rk-diag-green-light);
}

/* Ikony SVG w przyciskach */
.rk-diag-icon {
    width: 32px;
    height: 32px;
    color: #9ca3af;
    transition: color 0.3s;
}

.rk-diag-btn.active[data-tab="problem"] .rk-diag-icon { color: var(--rk-diag-red); }
.rk-diag-btn.active[data-tab="symptoms"] .rk-diag-icon { color: var(--rk-diag-orange); }
.rk-diag-btn.active[data-tab="solution"] .rk-diag-icon { color: var(--rk-diag-green); }

/* Panele z treścią */
.rk-diag-panel {
    display: none;
    animation: rkSlideUp 0.4s ease forwards;
}

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

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

.rk-diag-panel-inner {
    display: flex;
    gap: 30px;
    align-items: center;
}

.rk-diag-panel-text {
    flex: 1;
}

.rk-diag-panel-text h3 {
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 15px 0;
}

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

.rk-diag-panel-text ul {
    margin: 0;
    padding-left: 20px;
    color: var(--rk-diag-text);
}

.rk-diag-panel-text li {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 8px;
}

.rk-diag-panel-text a {
    color: #0284c7;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed #0284c7;
}

.rk-diag-panel-text a:hover {
    border-bottom-style: solid;
}

.rk-diag-visual {
    flex: 0 0 150px;
    display: flex;
    justify-content: center;
}

.rk-diag-svg-large {
    width: 100%;
    max-width: 120px;
    height: auto;
}

/* Animacje wizualne */
.anim-pulse-red { animation: rkPulseRed 2s infinite; transform-origin: center; }
@keyframes rkPulseRed { 0% { transform: scale(0.95); opacity: 0.8; } 50% { transform: scale(1.05); opacity: 1; } 100% { transform: scale(0.95); opacity: 0.8; } }

.anim-spin-slow { animation: rkSpinSlow 4s linear infinite; transform-origin: center; }
@keyframes rkSpinSlow { 100% { transform: rotate(360deg); } }

/* Pogrubienia i highlighty */
.rk-bold-val {
    font-weight: 800;
    color: var(--rk-diag-dark);
    background: #f1f5f9;
    padding: 2px 6px;
    border-radius: 4px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .rk-diag-header, .rk-diag-content { padding: 25px 20px; }
    .rk-diag-tabs { flex-direction: column; gap: 10px; }
    .rk-diag-btn { flex-direction: row; text-align: left; padding: 15px; justify-content: flex-start; gap: 15px; }
    .rk-diag-panel-inner { flex-direction: column; text-align: center; }
    .rk-diag-panel-text ul { text-align: left; }
    .rk-diag-visual { margin-bottom: 15px; }
}
</style>

<div class="rk-diag-container" id="rk-diag-tool">
    <div class="rk-diag-header">
        <h2>Najczęstsze błędy instalacyjne w systemach mieszanych i ich konsekwencje</h2>
        <p>Zjawisko przepływu zwarciowego to najgrubszy grzech polskiego rynku, łamiący wytyczne PORT PC. Kosztuje inwestora średnio od <strong>800 do 1200 PLN</strong> strat rocznie na rachunkach. Zdiagnozuj problem krok po kroku.</p>
    </div>

    <div class="rk-diag-content">
        <div class="rk-diag-tabs">
            <div class="rk-diag-btn active" data-tab="problem">
                <svg class="rk-diag-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                <div class="rk-diag-btn-text">
                    <div class="rk-diag-btn-title">Źródło Błędu</div>
                    <div class="rk-diag-btn-subtitle">Brak kryzowania</div>
                </div>
            </div>
            <div class="rk-diag-btn" data-tab="symptoms">
                <svg class="rk-diag-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                <div class="rk-diag-btn-text">
                    <div class="rk-diag-btn-title">Objawy Fizyczne</div>
                    <div class="rk-diag-btn-subtitle">Zimna podłoga</div>
                </div>
            </div>
            <div class="rk-diag-btn" data-tab="solution">
                <svg class="rk-diag-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                <div class="rk-diag-btn-text">
                    <div class="rk-diag-btn-title">Lekarstwo Inżynierskie</div>
                    <div class="rk-diag-btn-subtitle">Ograniczenie Kv</div>
                </div>
            </div>
        </div>

        <div class="rk-diag-panels">
            <div class="rk-diag-panel active" id="panel-problem">
                <div class="rk-diag-panel-inner">
                    <div class="rk-diag-visual">
                        <svg class="rk-diag-svg-large anim-pulse-red" viewBox="0 0 100 100">
                            <circle cx="50" cy="50" r="40" fill="none" stroke="var(--rk-diag-red)" stroke-width="6" stroke-dasharray="15 10"></circle>
                            <path d="M50 25 L50 55 M50 70 L50 75" stroke="var(--rk-diag-red)" stroke-width="8" stroke-linecap="round"></path>
                        </svg>
                    </div>
                    <div class="rk-diag-panel-text">
                        <h3 style="color: var(--rk-diag-red);">Przepływ zwarciowy</h3>
                        <p>Woda zawsze płynie po linii najmniejszego oporu. Zmontowanie układu, gdzie na jednym rozdzielaczu mamy opory rzędu <span class="rk-bold-val">25 kPa</span> (długie pętle podłogówki), a na drugim zaledwie <span class="rk-bold-val">10 kPa</span> (krótkie obiegi grzejników bez dławienia powrotnego), to katastrofa.</p>
                        <p>Woda wyrzucona przez grupę pompową natychmiast "ucieknie" na grzejniki, całkowicie omijając instalację płaszczyznową zalaną w wylewce.</p>
                    </div>
                </div>
            </div>

            <div class="rk-diag-panel" id="panel-symptoms">
                <div class="rk-diag-panel-inner">
                    <div class="rk-diag-visual">
                        <svg class="rk-diag-svg-large" viewBox="0 0 100 100">
                            <path d="M20 80 L20 20 L80 80 Z" fill="var(--rk-diag-orange-light)" stroke="var(--rk-diag-orange)" stroke-width="4"></path>
                            <circle cx="65" cy="65" r="5" fill="var(--rk-diag-orange)"></circle>
                            <circle cx="50" cy="50" r="5" fill="var(--rk-diag-orange)"></circle>
                            <circle cx="35" cy="35" r="5" fill="var(--rk-diag-orange)"></circle>
                        </svg>
                    </div>
                    <div class="rk-diag-panel-text">
                        <h3 style="color: var(--rk-diag-orange);">Efekt u klienta? Chaos instalacyjny.</h3>
                        <ul>
                            <li>Grzejniki parzą, a podłoga na parterze pozostaje lodowata.</li>
                            <li><a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">Rotametry na rozdzielaczu podłogowym</a> nie chcą się podnieść, mimo że pompa tłoczy na 3. biegu.</li>
                            <li><strong>Taktowanie:</strong> Pompa ciepła zczytuje wysoką temperaturę powrotu (woda szybko wraca z grzejników) i wyłącza sprężarkę po 10 minutach. Podłogówka, potrzebująca min. <span class="rk-bold-val">3 godzin</span> ładowania, nie ma szans się nagrzać.</li>
                        </ul>
                    </div>
                </div>
            </div>

            <div class="rk-diag-panel" id="panel-solution">
                <div class="rk-diag-panel-inner">
                    <div class="rk-diag-visual">
                        <svg class="rk-diag-svg-large anim-spin-slow" viewBox="0 0 100 100">
                            <circle cx="50" cy="50" r="30" fill="none" stroke="var(--rk-diag-green)" stroke-width="8"></circle>
                            <path d="M50 10 L50 30 M50 70 L50 90 M10 50 L30 50 M70 50 L90 50" stroke="var(--rk-diag-green)" stroke-width="8" stroke-linecap="round"></path>
                        </svg>
                    </div>
                    <div class="rk-diag-panel-text">
                        <h3 style="color: var(--rk-diag-green);">Matematyka, nie metoda prób i błędów</h3>
                        <p>Lekarstwem jest nastawa wstępna na zaworach termostatycznych grzejników (tzw. <strong>ograniczenie Kv</strong>) oraz precyzyjne ustawienie przepływów wyliczone w projekcie instalacji.</p>
                        <p>Należy również zweryfikować fizykę budynku. Jeśli np. <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">izolacja poddasza</a> to zaledwie 15 cm piany, straty zmuszą pompę do podbicia krzywej grzewczej. Warto wdrożyć <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">rekuperację</a>, która obniżając OZC, pozwala na redukcję parametrów zasilania.</p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-diag-btn');
    const panels = {
        'problem': document.getElementById('panel-problem'),
        'symptoms': document.getElementById('panel-symptoms'),
        'solution': document.getElementById('panel-solution')
    };

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            // Bezpieczne sprawdzenie bez użycia operatorów logicznych && / ||
            let isActive = this.classList.contains('active');
            
            if (isActive === false) {
                // Czyszczenie stanów aktywnych z przycisków
                tabs.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Ukrywanie wszystkich paneli
                panels['problem'].classList.remove('active');
                panels['symptoms'].classList.remove('active');
                panels['solution'].classList.remove('active');

                // Aktywacja wybranego elementu
                this.classList.add('active');
                let targetId = this.getAttribute('data-tab');
                
                if (targetId === 'problem') { panels['problem'].classList.add('active'); }
                else if (targetId === 'symptoms') { panels['symptoms'].classList.add('active'); }
                else if (targetId === 'solution') { panels['solution'].classList.add('active'); }
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-ozc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Wpływ OZC na projekt układu mieszanego",
    "description": "Jak precyzyjne obliczenia OZC kształtują projekt ogrzewania podłogowego przy współpracy z grzejnikami. Gęstość rur, parametry zasilania i optymalizacja SCOP pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-parametry-ozc",
    "name": "Wytyczne projektowe dla układów hybrydowych (PN-EN 12831)",
    "description": "Twarde dane techniczne dotyczące kompensacji obniżonej temperatury zasilania poprzez zagęszczenie pętli ogrzewania podłogowego i przewymiarowanie emiterów konwekcyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak oblicza się straty cieplne w budynkach",
      "rozstaw rur ogrzewania podłogowego przy pompie ciepła",
      "projektowe obciążenie cieplne ozc",
      "maksymalna temperatura zasilania podłogówki",
      "grubość wylewki betonowej na ogrzewanie podłogowe",
      "opór cieplny paneli przy podłogówce",
      "pompa ciepła podłogówka i grzejniki schemat",
      "dobór wielkości grzejników do pompy ciepła"
    ],
    "measurementTechnique": "Algorytmiczne przeliczanie mocy oddawanej (W/m2) z powierzchni podłogi w funkcji temperatury zasilania oraz oporu cieplnego warstw wykończeniowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zagęszczenie rur: Zmiana rozstawu z 15 cm na 10 cm, w strefach brzegowych HST zagęszczenie do 5 cm.",
        "Moc jednostkowa: Cel na poziomie 60 W/m2 przy temperaturze zasilania zredukowanej do 32-35 stopni Celsjusza.",
        "Emiter wysokotemperaturowy: Grzejnik płytowy C33 przewymiarowany dla parametru 45 stopni Celsjusza."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-symulator-stref",
    "name": "Symulator Zapotrzebowania Cieplnego Stref",
    "description": "Narzędzie interaktywne ilustrujące różnice w projektowaniu płaszczyznowym (parter) i konwekcyjnym (piętro) na podstawie tego samego pliku OZC budynku.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-ozc-dark: #1e293b;
    --rk-ozc-card: #ffffff;
    --rk-ozc-bg: #f8fafc;
    --rk-ozc-border: #e2e8f0;
    --rk-ozc-brand: #0284c7;
    --rk-ozc-brand-hover: #0369a1;
    --rk-ozc-accent-warm: #f59e0b;
    --rk-ozc-accent-cool: #0ea5e9;
    --rk-ozc-text-main: #334155;
}

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

.rk-ozc-header {
    background: var(--rk-ozc-dark);
    padding: 35px 40px;
    color: #ffffff;
    position: relative;
}

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

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

.rk-ozc-content {
    padding: 40px;
}

/* Przełącznik stref (Tab / Accordion logic) */
.rk-ozc-nav {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-ozc-tab-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 18px 20px;
    background: var(--rk-ozc-card);
    border: 2px solid var(--rk-ozc-border);
    border-radius: 16px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-ozc-text-main);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

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

.rk-ozc-tab-btn.active[data-target="floor"] {
    border-color: var(--rk-ozc-accent-warm);
    background: #fffbeb;
    color: #b45309;
    box-shadow: 0 10px 20px -5px rgba(245, 158, 11, 0.15);
}

.rk-ozc-tab-btn.active[data-target="radiator"] {
    border-color: var(--rk-ozc-brand);
    background: #f0f9ff;
    color: var(--rk-ozc-brand-hover);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.15);
}

/* Panele zawartości */
.rk-ozc-panel {
    display: none;
    background: var(--rk-ozc-card);
    border-radius: 20px;
    border: 1px solid var(--rk-ozc-border);
    padding: 35px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    animation: rkFadeIn 0.4s ease forwards;
}

.rk-ozc-panel.active {
    display: flex;
    gap: 35px;
    align-items: flex-start;
}

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

.rk-ozc-panel-graphic {
    flex: 0 0 140px;
    text-align: center;
}

.rk-ozc-svg-icon {
    width: 100%;
    max-width: 120px;
    height: auto;
}

/* Animacje SVG */
.anim-pipe { stroke-dasharray: 1000; stroke-dashoffset: 1000; animation: drawPipe 2s ease forwards; }
.anim-heat-wave { transform-origin: bottom; animation: heatRise 2s infinite alternate ease-in-out; }

@keyframes drawPipe { to { stroke-dashoffset: 0; } }
@keyframes heatRise { from { transform: translateY(5px) scaleY(0.9); opacity: 0.6; } to { transform: translateY(-5px) scaleY(1.1); opacity: 1; } }

.rk-ozc-panel-text {
    flex: 1;
}

.rk-ozc-panel-text h3 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 800;
}

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

.rk-ozc-data-highlight {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    font-weight: 800;
    background: #e2e8f0;
}

/* Mocne CTA na dole */
.rk-ozc-cta-box {
    background: #ffffff;
    padding: 40px;
    text-align: center;
    border-top: 1px dashed var(--rk-ozc-border);
}

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

.rk-ozc-cta-box p {
    color: #64748b;
    margin: 0 auto 30px auto;
    max-width: 650px;
    line-height: 1.6;
}

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

.rk-btn-cta:hover {
    transform: translateY(-4px);
    background: var(--rk-ozc-brand-hover);
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.5);
    border-color: #bae6fd;
}

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

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

/* Mobile Responsive - Accordion/Stack style */
@media (max-width: 768px) {
    .rk-ozc-header, .rk-ozc-content, .rk-ozc-cta-box { padding: 30px 20px; }
    .rk-ozc-nav { flex-direction: column; gap: 10px; }
    .rk-ozc-panel.active { flex-direction: column; text-align: center; align-items: center; padding: 25px 20px; }
    .rk-ozc-panel-graphic { flex: 0 0 auto; margin-bottom: 10px; }
    .rk-btn-cta { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<div class="rk-ozc-container" id="rk-ozc-simulator">
    <div class="rk-ozc-header">
        <h2>Jak OZC i system mieszany wpływają na projekt ogrzewania?</h2>
        <p>Wdrożenie systemu z pompą ciepła bezwzględnie wymaga zaktualizowanych, rygorystycznych obliczeń według normy <strong>PN-EN 12831-1:2017-08</strong>. Optymalizacja instalacji to walka o maksymalne obniżenie temperatury zasilania. Zobacz, jak wpływa to na poszczególne strefy budynku.</p>
    </div>

    <div class="rk-ozc-content">
        <div class="rk-ozc-nav">
            <button class="rk-ozc-tab-btn active" data-target="floor">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="3" y1="15" x2="21" y2="15"></line></svg>
                Strefa Parteru (Podłogówka)
            </button>
            <button class="rk-ozc-tab-btn" data-target="radiator">
                <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="M4 4h16v16H4z"></path><line x1="8" y1="4" x2="8" y2="20"></line><line x1="12" y1="4" x2="12" y2="20"></line><line x1="16" y1="4" x2="16" y2="20"></line></svg>
                Strefa Piętra (Grzejniki)
            </button>
        </div>

        <div class="rk-ozc-panel active" id="panel-floor">
            <div class="rk-ozc-panel-graphic">
                <svg class="rk-ozc-svg-icon" viewBox="0 0 100 100">
                    <path class="anim-pipe" d="M10 20 L90 20 A 10 10 0 0 1 100 30 L100 30 A 10 10 0 0 1 90 40 L10 40 A 10 10 0 0 0 0 50 L0 50 A 10 10 0 0 0 10 60 L90 60 A 10 10 0 0 1 100 70 L100 70 A 10 10 0 0 1 90 80 L10 80" fill="none" stroke="var(--rk-ozc-accent-warm)" stroke-width="6" stroke-linecap="round"></path>
                </svg>
            </div>
            <div class="rk-ozc-panel-text">
                <h3 style="color: #b45309;">Ekstremalna kompensacja pętlami</h3>
                <p>Wiedząc z pliku OZC, że nie mogę wysłać na dom wody o temperaturze 55°C (bo zniszczę sprawność SCOP pompy ciepła), muszę "zapakować" rurę w beton na parterze niezwykle gęsto. Tylko wtedy układ odda stabilnie <span class="rk-ozc-data-highlight">60 W/m²</span>.</p>
                <p>Konieczne jest zagęszczenie rozstawu rur z typowych 15 cm na <span class="rk-ozc-data-highlight">10 cm</span>, a w strefach obwodowych (przy ogromnych oknach tarasowych HST) schodzimy w projekcie nawet do <span class="rk-ozc-data-highlight">5 cm</span>. Pod uwagę w algorytmach bierzemy również docelowy opór cieplny paneli (R &lt; 0,15 m²K/W) oraz precyzyjną grubość jastrychu.</p>
            </div>
        </div>

        <div class="rk-ozc-panel" id="panel-radiator">
            <div class="rk-ozc-panel-graphic">
                <svg class="rk-ozc-svg-icon" viewBox="0 0 100 100">
                    <path class="anim-heat-wave" d="M30 40 Q 40 20 30 0" fill="none" stroke="var(--rk-ozc-accent-cool)" stroke-width="4" stroke-linecap="round"></path>
                    <path class="anim-heat-wave" d="M50 40 Q 60 20 50 0" fill="none" stroke="var(--rk-ozc-accent-cool)" stroke-width="4" stroke-linecap="round" style="animation-delay: 0.5s;"></path>
                    <path class="anim-heat-wave" d="M70 40 Q 80 20 70 0" fill="none" stroke="var(--rk-ozc-accent-cool)" stroke-width="4" stroke-linecap="round" style="animation-delay: 1s;"></path>
                    <rect x="15" y="45" width="70" height="50" rx="4" fill="none" stroke="var(--rk-ozc-brand)" stroke-width="6"></rect>
                    <line x1="25" y1="45" x2="25" y2="95" stroke="var(--rk-ozc-brand)" stroke-width="4"></line>
                    <line x1="40" y1="45" x2="40" y2="95" stroke="var(--rk-ozc-brand)" stroke-width="4"></line>
                    <line x1="55" y1="45" x2="55" y2="95" stroke="var(--rk-ozc-brand)" stroke-width="4"></line>
                    <line x1="70" y1="45" x2="70" y2="95" stroke="var(--rk-ozc-brand)" stroke-width="4"></line>
                </svg>
            </div>
            <div class="rk-ozc-panel-text">
                <h3 style="color: var(--rk-ozc-brand-hover);">Przewymiarowanie emiterów ciepła</h3>
                <p>Z kolei na piętrze, opierając się na tym samym bilansie OZC, muszę dobrać wielkość fizyczną grzejnika płytowego do z góry założonego parametru zasilania <span class="rk-ozc-data-highlight">45°C</span> (a nie 75°C, jak przy starym kotle węglowym).</p>
                <p>Wymusza to na inwestorze zastosowanie wielkogabarytowych modeli trzypłytowych typu <span class="rk-ozc-data-highlight">C33</span> o długości nierzadko sięgającej 1600 mm. Tylko takie wytyczne z projektu chronią system przed niedogrzaniem poddasza i zapobiegają "wojnie" między termostatami, a pompą ładującą sprzęgło.</p>
            </div>
        </div>
    </div>

    <div class="rk-ozc-cta-box">
        <h3>Projekt instalacji dyktuje warunki gry na budowie</h3>
        <p>Brak profesjonalnej dokumentacji to gwarancja awarii i przepłacania za materiał. Zamów profesjonalny projekt wodnego ogrzewania podłogowego z obliczeniami OZC i analizą hydrauliczną. Zainwestuj w bezpieczeństwo, które zwraca się z każdym rachunkiem za prąd.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-cta">
            ZAMÓW PROJEKT PODŁOGÓWKI Z OZC
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-ozc-tab-btn');
    const panels = {
        'floor': document.getElementById('panel-floor'),
        'radiator': document.getElementById('panel-radiator')
    };

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            // Czyszczenie klas aktywnych z przycisków
            tabs.forEach(function(t) {
                t.classList.remove('active');
            });
            
            // Nadanie klasy aktywnej klikniętemu przyciskowi
            this.classList.add('active');

            // Ukrycie wszystkich paneli
            panels['floor'].classList.remove('active');
            panels['radiator'].classList.remove('active');

            // Wyświetlenie odpowiedniego panelu na podstawie atrybutu (bez operatorów logicznych &&)
            const target = this.getAttribute('data-target');
            if (target === 'floor') {
                panels['floor'].classList.add('active');
            } else {
                panels['radiator'].classList.add('active');
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Studium Przypadku: Opanowanie chaosu w układzie mieszanym",
    "description": "Realny audyt instalacji hybrydowej. Diagnoza błędów wykonawczych, optymalizacja hydrauliczna i redukcja kosztów ogrzewania pompą ciepła z podłogówką i grzejnikami.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-audyt-dane",
    "name": "Parametry audytu energetycznego instalacji hybrydowej",
    "description": "Zestawienie parametrów pracy pompy ciepła przed i po interwencji inżynierskiej, wykazujące błędy braku sprzęgła hydraulicznego i złego doboru emiterów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa ciepła podłogówka i grzejniki schemat podłączenia",
      "dlaczego pompa ciepła taktuje przy podłogówce",
      "wymiana starych grzejników na v33",
      "jak obniżyć rachunki za pompę ciepła w starym domu",
      "opory przepływu ogrzewanie podłogowe a kaloryfery",
      "zawór trójdrogowy mieszający jak ustawić"
    ],
    "measurementTechnique": "Pomiary różnicy temperatur (Delta T) oraz cykli pracy sprężarki w czasie rzeczywistym przed modernizacją węzła cieplnego i po jego prawidłowym zbalansowaniu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan Awaryjny: Taktowanie 40 razy na dobę, SCOP 2.4, zasilanie 55 stopni C, rachunek grudniowy 1850 PLN.",
        "Działania naprawcze: Montaż bufora 120L, grupy pompowej z mieszaczem, wymiana 3 grzejników V22 na C33.",
        "Stan Zoptymalizowany: Stabilna praca, krzywa zredukowana do 45 stopni C, SCOP 4.1, rachunek zredukowany o 45%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-audyt-interaktywny",
    "name": "Przeglądarka Wyników Audytu Instalacji",
    "description": "Aplikacja typu przełącznik wizualizująca parametry techniczne instalatora amatora kontra standard inżynierski na konkretnym studium przypadku.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-cs-dark: #1e293b;
    --rk-cs-card: #ffffff;
    --rk-cs-bg: #f1f5f9;
    --rk-cs-border: #cbd5e1;
    --rk-cs-brand: #0284c7;
    --rk-cs-text: #334155;
    --rk-cs-danger: #ef4444;
    --rk-cs-success: #10b981;
    --rk-cs-warning: #f59e0b;
}

.rk-cs-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-cs-bg);
    border-radius: 20px;
    border: 1px solid var(--rk-cs-brand);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.15);
    overflow: hidden;
}

.rk-cs-header {
    background: linear-gradient(to right, var(--rk-cs-dark), #0f172a);
    padding: 35px 40px;
    color: #ffffff;
    position: relative;
}

.rk-cs-header-badge {
    position: absolute;
    top: 35px;
    right: 40px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-cs-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    max-width: 80%;
}

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

.rk-cs-body {
    padding: 40px;
}

/* Storyteller / Opis sytuacji */
.rk-cs-story {
    background: var(--rk-cs-card);
    padding: 25px 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-cs-border);
    margin-bottom: 30px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

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

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

.rk-cs-story a {
    color: var(--rk-cs-brand);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Interaktywny Toggle (Before / After) */
.rk-cs-toggles {
    display: flex;
    gap: 0;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 6px;
    margin-bottom: 30px;
}

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

.rk-cs-btn.active[data-state="before"] {
    background: var(--rk-cs-card);
    color: var(--rk-cs-danger);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.rk-cs-btn.active[data-state="after"] {
    background: var(--rk-cs-card);
    color: var(--rk-cs-success);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Panel Danych */
.rk-cs-panel {
    display: none;
    animation: rkFadeIn 0.4s ease forwards;
}

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

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

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

.rk-cs-metric {
    background: var(--rk-cs-card);
    padding: 25px 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-cs-border);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-cs-metric::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 4px;
}

.rk-cs-metric.danger::before { background: var(--rk-cs-danger); }
.rk-cs-metric.success::before { background: var(--rk-cs-success); }
.rk-cs-metric.warning::before { background: var(--rk-cs-warning); }

.rk-cs-metric-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 10px;
    letter-spacing: 0.5px;
}

.rk-cs-metric-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-cs-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rk-cs-metric-sub {
    font-size: 13px;
    color: var(--rk-cs-text);
    margin-top: 5px;
}

.rk-svg-indicator {
    width: 24px;
    height: 24px;
}

.anim-bounce { animation: rkBounce 2s infinite; }
@keyframes rkBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

/* Diagnoza / Wnioski */
.rk-cs-insight {
    background: #ffffff;
    padding: 25px 30px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-cs-brand);
}

.rk-cs-insight h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cs-dark);
}

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

/* Mobile Responsive */
@media (max-width: 768px) {
    .rk-cs-header, .rk-cs-body { padding: 25px 20px; }
    .rk-cs-header h2 { max-width: 100%; font-size: 22px; }
    .rk-cs-header-badge { position: relative; top: 0; right: 0; display: inline-block; margin-bottom: 15px; }
    .rk-cs-toggles { flex-direction: column; }
    .rk-cs-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-cs-metric { padding: 20px; }
}
</style>

<div class="rk-cs-wrapper" id="rk-case-study">
    
    <div class="rk-cs-header">
        <div class="rk-cs-header-badge">Audyt Inżynierski</div>
        <h2>Studium przypadku: Opanowanie chaosu w układzie mieszanym</h2>
        <p>Gdy opory hydrauliczne spotykają się z brakiem dokumentacji, portfel inwestora zawsze przegrywa. Zobacz twarde dane z audytu przed i po interwencji naprawczej.</p>
    </div>

    <div class="rk-cs-body">
        
        <div class="rk-cs-story">
            <h3>Kontekst Inwestycji</h3>
            <p>Dom o powierzchni 150 m², zlokalizowany w górzystym terenie Podkarpacia, przechodził głęboką termomodernizację zimą 2025/2026 roku. Na piętrze pozostawiono stare grzejniki płytowe, na parterze wylano nową posadzkę z ogrzewaniem podłogowym. Instalator zamontował jednostkę o mocy 8 kW bez <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgła hydraulicznego</a>, wpinając obie strefy "na trójnikach" do wbudowanej pompy obiegowej.</p>
        </div>

        <div class="rk-cs-toggles">
            <button class="rk-cs-btn active" data-state="before">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                Stan Przed (Grudzień)
            </button>
            <button class="rk-cs-btn" data-state="after">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Po Optymalizacji (Styczeń)
            </button>
        </div>

        <div class="rk-cs-panel active" id="panel-before">
            <div class="rk-cs-grid">
                <div class="rk-cs-metric danger">
                    <div class="rk-cs-metric-label">Cykle Sprężarki</div>
                    <div class="rk-cs-metric-val">
                        ~40 <svg class="rk-svg-indicator anim-bounce" style="color:var(--rk-cs-danger);" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg>
                    </div>
                    <div class="rk-cs-metric-sub">Startów na dobę (Taktowanie)</div>
                </div>
                <div class="rk-cs-metric warning">
                    <div class="rk-cs-metric-label">Krzywa Grzewcza</div>
                    <div class="rk-cs-metric-val">55 °C</div>
                    <div class="rk-cs-metric-sub">Wymuszona starymi grzejnikami</div>
                </div>
                <div class="rk-cs-metric danger">
                    <div class="rk-cs-metric-label">Sprawność SCOP</div>
                    <div class="rk-cs-metric-val">2.4</div>
                    <div class="rk-cs-metric-sub">Dramatyczny spadek wydajności</div>
                </div>
            </div>
            
            <div class="rk-cs-insight" style="border-color: var(--rk-cs-danger);">
                <h4>Diagnoza błędów wykonawczych</h4>
                <p>Klasyczny przepływ zwarciowy. Woda z pompy natychmiast uciekała przez grzejniki (opór ok. 10 kPa), całkowicie ignorując długie pętle podłogówki (opór &gt;25 kPa). Jednostka odczytywała gorący powrót z kaloryferów, uznawała dom za dogrzany i wyłączała się po kilkunastu minutach pracy. Koszt miesięczny zimą dobił do 1850 PLN.</p>
            </div>
        </div>

        <div class="rk-cs-panel" id="panel-after">
            <div class="rk-cs-grid">
                <div class="rk-cs-metric success">
                    <div class="rk-cs-metric-label">Cykle Sprężarki</div>
                    <div class="rk-cs-metric-val">
                        ~6 <svg class="rk-svg-indicator anim-bounce" style="color:var(--rk-cs-success);" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="22 17 13.5 8.5 8.5 13.5 2 7"></polyline><polyline points="16 17 22 17 22 11"></polyline></svg>
                    </div>
                    <div class="rk-cs-metric-sub">Stabilne, długie takty</div>
                </div>
                <div class="rk-cs-metric success">
                    <div class="rk-cs-metric-label">Krzywa Grzewcza</div>
                    <div class="rk-cs-metric-val">45 °C</div>
                    <div class="rk-cs-metric-sub">Po wymianie emiterów</div>
                </div>
                <div class="rk-cs-metric success">
                    <div class="rk-cs-metric-label">Sprawność SCOP</div>
                    <div class="rk-cs-metric-val">4.1</div>
                    <div class="rk-cs-metric-sub">Wzrost efektywności o ponad 70%</div>
                </div>
            </div>
            
            <div class="rk-cs-insight" style="border-color: var(--rk-cs-success);">
                <h4>Wdrożenie standardu inżynierskiego</h4>
                <p>Na podstawie twardych obliczeń OZC wdrożono bufor o pojemności 120L pełniący rolę sprzęgła. Obwód podłogowy zabezpieczono <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zaworem mieszającym z siłownikiem</a>, gwarantującym stały zład 32°C na posadzkę. Z kolei trzy kluczowe grzejniki V22 wymieniono na przewymiarowane C33, co pozwoliło obniżyć maksymalną krzywą zasilania do 45°C (zamiast 55°C). Efekt? Stabilna praca układu i cięcie rachunków o połowę.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-cs-btn');
    const panelBefore = document.getElementById('panel-before');
    const panelAfter = document.getElementById('panel-after');

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Unikamy operatorów &&, używamy zmiennej logicznej
            let isActive = this.classList.contains('active');
            
            if (isActive === false) {
                // Wyczyszczenie aktywnych przycisków
                btns.forEach(function(b) {
                    b.classList.remove('active');
                });
                
                // Ukrycie wszystkich paneli
                panelBefore.classList.remove('active');
                panelAfter.classList.remove('active');

                // Aktywacja klikniętego elementu
                this.classList.add('active');
                let targetState = this.getAttribute('data-state');

                if (targetState === 'before') {
                    panelBefore.classList.add('active');
                } else if (targetState === 'after') {
                    panelAfter.classList.add('active');
                }
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Zdaniem Roberta Kucharskiego: Ostateczny werdykt dla instalacji hybrydowych",
    "description": "Autorskie podsumowanie inżynierskie Roberta Kucharskiego dotyczące opłacalności i bezpieczeństwa łączenia ogrzewania podłogowego z grzejnikami przy pompie ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-ekspert-wnioski",
    "name": "Baza wiedzy eksperckiej - Wnioski instalacyjne",
    "description": "Zestawienie twardych wytycznych i rekomendacji inżynierskich dla inwestorów planujących układ hybrydowy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "robert kucharski projekt ogrzewania",
      "ekspert ogrzewanie podłogowe opinie",
      "czy warto łączyć grzejniki z podłogówką",
      "autorytet hvac pompy ciepła",
      "projekt instalacji co wytyczne"
    ],
    "measurementTechnique": "Weryfikacja założeń projektowych na podstawie setek audytów OZC i zrealizowanych inwestycji na terenie całej Polski.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wniosek 1: W nowym domu instalacja mieszana to błąd. Wybieraj w 100% układ płaszczyznowy.",
        "Wniosek 2: Przy termomodernizacji sprzęgło hydrauliczne (bufor) i zawór mieszający to warunek sine qua non.",
        "Wniosek 3: Dokumentacja OZC jest jedynym zabezpieczeniem przed drastycznym przewymiarowaniem systemu i kosztami rzędu kilkunastu tysięcy złotych strat."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-panel-eksperta",
    "name": "Interaktywny Panel Ekspercki: Werdykt",
    "description": "Zakładkowy moduł podsumowujący treść artykułu z podziałem na diagnozę, zagrożenia i ostateczną rekomendację inżynierską dla inwestorów.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-exp-dark: #111827;
    --rk-exp-card: #ffffff;
    --rk-exp-bg: #f8fafc;
    --rk-exp-border: #e5e7eb;
    --rk-exp-brand: #0284c7;
    --rk-exp-text: #4b5563;
    --rk-exp-social: #1e293b;
}

.rk-exp-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-exp-card);
    border-radius: 20px;
    border: 1px solid var(--rk-exp-border);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.rk-exp-header-bar {
    background: var(--rk-exp-dark);
    padding: 30px 40px;
}

.rk-exp-header-bar h2 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 900;
    margin: 0;
    line-height: 1.3;
}

.rk-exp-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    background: var(--rk-exp-card);
}

/* Sekcja Profilu Eksperta */
.rk-exp-profile {
    background: var(--rk-exp-bg);
    padding: 40px 30px;
    border-right: 1px solid var(--rk-exp-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-exp-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

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

.rk-exp-role {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--rk-exp-brand);
    letter-spacing: 1px;
    margin: 0 0 20px 0;
}

.rk-exp-socials {
    display: flex;
    gap: 15px;
    width: 100%;
    justify-content: center;
}

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

.rk-exp-social-link:hover {
    border-color: var(--rk-exp-brand);
    color: var(--rk-exp-brand);
    background: #f0f9ff;
}

/* Interaktywny Panel Treści (Brak animacji) */
.rk-exp-content {
    padding: 40px;
}

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

.rk-exp-tab-btn {
    background: transparent;
    border: none;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-exp-text);
    cursor: pointer;
    border-radius: 8px;
}

.rk-exp-tab-btn:hover {
    background: var(--rk-exp-bg);
}

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

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

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

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

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

.rk-exp-quote-box {
    padding: 20px 25px;
    background: #f0f9ff;
    border-left: 4px solid var(--rk-exp-brand);
    border-radius: 0 12px 12px 0;
    margin-top: 25px;
}

.rk-exp-quote-box p {
    margin: 0;
    font-weight: 600;
    color: var(--rk-exp-dark);
    font-style: italic;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .rk-exp-grid { grid-template-columns: 1fr; }
    .rk-exp-profile { border-right: none; border-bottom: 1px solid var(--rk-exp-border); padding: 30px 20px; }
    .rk-exp-header-bar { padding: 25px 20px; }
    .rk-exp-content { padding: 25px 20px; }
    .rk-exp-tabs { flex-direction: column; gap: 8px; border-bottom: none; }
    .rk-exp-tab-btn { text-align: left; background: var(--rk-exp-bg); border: 1px solid var(--rk-exp-border); }
    .rk-exp-tab-btn.active { background: var(--rk-exp-dark); border-color: var(--rk-exp-dark); }
}
</style>

<div class="rk-exp-container" id="rk-expert-summary">
    
    <div class="rk-exp-header-bar">
        <h2>Zdaniem Roberta Kucharskiego</h2>
    </div>

    <div class="rk-exp-grid">
        <div class="rk-exp-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Projekt-Ogrzewania.pl" class="rk-exp-photo">
            <div class="rk-exp-name">Robert Kucharski</div>
            <div class="rk-exp-role">Specjalista HVAC / CEO</div>
            
            <div class="rk-exp-socials">
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" class="rk-exp-social-link" aria-label="LinkedIn Roberta Kucharskiego">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                </a>
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" class="rk-exp-social-link" aria-label="Oficjalny profil Facebook Projekt Ogrzewania">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                </a>
            </div>
        </div>

        <div class="rk-exp-content">
            <div class="rk-exp-tabs">
                <button class="rk-exp-tab-btn active" data-view="diagnoza">Główny Wniosek</button>
                <button class="rk-exp-tab-btn" data-view="zagrozenia">Fizyka Budowli</button>
                <button class="rk-exp-tab-btn" data-view="rekomendacja">Rekomendacja</button>
            </div>

            <div class="rk-exp-panels">
                
                <div class="rk-exp-panel active" id="panel-diagnoza">
                    <h3>Hybryda to ostateczność, nie standard</h3>
                    <p>Jako specjalista projektujący systemy płaszczyznowe stanowczo odradzam łączenie podłogówki z grzejnikami w nowym budownictwie. Każdy argument inwestora o "szybkim nagrzewaniu sypialni" upada w starciu z twardymi prawami termodynamiki i wskaźnikami rocznego SCOP pompy ciepła.</p>
                    <p>Układ mieszany ma sens ekonomiczny wyłącznie w przypadku skomplikowanych termomodernizacji starych domów, gdzie fizyczne usunięcie grzejników z piętra jest niemożliwe.</p>
                </div>

                <div class="rk-exp-panel" id="panel-zagrozenia">
                    <h3>Opory hydrauliczne nie wybaczają</h3>
                    <p>Największym błędem branży jest ignorowanie różnic w przepływach. Wpięcie strefy grzejnikowej (opór ~10 kPa) i podłogowej (opór &gt;25 kPa) bez zastosowania bufora równoległego gwarantuje zjawisko przepływu zwarciowego.</p>
                    <p>Zmuszając urządzenie niskotemperaturowe do pracy na krzywej rzędu 50°C, świadomie godzisz się na wzrost rachunków za prąd o kilkadziesiąt procent w skali roku i ryzykujesz błyskawiczne zatarcie sprężarki na skutek taktowania (short-cycling).</p>
                </div>

                <div class="rk-exp-panel" id="panel-rekomendacja">
                    <h3>Matematyka zamiast zgadywania</h3>
                    <p>Jeśli musisz wykonać instalację mieszaną, powierz ją profesjonalistom i nie opieraj się na "doświadczeniu montera". Węzeł cieplny musi posiadać sprzęgło (minimum 15 litrów zładu na 1 kW mocy pompy) oraz obrotowy zawór trójdrogowy redukujący temperaturę podłogi.</p>
                    <div class="rk-exp-quote-box">
                        <p>„Fundamentem sukcesu nie są drogie materiały, ale zaktualizowane obliczenia OZC zgodne z normą PN-EN 12831. To projekt dyktuje warunki gry na budowie, chroniąc Twój budżet.”</p>
                    </div>
                </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-exp-tab-btn');
    const panels = {
        'diagnoza': document.getElementById('panel-diagnoza'),
        'zagrozenia': document.getElementById('panel-zagrozenia'),
        'rekomendacja': document.getElementById('panel-rekomendacja')
    };

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Bezpieczny przełącznik bez animacji i bez operatorów logicznych && / ||
            let isCurrentActive = this.classList.contains('active');
            
            if (isCurrentActive === false) {
                // Reset przycisków
                btns.forEach(function(b) {
                    b.classList.remove('active');
                });
                
                // Reset paneli
                panels['diagnoza'].classList.remove('active');
                panels['zagrozenia'].classList.remove('active');
                panels['rekomendacja'].classList.remove('active');

                // Aktywacja wybranych elementów
                this.classList.add('active');
                let targetId = this.getAttribute('data-view');
                
                if (targetId === 'diagnoza') { panels['diagnoza'].classList.add('active'); }
                else if (targetId === 'zagrozenia') { panels['zagrozenia'].classList.add('active'); }
                else if (targetId === 'rekomendacja') { panels['rekomendacja'].classList.add('active'); }
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "FAQ - Pompa ciepła podłogówka i grzejniki",
    "description": "Najczęściej zadawane pytania techniczne dotyczące łączenia ogrzewania podłogowego z grzejnikami w systemach z pompą ciepła. Parametry, koszty i rozwiązania hydrauliczne.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy do pompy ciepła można podłączyć stare grzejniki bez ich wymiany?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, jest to technicznie wykonalne, ale bezwzględnie wymaga wykonania bilansu cieplnego OZC budynku, by sprawdzić, czy stare emiter oddadzą wystarczającą moc przy obniżonym parametrze (np. 45/35 stopni C). W ponad 70% starych domów w Polsce konieczna jest przynajmniej częściowa wymiana instalacji na konwektory trójpłytowe (V33) w celu niedopuszczenia do niedogrzania zimą."
        }
      },
      {
        "@type": "Question",
        "name": "Czy potrzebny jest bufor ciepła przy podłogówce i grzejnikach?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, w systemach mieszanych sprzęgło hydrauliczne lub bufor pełniący jego funkcję są elementami krytycznymi, chroniącymi przed awarią. Zrównoważenie diametralnie różnych oporów przepływu i temperatur między pętlami z wylewki a szybkimi kaloryferami bez bufora i osobnej grupy mieszającej doprowadzi do natychmiastowego taktowania i uszkodzenia kompresora."
        }
      },
      {
        "@type": "Question",
        "name": "Jakie są koszty eksploatacji systemu mieszanego w porównaniu do czystej podłogówki?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Ze względu na konieczność produkcji gorętszej wody (wyższa krzywa grzewcza rzędu 45-50 stopni C narzucona przez grzejniki), rachunki za energię elektryczną przy pompie ciepła rosną. Roczne koszty eksploatacyjne układu hybrydowego mogą być wyższe o 15% do nawet 30% w porównaniu do 100% instalacji płaszczyznowych, które osiągają wyższy współczynnik efektywności SCOP."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka temperatura zasilania jest bezpieczna dla układu mieszanego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Inteligentna automatyka powinna kierować z jednostki zewnętrznej wodę o temperaturze ok. 45 stopni C prosto na rozdzielacz strefy grzejnikowej oraz do bufora. Z poziomu kotłowni, za pomocą obrotowego zaworu z siłownikiem mieszającym (grupa pompowa), woda ta musi zostać podbramkowo zredukowana do bezpiecznych 30-35 stopni C przed wtłoczeniem jej w rury zatopione w jastrychu na parterze."
        }
      },
      {
        "@type": "Question",
        "name": "Jak dobrać pompę obiegową dla podłogówki w układzie, gdzie są też kaloryfery?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Dobór osobnej pompy za buforem musi opierać się wyłącznie na oporach najdłuższej pętli (często powyżej 20 kPa) i wyliczonym sumarycznym przepływie masowym dla strefy parteru. Pompa obiegowa w jednostce głównej odpowiada wtedy wyłącznie za wtłoczenie energii przez krótki, niskoporowy odcinek wprost do zładu w buforze, co rozwiązuje konflikty hydrauliczne."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-faq-parametry",
    "name": "Baza wiedzy rozwiązywania problemów hybrydowych (FAQ)",
    "description": "Zestawienie parametrów krytycznych (temperatury, opory, dobór elementów) dla instalacji mieszanej ogrzewania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy można podłączyć stare grzejniki do pompy ciepła",
      "jakie grzejniki do pompy ciepła w starym domu",
      "pojemność bufora do pompy ciepła z grzejnikami",
      "różnica w kosztach ogrzewania podłogówka a grzejniki",
      "maksymalna temperatura na ogrzewanie podłogowe",
      "taktowanie pompy ciepła przyczyny",
      "jak dobrać pompę obiegową do podłogówki",
      "wymiana grzejników przy pompie ciepła"
    ],
    "measurementTechnique": "Rozwiązywanie problemów instalacyjnych w oparciu o analizę bilansu OZC, oporów hydraulicznych i zaleceń producentów pomp ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Temperatury graniczne: 45°C dla grzejników typu V33, max 35°C dla jastrychu podłogowego.",
        "Komponenty krytyczne: Sprzęgło hydrauliczne (bufor) chroniące kompresor, obrotowy zawór mieszający z siłownikiem.",
        "Wpływ na koszty: Układ mieszany generuje 15-30% wyższe koszty operacyjne względem systemu czysto płaszczyznowego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-faq-interaktywne",
    "name": "Baza Wiedzy Inwestora: Interaktywne FAQ",
    "description": "Dynamiczny widget akordeonowy pozwalający inwestorom na przeglądanie krytycznych różnic technologicznych w instalacjach mieszanych bez zbędnego obciążenia poznawczego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

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

.rk-faq-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: transparent;
}

.rk-faq-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--rk-faq-blue);
}

.rk-faq-header-icon {
    width: 60px;
    height: 60px;
    background: var(--rk-faq-blue-light);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-faq-blue);
    flex-shrink: 0;
}

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

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

.rk-faq-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-faq-item {
    background: var(--rk-faq-card);
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.rk-faq-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.rk-faq-btn {
    width: 100%;
    text-align: left;
    padding: 24px 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    transition: background 0.3s ease;
}

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

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

.rk-faq-icon-svg {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: var(--rk-faq-blue);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-btn.active .rk-faq-icon-svg {
    transform: rotate(135deg);
    color: #ef4444; /* Czerwony kolor przy zamykaniu dla kontrastu */
}

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

.rk-faq-panel-content {
    padding: 0 30px 30px 30px;
    border-top: 1px dashed var(--rk-faq-border);
    margin-top: -10px;
    padding-top: 25px;
}

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

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

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

/* Dostosowanie dla urządzeń mobilnych (Vertical Stack) */
@media (max-width: 768px) {
    .rk-faq-container { margin: 20px auto; }
    .rk-faq-header { flex-direction: column; text-align: center; gap: 15px; }
    .rk-faq-btn { padding: 20px; }
    .rk-faq-btn h3 { font-size: 16px; }
    .rk-faq-panel-content { padding: 0 20px 25px 20px; }
}
</style>

<div class="rk-faq-container" id="rk-interactive-faq">
    <div class="rk-faq-header">
        <div class="rk-faq-header-icon">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
                <line x1="12" y1="17" x2="12.01" y2="17"></line>
            </svg>
        </div>
        <div class="rk-faq-header-content">
            <h2>FAQ - Pompa ciepła, podłogówka i grzejniki</h2>
            <p>Baza wiedzy inwestora. Kliknij wybrane pytanie, aby rozwinąć odpowiedź techniczną.</p>
        </div>
    </div>

    <div class="rk-faq-wrapper">
        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                <h3>Czy do pompy ciepła można podłączyć stare grzejniki bez ich wymiany?</h3>
                <svg class="rk-faq-icon-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
            </button>
            <div class="rk-faq-panel">
                <div class="rk-faq-panel-content">
                    <p>Tak, jest to technicznie wykonalne, ale bezwzględnie wymaga wykonania bilansu cieplnego <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">OZC budynku</a>, by sprawdzić, czy stare emiter oddadzą wystarczającą moc przy obniżonym parametrze (np. 45/35°C). W ponad 70% starych domów w Polsce konieczna jest przynajmniej częściowa wymiana instalacji na konwektory trójpłytowe (V33) w celu niedopuszczenia do niedogrzania zimą.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                <h3>Czy potrzebny jest bufor ciepła przy podłogówce i grzejnikach?</h3>
                <svg class="rk-faq-icon-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
            </button>
            <div class="rk-faq-panel">
                <div class="rk-faq-panel-content">
                    <p>Tak, w systemach mieszanych <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgło hydrauliczne</a> lub bufor pełniący jego funkcję są elementami krytycznymi, chroniącymi przed awarią. Zrównoważenie diametralnie różnych oporów przepływu i temperatur między pętlami z wylewki a szybkimi kaloryferami bez bufora i osobnej grupy mieszającej doprowadzi do natychmiastowego taktowania i uszkodzenia kompresora.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                <h3>Jakie są koszty eksploatacji systemu mieszanego w porównaniu do czystej podłogówki?</h3>
                <svg class="rk-faq-icon-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
            </button>
            <div class="rk-faq-panel">
                <div class="rk-faq-panel-content">
                    <p>Ze względu na konieczność produkcji gorętszej wody (wyższa krzywa grzewcza rzędu 45-50°C narzucona przez grzejniki), <a href="https://projekt-ogrzewania.pl/rzeczywiste-oszczednosci-na-kosztach-ogrzewania-w-skali-roku-analiza-rozstawu-rur-dla-domu-150-m%c2%b2/">rachunki za energię elektryczną</a> przy pompie ciepła rosną. Roczne koszty eksploatacyjne układu hybrydowego mogą być wyższe o 15% do nawet 30% w porównaniu do 100% instalacji płaszczyznowych, które osiągają wyższy współczynnik efektywności SCOP.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                <h3>Jaka temperatura zasilania jest bezpieczna dla układu mieszanego?</h3>
                <svg class="rk-faq-icon-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
            </button>
            <div class="rk-faq-panel">
                <div class="rk-faq-panel-content">
                    <p>Inteligentna automatyka powinna kierować z jednostki zewnętrznej wodę o temperaturze ok. 45°C prosto na rozdzielacz strefy grzejnikowej oraz do bufora. Z poziomu kotłowni, za pomocą obrotowego zaworu z siłownikiem mieszającym (grupa pompowa), woda ta musi zostać podbramkowo zredukowana do bezpiecznej <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalnej temperatury zasilania podłogówki</a> (ok. 30-35°C) przed wtłoczeniem jej w rury zatopione w jastrychu na parterze.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn">
                <h3>Jak dobrać pompę obiegową dla podłogówki w układzie, gdzie są też kaloryfery?</h3>
                <svg class="rk-faq-icon-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
            </button>
            <div class="rk-faq-panel">
                <div class="rk-faq-panel-content">
                    <p>Dobór <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">osobnej pompy obiegowej</a> za buforem musi opierać się wyłącznie na oporach najdłuższej pętli (często powyżej 20 kPa) i wyliczonym sumarycznym przepływie masowym dla strefy parteru. Pompa obiegowa w jednostce głównej odpowiada wtedy wyłącznie za wtłoczenie energii przez krótki, niskoporowy odcinek wprost do zładu w buforze, co rozwiązuje konflikty hydrauliczne.</p>
                </div>
            </div>
        </div>
    </div>
</div>

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

    faqButtons.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Sprawdzenie stanu aktualnie klikniętego elementu (bez użycia operatorów &&)
            let isAlreadyActive = this.classList.contains('active');

            // Zamykanie wszystkich otwartych paneli
            faqButtons.forEach(function(otherBtn) {
                otherBtn.classList.remove('active');
                let otherPanel = otherBtn.nextElementSibling;
                otherPanel.style.maxHeight = null;
            });

            // Jeśli element nie był aktywny wcześniej, otwieramy go
            if (!isAlreadyActive) {
                this.classList.add('active');
                let panel = this.nextElementSibling;
                panel.style.maxHeight = panel.scrollHeight + "px";
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/"
    },
    "headline": "Podsumowanie: Hybrydowy system grzewczy – jak uniknąć katastrofy",
    "description": "Interaktywne podsumowanie zasad łączenia ogrzewania podłogowego z grzejnikami przy użyciu pompy ciepła. Zobacz kluczowe różnice między układem profesjonalnym a amatorskim.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#dataset-uklad-mieszany",
    "name": "Parametry hydrauliczne i termiczne układu mieszanego z pompą ciepła",
    "description": "Zestawienie twardych danych porównujących instalację hybrydową zlokalizowaną bezpośrednio na jednej pompie obiegowej do instalacji buforowanej przez sprzęgło hydrauliczne.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podłogówka i grzejniki jedna pompa",
      "bufor ciepła w układzie mieszanym",
      "temperatura zasilania podłogówki",
      "taktowanie pompy ciepła",
      "zawór trójdrogowy mieszający z siłownikiem"
    ],
    "measurementTechnique": "Analiza spadków ciśnień i efektywności SCOP pompy ciepła na podstawie normy PN-EN 12831 i wytycznych PORT PC dla systemów biwalentnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Układ Bezpośredni: SCOP poniżej 2.8, wysokie ryzyko taktowania (short-cycling), przepływ zwarciowy przez mniejsze opory grzejników.",
        "Układ z Buforem i Podmieszaniem: SCOP stabilny na poziomie 3.5 - 4.5, zład wody zbalansowany, temperatura bezpieczna dla jastrychu (max 35 stopni Celsjusza)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/#webapp-symulator-hydrauliczny",
    "name": "Wizualizator Przepływów: System Hybrydowy",
    "description": "Interaktywne narzędzie przełącznikowe pokazujące ścieżkę krytyczną czynnika grzewczego w instalacjach hybrydowych (grzejniki + płaszczyzna) dla domów jednorodzinnych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-base-dark: #111827;
    --rk-base-light: #f9fafb;
    --rk-accent-blue: #0ea5e9;
    --rk-accent-blue-hover: #0284c7;
    --rk-accent-green: #059669;
    --rk-accent-red: #dc2626;
    --rk-border: #e5e7eb;
    --rk-text-main: #374151;
    --rk-text-muted: #6b7280;
}

.rk-summary-block {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 40px -15px rgba(14, 165, 233, 0.1);
    border: 1px solid var(--rk-accent-blue);
    overflow: hidden;
}

.rk-summary-header {
    background: var(--rk-base-dark);
    padding: 40px 30px;
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-accent-blue);
}

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

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

/* Interfejs Przełącznika */
.rk-interactive-zone {
    padding: 40px 30px;
    background: var(--rk-base-light);
}

.rk-toggle-controls {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 30px;
    background: #ffffff;
    padding: 10px;
    border-radius: 100px;
    border: 1px solid var(--rk-border);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.rk-toggle-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 100px;
    font-weight: 700;
    font-size: 15px;
    color: var(--rk-text-muted);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rk-toggle-btn.active[data-type="error"] {
    background: #fee2e2;
    color: var(--rk-accent-red);
    box-shadow: 0 4px 10px rgba(220, 38, 38, 0.15);
}

.rk-toggle-btn.active[data-type="pro"] {
    background: #d1fae5;
    color: var(--rk-accent-green);
    box-shadow: 0 4px 10px rgba(5, 150, 105, 0.15);
}

/* Widok dynamiczny */
.rk-view-container {
    background: #ffffff;
    border: 1px solid var(--rk-border);
    border-radius: 16px;
    padding: 30px;
    display: flex;
    gap: 30px;
    align-items: center;
    min-height: 250px;
}

.rk-view-graphic {
    flex: 0 0 120px;
    display: flex;
    justify-content: center;
}

.rk-view-content {
    flex: 1;
}

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

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

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

.rk-data-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--rk-base-dark);
}

.rk-data-list li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: var(--rk-accent-blue);
    font-weight: bold;
}

/* Tagi SEO */
.rk-tags-section {
    padding: 20px 30px;
    background: #ffffff;
    border-top: 1px dashed var(--rk-border);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    background: var(--rk-base-light);
    border: 1px solid var(--rk-border);
    color: var(--rk-accent-blue);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    transition: background 0.2s;
}

.rk-mat-tag:hover {
    background: #e0f2fe;
}

/* Animacje SVG */
.rk-svg-icon {
    width: 100%;
    height: auto;
    max-width: 100px;
}

.anim-gear { transform-origin: center; animation: spinGear 4s linear infinite; }
.anim-alert { transform-origin: center; animation: pulseAlert 1.5s ease-in-out infinite; }

@keyframes spinGear { 100% { transform: rotate(360deg); } }
@keyframes pulseAlert { 0% { transform: scale(1); opacity: 0.8; } 50% { transform: scale(1.1); opacity: 1; } 100% { transform: scale(1); opacity: 0.8; } }

/* Mobile CSS - układ pionowy (akordeonowy przepływ) */
@media (max-width: 768px) {
    .rk-summary-header { padding: 30px 20px; }
    .rk-summary-header h2 { font-size: 22px; }
    .rk-interactive-zone { padding: 20px; }
    .rk-toggle-controls { flex-direction: column; border-radius: 16px; gap: 5px; background: transparent; border: none; }
    .rk-toggle-btn { border-radius: 12px; border: 1px solid var(--rk-border); background: #ffffff; }
    .rk-view-container { flex-direction: column; text-align: center; padding: 20px; gap: 20px; }
    .rk-data-list li { text-align: left; }
}
</style>

<div class="rk-summary-block" id="rk-hybrid-summary">
    <div class="rk-summary-header">
        <h2>Podsumowanie: Pompa ciepła, podłogówka i grzejniki w jednym układzie</h2>
        <p>Instalacja mieszana to bezlitosny sprawdzian dla instalatora. Zignorowanie praw hydrauliki i fizyki budowli skutkuje natychmiastowym taktowaniem sprężarki i drastycznym wzrostem rachunków za prąd.</p>
    </div>

    <div class="rk-interactive-zone">
        <div class="rk-toggle-controls" id="rkToggleBox">
            <button class="rk-toggle-btn active" data-type="error">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                Układ Bezpośredni (Amatorski)
            </button>
            <button class="rk-toggle-btn" data-type="pro">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Układ z Buforem (Inżynierski)
            </button>
        </div>

        <div class="rk-view-container" id="rkViewContent">
            </div>
    </div>

    <div class="rk-tags-section">
        <span class="rk-mat-tag"># pompa ciepła podłogówka i grzejniki schemat</span>
        <span class="rk-mat-tag"># jaka temperatura na grzejniki z pompy ciepła</span>
        <span class="rk-mat-tag"># sprzęgło hydrauliczne a bufor ciepła</span>
        <span class="rk-mat-tag"># taktowanie pompy ciepła przyczyny</span>
        <span class="rk-mat-tag"># zawór trójdrogowy mieszający zasada działania</span>
        <span class="rk-mat-tag"># sprawność SCOP układu mieszanego</span>
        <span class="rk-mat-tag"># dobór pompy obiegowej za buforem</span>
        <span class="rk-mat-tag"># krzywa grzewcza dla grzejników i podłogówki</span>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggleBtns = document.querySelectorAll('.rk-toggle-btn');
    const viewContainer = document.getElementById('rkViewContent');

    const contentData = {
        error: `
            <div class="rk-view-graphic">
                <svg class="rk-svg-icon" viewBox="0 0 100 100">
                    <circle cx="50" cy="50" r="45" fill="none" stroke="var(--rk-accent-red)" stroke-width="5" stroke-dasharray="10 5" class="anim-alert"/>
                    <path d="M50 25 L50 60 M50 75 L50 80" stroke="var(--rk-accent-red)" stroke-width="6" stroke-linecap="round"/>
                </svg>
            </div>
            <div class="rk-view-content">
                <h3 style="color: var(--rk-accent-red);">Błąd Krytyczny: Brak zrównoważenia oporów</h3>
                <p>Wpięcie strefy grzejnikowej i podłogowej na jednej pompie zasilającej to wyrok dla kompresora. Ciecz płynie po linii najmniejszego oporu (przez mały zład grzejników), całkowicie ignorując długie pętle zatopione w jastrychu.</p>
                <ul class="rk-data-list">
                    <li>Zjawisko "short-cyclingu" (taktowanie) – pompa włącza się i wyłącza co 10 minut.</li>
                    <li>Niedogrzany parter mimo maksymalnego poboru prądu.</li>
                    <li>Ryzyko podania zbyt wysokiej temperatury na wylewkę anhydrytową.</li>
                </ul>
            </div>
        `,
        pro: `
            <div class="rk-view-graphic">
                <svg class="rk-svg-icon" viewBox="0 0 100 100">
                    <circle cx="50" cy="50" r="40" fill="none" stroke="var(--rk-accent-green)" stroke-width="5" />
                    <path d="M50 20 L50 40 M50 60 L50 80 M20 50 L40 50 M60 50 L80 50" stroke="var(--rk-accent-green)" stroke-width="4" class="anim-gear" stroke-linecap="round"/>
                    <circle cx="50" cy="50" r="10" fill="var(--rk-accent-green)" />
                </svg>
            </div>
            <div class="rk-view-content">
                <h3 style="color: var(--rk-accent-green);">Standard Inżynierski: Rozdział przez Bufor</h3>
                <p>Kluczem do niezawodności jest <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" style="color: var(--rk-accent-blue); font-weight:700;">zastosowanie bufora ciepła</a> jako sprzęgła hydraulicznego. Pompa ładuje zład wodny, a niezależne <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" style="color: var(--rk-accent-blue); font-weight:700;">pompy obiegowe</a> dystrybuują odpowiednie wartości do swoich stref.</p>
                <ul class="rk-data-list">
                    <li><a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/" style="color: inherit;">Zawór mieszający z siłownikiem</a> precyzyjnie redukuje zasilanie na podłogę.</li>
                    <li><a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/" style="color: inherit;">Krzywa grzewcza</a> ustawiona stabilnie dla najwyższego parametru (grzejniki).</li>
                    <li>Pełny przepływ i stały odbiór ciepła podczas odszraniania (defrost).</li>
                </ul>
            </div>
        `
    };

    // Inicjalizacja domyślnego widoku
    viewContainer.innerHTML = contentData.error;

    // Obsługa kliknięć (bezpieczny JS, brak zagrażających znaków logicznych)
    toggleBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Reset klas
            toggleBtns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Aktywacja wciśniętego
            this.classList.add('active');
            
            // Wstrzyknięcie odpowiedniej treści z użyciem bezpiecznych warunków if/else
            const type = this.getAttribute('data-type');
            if (type === 'pro') {
                viewContainer.innerHTML = contentData.pro;
            } else {
                viewContainer.innerHTML = contentData.error;
            }
        });
    });
});
</script>



<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/"
    },
    "headline": "Kompendium Wiedzy: Infografika i Schemat Węzła Cieplnego",
    "description": "Pobierz darmową infografikę z parametrami projektowymi i schematem łączenia ogrzewania podłogowego z grzejnikami przy pompie ciepła. Plik PDF wysokiej rozdzielczości.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Pompa-ciepla-podlogowka-i-grzejniki.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-04",
    "dateModified": "2026-07-04"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#dataset-schemat-pdf",
    "name": "Wizualny schemat hybrydowego węzła cieplnego",
    "description": "Zestawienie twardych danych projektowych, oporów hydraulicznych i zaleceń VDI 4650 skompresowane do formy graficznej infografiki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "schemat podłączenia pompy ciepła do bufora",
      "pompa ciepła podłogówka i grzejniki schemat",
      "bufor ciepła w instalacji mieszanej pdf",
      "infografika ogrzewanie podłogowe parametry",
      "robert kucharski materiały do pobrania"
    ],
    "measurementTechnique": "Agregacja parametrów technicznych (ΔT, SCOP, zład wody) w postaci wizualnych tabel decyzyjnych oraz schematu blokowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Sekcja 1: Uzasadnienie stosowania układu mieszanego i obiegów wtórnych.",
        "Sekcja 2: Tabela porównawcza emiterów ciepła i ich wpływu na współczynnik SCOP pompy ciepła.",
        "Sekcja 3: Techniczny schemat hydrauliczny (Pompa -> Bufor -> Grupa Mieszająca / Obieg Bezpośredni)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#webapp-repozytorium",
    "name": "Moduł Repozytorium Plików Technicznych",
    "description": "Statyczny interfejs pozwalający na bezpieczne wywołanie podglądu schematu w wysokiej rozdzielczości oraz pobranie pliku PDF na urządzenie użytkownika.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<style>
:root {
    --rk-dl-dark: #111827;
    --rk-dl-surface: #f8fafc;
    --rk-dl-card: #ffffff;
    --rk-dl-border: #cbd5e1;
    --rk-dl-brand: #0284c7;
    --rk-dl-text: #475569;
    --rk-dl-accent: #facc15;
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-dl-card);
    border: 2px solid var(--rk-dl-dark);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.rk-dl-header {
    background: var(--rk-dl-dark);
    padding: 25px 35px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-brand);
}

.rk-dl-header h2 {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    line-height: 1.3;
}

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

.rk-dl-body {
    display: grid;
    grid-template-columns: 350px 1fr;
    background: var(--rk-dl-card);
}

/* Sekcja Miniatury (Lewa strona) */
.rk-dl-preview-box {
    padding: 35px;
    background: var(--rk-dl-surface);
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-dl-thumbnail-wrapper {
    width: 100%;
    position: relative;
    border: 1px solid var(--rk-dl-border);
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    cursor: pointer;
}

.rk-dl-img {
    width: 100%;
    height: auto;
    display: block;
}

.rk-dl-zoom-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s;
}

.rk-dl-thumbnail-wrapper:hover .rk-dl-zoom-overlay {
    opacity: 1;
}

.rk-dl-zoom-icon {
    color: #ffffff;
    width: 40px;
    height: 40px;
}

.rk-dl-preview-hint {
    margin-top: 15px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-dl-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Sekcja Akcji (Prawa strona) */
.rk-dl-actions-box {
    padding: 35px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-desc {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-dl-text);
    margin: 0 0 30px 0;
}

.rk-dl-buttons {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 35px;
}

.rk-dl-btn {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 25px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 800;
    font-size: 16px;
    transition: background 0.2s, border-color 0.2s;
}

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

.rk-dl-btn-primary:hover {
    background: #0369a1;
    border-color: #0369a1;
}

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

.rk-dl-btn-secondary:hover {
    background: var(--rk-dl-surface);
}

.rk-dl-btn-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.rk-dl-file-info {
    display: flex;
    flex-direction: column;
}

.rk-dl-file-size {
    font-size: 12px;
    font-weight: 500;
    opacity: 0.8;
    margin-top: 2px;
}

/* Prawa autorskie */
.rk-dl-copyright {
    margin-top: auto;
    padding: 20px;
    background: #fffbeb;
    border-left: 4px solid var(--rk-dl-accent);
    border-radius: 0 8px 8px 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--rk-dl-dark);
    font-weight: 500;
}

.rk-dl-copyright strong {
    font-weight: 800;
}

/* Lightbox Modal (Statyczny podgląd) */
.rk-dl-modal {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.95);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.rk-dl-modal-content {
    position: relative;
    max-width: 1000px;
    width: 100%;
    max-height: 90vh;
}

.rk-dl-modal-img {
    width: 100%;
    height: auto;
    max-height: 90vh;
    object-fit: contain;
    border: 4px solid #ffffff;
    border-radius: 8px;
}

.rk-dl-modal-close {
    position: absolute;
    top: -40px;
    right: 0;
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .rk-dl-header { padding: 25px 20px; }
    .rk-dl-body { grid-template-columns: 1fr; }
    .rk-dl-preview-box { border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 25px 20px; }
    .rk-dl-actions-box { padding: 25px 20px; }
    .rk-dl-btn { flex-direction: column; text-align: center; gap: 10px; padding: 15px; }
}
</style>

<div class="rk-dl-container" id="rk-download-hub">
    
    <div class="rk-dl-header">
        <h2>Kompendium Wiedzy: Schemat Węzła i Parametry</h2>
        <p>Materiały techniczne przygotowane na podstawie normy PN-EN 12831 oraz standardów VDI 4650.</p>
    </div>

    <div class="rk-dl-body">
        
        <div class="rk-dl-preview-box">
            <div class="rk-dl-thumbnail-wrapper" id="rk-btn-preview">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Pompa-ciepla-podlogowka-i-grzejniki.webp" alt="Infografika: Pompa ciepła, podłogówka i grzejniki - Projekt Ogrzewania" class="rk-dl-img">
                <div class="rk-dl-zoom-overlay">
                    <svg class="rk-dl-zoom-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                </div>
            </div>
            <div class="rk-dl-preview-hint">Kliknij, aby powiększyć</div>
        </div>

        <div class="rk-dl-actions-box">
            <p class="rk-dl-desc">
                Zebrałem wszystkie najważniejsze parametry instalacji hybrydowej w jednym miejscu. Infografika zawiera czytelny schemat podłączenia bufora, porównanie emiterów ciepła oraz listę krytycznych błędów instalacyjnych, których musisz unikać.
            </p>

            <div class="rk-dl-buttons">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Pompa-ciepla-podlogowka-i-grzejniki.pdf" target="_blank" class="rk-dl-btn rk-dl-btn-primary">
                    <svg class="rk-dl-btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><line x1="9" y1="15" x2="12" y2="18"></line><line x1="15" y1="15" x2="12" y2="18"></line></svg>
                    <div class="rk-dl-file-info">
                        <span>Pobierz dokument PDF</span>
                        <span class="rk-dl-file-size">Wysoka rozdzielczość do druku</span>
                    </div>
                </a>

                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Pompa-ciepla-podlogowka-i-grzejniki.webp" target="_blank" download class="rk-dl-btn rk-dl-btn-secondary">
                    <svg class="rk-dl-btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                    <div class="rk-dl-file-info">
                        <span>Zapisz obraz na dysk</span>
                        <span class="rk-dl-file-size">Format WebP (Szybkie ładowanie)</span>
                    </div>
                </a>
            </div>

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

    </div>
</div>

<div class="rk-dl-modal" id="rk-modal-overlay">
    <div class="rk-dl-modal-content">
        <button class="rk-dl-modal-close" id="rk-btn-close">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
            Zamknij podgląd
        </button>
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/07/Infografika-Pompa-ciepla-podlogowka-i-grzejniki.webp" alt="Powiększenie - Infografika" class="rk-dl-modal-img">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btnPreview = document.getElementById('rk-btn-preview');
    const btnClose = document.getElementById('rk-btn-close');
    const modal = document.getElementById('rk-modal-overlay');

    // Bezpieczna logika otwierania (bez operatorów logicznych)
    btnPreview.addEventListener('click', function() {
        modal.style.display = 'flex';
        document.body.style.overflow = 'hidden'; // Blokada przewijania strony
    });

    // Bezpieczna logika zamykania na przycisk
    btnClose.addEventListener('click', function() {
        modal.style.display = 'none';
        document.body.style.overflow = '';
    });

    // Zamknięcie po kliknięciu w tło (overlay)
    modal.addEventListener('click', function(e) {
        let isOverlayClicked = (e.target === modal);
        if (isOverlayClicked === true) {
            modal.style.display = 'none';
            document.body.style.overflow = '';
        }
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/">Pompa ciepła, podłogówka i grzejniki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/</link>
					<comments>https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 05 Mar 2026 09:13:56 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Hydraulika grzewcza]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompy obiegowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[dobór pompy]]></category>
		<category><![CDATA[hydraulika instalacji]]></category>
		<category><![CDATA[instalacja podłogówki]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[kalkulator pompy obiegowej]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pompa 25-60]]></category>
		<category><![CDATA[pompa do podłogówki]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[projekt instalacji grzewczej]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[przepływ instalacji]]></category>
		<category><![CDATA[przepływ w instalacji]]></category>
		<category><![CDATA[wysokość podnoszenia pompy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3575</guid>

					<description><![CDATA[<p>Dobór odpowiedniej pompy obiegowej ma ogromny wpływ na sprawność i komfort działania instalacji grzewczej. Właśnie dlatego kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym może być niezwykle pomocnym narzędziem dla inwestorów, instalatorów oraz osób planujących budowę domu. Dzięki niemu można w prosty sposób oszacować wymagany przepływ wody oraz wysokość podnoszenia pompy, a następnie dopasować urządzenie do realnych parametrów instalacji. W artykule pokazuję krok po kroku, jak wykonać podstawowe obliczenia, zrozumieć charakterystyki pomp i uniknąć najczęstszych błędów przy projektowaniu podłogówki.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-light-blue: #f0f9ff;
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-gold: #f59e0b;
    --rk-intro-gold-light: #fffbeb;
}

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

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

.rk-intro-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.rk-intro-icon {
    width: 36px;
    height: 36px;
    color: var(--rk-intro-gold);
    flex-shrink: 0;
    margin-top: 2px;
}

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

/* Szybka Odpowiedź (Featured Snippet) */
.rk-quick-answer {
    padding: 25px 40px;
    background: var(--rk-intro-gold-light);
    border-bottom: 1px solid #fde68a;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-qa-badge {
    background: var(--rk-intro-gold);
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: 900;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    white-space: nowrap;
}

.rk-qa-content p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #92400e;
    font-weight: 600;
}

.rk-qa-content strong {
    font-weight: 900;
    color: #78350f;
}

/* Interaktywna Agenda */
.rk-intro-agenda {
    padding: 35px 40px;
    background: #ffffff;
}

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

.rk-agenda-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 0;
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
    overflow: hidden;
}

/* Przyciski nawigacyjne - Bez animacji */
.rk-agenda-nav {
    background: #f8fafc;
    border-right: 1px solid var(--rk-intro-border);
    display: flex;
    flex-direction: column;
}

.rk-agenda-btn {
    padding: 18px 20px;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--rk-intro-border);
    text-align: left;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-intro-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-agenda-btn:last-child {
    border-bottom: none;
}

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

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

.rk-agenda-btn svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* Panele z treścią - Bez animacji */
.rk-agenda-panels {
    padding: 30px;
    background: #ffffff;
}

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

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

.rk-agenda-panel h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-intro-dark);
}

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

.rk-agenda-panel ul {
    margin: 0;
    padding-left: 20px;
    color: var(--rk-intro-text);
    font-size: 14px;
    line-height: 1.6;
}

.rk-agenda-panel li {
    margin-bottom: 8px;
}

/* Informacja o kalkulatorach */
.rk-tools-teaser {
    margin-top: 30px;
    padding: 15px 20px;
    background: var(--rk-intro-light-blue);
    border-left: 4px solid var(--rk-intro-blue);
    border-radius: 0 8px 8px 0;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-tools-teaser p {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #0369a1;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .rk-intro-header { padding: 25px 20px; }
    .rk-intro-header h2 { font-size: 22px; }
    .rk-quick-answer { flex-direction: column; padding: 20px; gap: 15px; }
    .rk-intro-agenda { padding: 25px 20px; }
    .rk-agenda-grid { grid-template-columns: 1fr; }
    .rk-agenda-nav { border-right: none; border-bottom: 1px solid var(--rk-intro-border); }
    .rk-agenda-panels { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym – Poradnik i algorytm",
    "description": "Zestawienie interaktywnych kalkulatorów i algorytmów obliczania przepływu oraz wysokości podnoszenia pomp obiegowych (OZC, długości pętli, awarie).",
    "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/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-wstep",
    "name": "Zestawienie Zmiennych Projektowych dla Pomp Obiegowych 2026",
    "description": "Indeks kluczowych składowych artykułu: od wzorów na przepływ wody, przez parametry oporów rur, aż po zestawienia tabelaryczne.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym",
      "szybka odpowiedź dobór pompy",
      "jak dobrać pompę obiegową do podłogówki",
      "algorytm doboru pompy przepływ Q i wysokość H",
      "parametry pompy obiegowej podłogówka"
    ],
    "measurementTechnique": "Hierarchiczne drzewo zawartości umożliwiające nawigację po interaktywnych modułach hydraulicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przepływ objętościowy wody: Metodyka wyliczania Q na bazie OZC.",
        "Wysokość podnoszenia H: Obliczanie strat liniowych dla najdłuższej pętli.",
        "Średnice rur: Wpływ rur PEX na powstawanie zjawiska kawitacji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-wstep",
    "name": "Interaktywny Nawigator Artykułu",
    "description": "Moduł wstępny typu 'Quick Answer' oraz przełącznik kontekstowy wprowadzający użytkownika w tematykę obliczeń hydraulicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container">
    <div class="rk-intro-header">
        <h2>
            <svg class="rk-intro-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
            </svg>
            Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym
        </h2>
        <p class="rk-intro-hook">Masz dość zgadywania, czy pompa &#8222;uciągnie&#8221; najdalsze pętle w salonie? Błędny dobór pompy obiegowej to najczęstsza przyczyna zimnych posadzek i uciążliwego świstu w rozdzielaczach. Ten przewodnik bezlitośnie rozprawia się z mitami instalatorskimi, dając Ci do ręki czystą inżynierię i twarde wzory.</p>
    </div>

    <div class="rk-quick-answer">
        <div class="rk-qa-badge">Szybka Odpowiedź</div>
        <div class="rk-qa-content">
            <p>Prawidłowy punkt pracy pompy obiegowej wyznacza się na podstawie dwóch parametrów: <strong>wymaganego przepływu wody (Q)</strong>, liczonego ze spadku temperatury oraz <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego (OZC)</a> budynku (zazwyczaj od 0,5 do 2,5 m³/h), oraz <strong>wysokości podnoszenia (H)</strong> determinowanej przez opory hydrauliczne najdłuższej pętli (najczęściej od 3,5 do 5,5 m słupa wody). Urządzenie należy dopasować bezpośrednio do krzywych charakterystyki pomp, a nie dobierać „z zapasem”.</p>
        </div>
    </div>

    <div class="rk-intro-agenda">
        <h3 class="rk-agenda-title">Czego dowiesz się z tego kompendium?</h3>
        
        <div class="rk-agenda-grid">
            <div class="rk-agenda-nav">
                <button class="rk-agenda-btn rk-active" data-id="tab-1">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    Fizyka Płynów (Q i H)
                </button>
                <button class="rk-agenda-btn" data-id="tab-2">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                    Błędy Instalatorów
                </button>
                <button class="rk-agenda-btn" data-id="tab-3">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line></svg>
                    Średnice rur zasilających
                </button>
            </div>

            <div class="rk-agenda-panels">
                <div class="rk-agenda-panel rk-active" id="tab-1">
                    <h4>Zależności matematyczne przepływu</h4>
                    <p>Zrozumiesz, jak dokładnie parametry Twojego domu wpływają na zachowanie wody w rurach. Omówimy:</p>
                    <ul>
                        <li>Jak obliczyć strumień masowy z różnicy temperatur (ΔT 5K i 6K).</li>
                        <li>Dlaczego <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">za długa pętla podłogówki</a> tworzy tzw. króla hydraulicznego.</li>
                        <li>Dlaczego podnoszenie pompy nie zależy od piętra w domu.</li>
                    </ul>
                </div>
                
                <div class="rk-agenda-panel" id="tab-2">
                    <h4>Najdroższe awarie systemu</h4>
                    <p>Dowiesz się, jakie <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstsze błędy popełniają instalatorzy</a>, co bezpośrednio uderza w Twój portfel.</p>
                    <ul>
                        <li>Przewymiarowanie pompy (mit &#8222;im większa tym lepsza&#8221;).</li>
                        <li>Złe ustawienia (Constant Speed vs Constant Pressure).</li>
                        <li>Ryzyko braku separatorów i zalania surową wodą.</li>
                    </ul>
                </div>

                <div class="rk-agenda-panel" id="tab-3">
                    <h4>Piony i kawitacja</h4>
                    <p>Przeanalizujemy krytyczny element dystrybucji czynnika grzewczego – rury łączące źródło ciepła z rozdzielaczem.</p>
                    <ul>
                        <li>Wpływ średnicy rury PEX na ryzyko wystąpienia szumów.</li>
                        <li>Kalkulacja prędkości przepływu (normy DIN 1988).</li>
                        <li>Dlaczego <a href="https://projekt-ogrzewania.pl/jaka-srednica-rury-zasilajacej-rozdzielacz-w-ukladzie-ogrzewania-podlogowego-kalkulator/">średnica rury zasilającej rozdzielacz</a> ratuje całą instalację.</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="rk-tools-teaser">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="24" height="24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg>
            <p>Zamiast liczyć ręcznie – w dalszej części artykułu przygotowałem dedykowane interaktywne <strong>kalkulatory i symulatory graficzne</strong>, które przeanalizują Twoją instalację i same wyznaczą punkt pracy.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = document.querySelectorAll('.rk-agenda-btn');
    var panels = document.querySelectorAll('.rk-agenda-panel');

    for (var i = 0; i < btns.length; i++) {
        btns[i].addEventListener('click', function() {
            var targetId = this.getAttribute('data-id');

            // Usuwanie klas aktywnych (bez animacji i bezpiecznie)
            for (var b = 0; b < btns.length; b++) {
                btns[b].classList.remove('rk-active');
            }
            this.classList.add('rk-active');

            // Ukrywanie wszystkich paneli natychmiastowo
            for (var p = 0; p < panels.length; p++) {
                panels[p].classList.remove('rk-active');
            }
            
            // Pokazywanie docelowego panelu
            var activePanel = document.getElementById(targetId);
            if (activePanel !== null) {
                activePanel.classList.add('rk-active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-flow-dark: #0f172a;
    --rk-flow-blue: #0284c7;
    --rk-flow-light: #f0f9ff;
    --rk-flow-red: #ef4444;
    --rk-flow-green: #10b981;
    --rk-flow-yellow: #f59e0b;
    --rk-flow-border: #e2e8f0;
    --rk-flow-bg: #ffffff;
    --rk-flow-text: #475569;
}

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

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

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

.rk-flow-header-icon {
    width: 32px;
    height: 32px;
    color: #38bdf8;
    flex-shrink: 0;
}

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

/* Tekst / Teoria */
.rk-flow-content {
    padding: 35px 45px;
    background: #ffffff;
}

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

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

.rk-flow-math {
    background: var(--rk-flow-light);
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-flow-blue);
    margin: 25px 0;
    text-align: center;
    font-family: 'Courier New', Courier, monospace;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-flow-dark);
    letter-spacing: 1px;
}

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

.rk-flow-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-size: 14px;
    color: var(--rk-flow-text);
    line-height: 1.6;
}

.rk-flow-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--rk-flow-blue);
    font-weight: 800;
}

/* Interaktywny Kalkulator */
.rk-flow-calc-area {
    background: #f8fafc;
    padding: 35px 45px;
    border-top: 1px solid var(--rk-flow-border);
}

.rk-flow-calc-area h3 {
    margin: 0 0 25px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-flow-dark);
}

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

/* Sekcja Suwaków */
.rk-flow-inputs {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-slider-box {
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-flow-border);
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

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

.rk-slider-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-flow-text);
    text-transform: uppercase;
}

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

.rk-flow-range {
    width: 100%;
    accent-color: var(--rk-flow-blue);
    cursor: pointer;
    height: 6px;
    border-radius: 3px;
}

/* Sekcja Wyniku */
.rk-flow-result {
    background: #ffffff;
    border-radius: 16px;
    border: 2px solid var(--rk-flow-blue);
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.rk-flow-result::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 6px;
    background: var(--rk-flow-blue);
    transition: background 0.4s;
}

.rk-result-label {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-flow-text);
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.rk-result-value {
    font-size: 42px;
    font-weight: 900;
    color: var(--rk-flow-dark);
    margin: 0 0 15px 0;
    line-height: 1;
}

.rk-result-unit {
    font-size: 20px;
    color: var(--rk-flow-blue);
}

.rk-result-status {
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    width: 100%;
    transition: all 0.3s;
}

/* Dynamiczne stany wizualne wyniku */
.rk-state-optimal {
    border-color: var(--rk-flow-green);
}
.rk-state-optimal::before { background: var(--rk-flow-green); }
.rk-state-optimal .rk-result-status {
    background: #dcfce7; color: #166534;
}

.rk-state-warning {
    border-color: var(--rk-flow-yellow);
}
.rk-state-warning::before { background: var(--rk-flow-yellow); }
.rk-state-warning .rk-result-status {
    background: #fef3c7; color: #92400e;
}

.rk-state-danger {
    border-color: var(--rk-flow-red);
}
.rk-state-danger::before { background: var(--rk-flow-red); }
.rk-state-danger .rk-result-status {
    background: #fee2e2; color: #b91c1c;
}

@media (max-width: 768px) {
    .rk-flow-header, .rk-flow-content, .rk-flow-calc-area { padding: 25px 20px; }
    .rk-flow-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-flow-math { font-size: 16px; padding: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-przeplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jak obliczyć wymagany przepływ wody w ogrzewaniu podłogowym?",
    "description": "Matematyczna zależność pomiędzy projektowym obciążeniem cieplnym budynku (OZC), a spadkiem temperatury ΔT. Wzór Q = P / (1,163 x ΔT) w praktyce.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-przeplyw",
    "name": "Zestawienie Wymaganych Przepływów Masowych dla Pomp Obiegowych 2026",
    "description": "Baza danych określająca bezpieczne granice wydajności hydraulicznej zapobiegające powstawaniu szumów i zjawiska zimnej podłogi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wymagany przepływ wody ogrzewanie podłogowe",
      "wzór na wydajność pompy obiegowej",
      "projektowe obciążenie cieplne ozc",
      "szum na rotametrach rozdzielacza",
      "prędkość krytyczna przepływu wody"
    ],
    "measurementTechnique": "Algorytm oparty o wzór Q = P / (1,163 * ΔT) diagnozujący potencjalne zagrożenia w przepływie masowym układu dystrybucji ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalny przepływ w domach: 0.5 - 2.5 m3/h.",
        "Przekroczenie (np. 3.0 m3/h): Ryzyko przepływu turbulentnego i hałasu.",
        "Zaniżenie: Zimny powrót i brak samoodpowietrzania (wymagane v > 0.25 m/s)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-przeplyw",
    "name": "Symulator Przepływu Masowego Q",
    "description": "Interaktywne narzędzie obliczające na żywo wydajność pompy obiegowej na podstawie mocy grzewczej i spadku temperatury ΔT.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-flow-wrapper">
    <div class="rk-flow-header">
        <svg class="rk-flow-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
        </svg>
        <h2>Jak obliczyć wymagany przepływ wody w ogrzewaniu podłogowym?</h2>
    </div>

    

    <div class="rk-flow-content">
        <p>Wymagany przepływ masowy i objętościowy wody w instalacji ogrzewania podłogowego wynosi od 0,5 m³/h do 2,5 m³/h dla domów jednorodzinnych i musi być obliczany w oparciu o projektowe obciążenie cieplne budynku według normy PN-EN 12831 oraz założony spadek temperatury ΔT wynoszący ściśle 5 K lub 6 K. Bezpośrednia odpowiedź na to pytanie opiera się na matematycznym powiązaniu dostarczanej mocy termicznej z pojemnością cieplną nośnika. Każde odstępstwo od wyliczonego przepływu skutkuje zachwianiem równowagi termicznej budynku, powodując asymetrię temperaturową posadzki, co drastycznie obniża deklarowaną efektywność energetyczną układu grzewczego.</p>

        <h3>Matematyczna zależność strumienia masowego od mocy</h3>
        <p>Aby obliczyć przepływ wody (wydajność pompy Q), stosuje się podstawowe równanie wymiany ciepła, przekształcone do celów inżynierii sanitarnej. Przykład: przy projektowym zapotrzebowaniu na moc P = 11,5 kW i różnicy temperatur ΔT = 5 K (gdzie parametry zasilania i powrotu to np. 35/30°C), nominalny przepływ objętościowy wynosi dokładnie 1,98 m³/h (czyli dokładnie 1977,6 litrów na godzinę ciągłego przepływu).</p>
        
        <div class="rk-flow-math">
            Q = P / (1,163 × ΔT)
        </div>

        <ul class="rk-flow-list">
            <li><strong>Q</strong> – przepływ objętościowy wody w instalacji płaszczyznowej [m³/h]</li>
            <li><strong>P</strong> – <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne</a> podłogówki wyznaczone z bilansu OZC [kW]</li>
            <li><strong>1,163</strong> – stała przeliczeniowa uwzględniająca gęstość wody (ok. 1000 kg/m³) oraz ciepło właściwe</li>
        </ul>

        <p>Rozwijając to zagadnienie z perspektywy inżynierskiej, stała ta wynika bezpośrednio z zamiany jednostek energii z dżuli na kilowatogodziny oraz masy na metry sześcienne. Przepływ ten musi być dystrybuowany w taki sposób, aby prędkość wody w poszczególnych pętlach nie spadła poniżej prędkości krytycznej umożliwiającej samoczynne odpowietrzanie układu (tj. minimum 0,25 m/s). Jeśli prędkość będzie mniejsza, pęcherze powietrza utkną w najwyższych punktach jastrychu, trwale odcinając emisję ciepła.</p>

        <h3>Konsekwencje błędnego wyznaczenia przepływu Q</h3>
        <p>Zaniżenie parametru powoduje, że woda wychładza się zbyt szybko w początkowych metrach pętli grzewczej. Efektem jest tzw. „zimna podłoga” na powrocie i głębokie niedogrzanie pomieszczeń oddalonych od rozdzielacza. Z kolei zawyżenie przepływu zmusza pompę do pracy na najwyższych biegach charakterystyki, co podnosi zużycie energii elektrycznej i generuje <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">uciążliwy szum na rotametrach</a> wskutek przekroczenia prędkości krytycznej (v > 0,5 m/s). Pętla hydrauliczna traci wówczas zdolność do laminarnego przepływu.</p>
    </div>

    <div class="rk-flow-calc-area">
        <h3>Symulacja Wydajności Pompy (Q)</h3>
        
        <div class="rk-flow-grid">
            <div class="rk-flow-inputs">
                <div class="rk-slider-box">
                    <div class="rk-slider-header">
                        <span class="rk-slider-title">Zapotrzebowanie (P)</span>
                        <span class="rk-slider-val"><span id="rk-val-power">10.0</span> kW</span>
                    </div>
                    <input type="range" id="rk-slider-power" class="rk-flow-range" min="4" max="25" step="0.5" value="10">
                </div>

                <div class="rk-slider-box">
                    <div class="rk-slider-header">
                        <span class="rk-slider-title">Spadek temp. (ΔT)</span>
                        <span class="rk-slider-val"><span id="rk-val-dt">5</span> K</span>
                    </div>
                    <input type="range" id="rk-slider-dt" class="rk-flow-range" min="3" max="10" step="1" value="5">
                </div>
            </div>

            <div class="rk-flow-result rk-state-optimal" id="rk-result-box">
                <div class="rk-result-label">Wymagany przepływ masowy Q</div>
                <div class="rk-result-value" id="rk-flow-output">1.72 <span class="rk-result-unit">m³/h</span></div>
                <div class="rk-result-status" id="rk-flow-status">Optymalny punkt pracy dla pompy domowej</div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var powerSlider = document.getElementById('rk-slider-power');
    var dtSlider = document.getElementById('rk-slider-dt');
    var valPower = document.getElementById('rk-val-power');
    var valDt = document.getElementById('rk-val-dt');
    var flowOutput = document.getElementById('rk-flow-output');
    var resultBox = document.getElementById('rk-result-box');
    var statusText = document.getElementById('rk-flow-status');

    function calculateFlow() {
        var p = parseFloat(powerSlider.value);
        var dt = parseInt(dtSlider.value);
        
        valPower.textContent = p.toFixed(1);
        valDt.textContent = dt;

        // Główny wzór inżynierski
        var q = p / (1.163 * dt);
        flowOutput.innerHTML = q.toFixed(2) + ' <span class="rk-result-unit">m³/h</span>';

        // Czyszczenie klas
        resultBox.classList.remove('rk-state-optimal');
        resultBox.classList.remove('rk-state-warning');
        resultBox.classList.remove('rk-state-danger');

        // Logika diagnozy (bez znaków &&)
        if (q < 0.5) {
            resultBox.classList.add('rk-state-danger');
            statusText.textContent = "Ryzyko niedogrzania! Przepływ jest zbyt mały, by usunąć powietrze z rur.";
        } else if (q <= 2.5) {
            resultBox.classList.add('rk-state-optimal');
            statusText.textContent = "Optymalny przepływ dla standardowej domowej instalacji.";
        } else if (q <= 3.5) {
            resultBox.classList.add('rk-state-warning');
            statusText.textContent = "Wysoki strumień! Zadbaj o większe rury zasilające, by uniknąć szumów.";
        } else {
            resultBox.classList.add('rk-state-danger');
            statusText.textContent = "Krytyczny przepływ! Standardowa pompa domowa sobie nie poradzi.";
        }
    }

    powerSlider.addEventListener('input', calculateFlow);
    dtSlider.addEventListener('input', calculateFlow);
    calculateFlow(); // Inicjalizacja
});
</script>



<style>
:root {
    --rk-head-dark: #0f172a;
    --rk-head-blue: #0284c7;
    --rk-head-light: #f0f9ff;
    --rk-head-green: #10b981;
    --rk-head-green-light: #f0fdf4;
    --rk-head-yellow: #eab308;
    --rk-head-yellow-light: #fefce8;
    --rk-head-red: #ef4444;
    --rk-head-red-light: #fef2f2;
    --rk-head-border: #e2e8f0;
    --rk-head-bg: #ffffff;
    --rk-head-text: #475569;
}

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

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

.rk-head-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    line-height: 1.3;
}

.rk-head-icon {
    width: 32px;
    height: 32px;
    color: #38bdf8;
    flex-shrink: 0;
    margin-top: 2px;
}

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

/* Treść tekstowa */
.rk-head-content {
    padding: 35px 45px 20px;
    background: #ffffff;
}

.rk-head-content h3 {
    margin: 0 0 15px 0;
    font-size: 19px;
    font-weight: 800;
    color: var(--rk-head-dark);
}

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

/* Wzór Matematyczny HTML */
.rk-math-panel {
    background: var(--rk-head-light);
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-head-blue);
    margin-bottom: 25px;
    text-align: center;
    font-family: 'Courier New', Courier, monospace;
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-head-dark);
    letter-spacing: 0.5px;
}

.rk-math-panel span {
    color: var(--rk-head-blue);
}

/* Interaktywny Symulator */
.rk-head-interactive {
    background: #f8fafc;
    padding: 35px 45px;
    border-top: 1px solid var(--rk-head-border);
}

.rk-head-interactive h3 {
    margin: 0 0 25px 0;
    font-size: 19px;
    font-weight: 800;
    color: var(--rk-head-dark);
}

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

/* Kontrolki Suwaka */
.rk-slider-box {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-head-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-slider-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.rk-slider-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-head-text);
    text-transform: uppercase;
}

.rk-slider-value {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-head-blue);
}

.rk-range-input {
    width: 100%;
    accent-color: var(--rk-head-blue);
    cursor: pointer;
    height: 8px;
    border-radius: 4px;
}

/* Panel Wynikowy */
.rk-result-box {
    padding: 25px;
    border-radius: 16px;
    border: 2px solid var(--rk-head-border);
    background: #ffffff;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-result-title {
    font-size: 18px;
    font-weight: 900;
    margin: 0 0 15px 0;
    transition: color 0.3s;
}

.rk-result-metrics {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 15px;
}

.rk-metric-row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: var(--rk-head-text);
    font-weight: 600;
    padding-bottom: 8px;
    border-bottom: 1px dashed var(--rk-head-border);
}

.rk-metric-row:last-child {
    border-bottom: none;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-head-dark);
}

.rk-result-desc {
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
    font-weight: 600;
}

/* Stany Wizualne */
.rk-state-safe {
    border-color: var(--rk-head-green);
    background: var(--rk-head-green-light);
}
.rk-state-safe .rk-result-title { color: #059669; }
.rk-state-safe .rk-result-desc { color: #047857; }

.rk-state-warn {
    border-color: var(--rk-head-yellow);
    background: var(--rk-head-yellow-light);
}
.rk-state-warn .rk-result-title { color: #d97706; }
.rk-state-warn .rk-result-desc { color: #b45309; }

.rk-state-danger {
    border-color: var(--rk-head-red);
    background: var(--rk-head-red-light);
}
.rk-state-danger .rk-result-title { color: #dc2626; }
.rk-state-danger .rk-result-desc { color: #b91c1c; }

@media (max-width: 768px) {
    .rk-head-header, .rk-head-content, .rk-head-interactive { padding: 25px 20px; }
    .rk-sim-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-math-panel { font-size: 14px; padding: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-podnoszenie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jak wyznaczyć wysokość podnoszenia pompy dla najdłuższej pętli podłogówki?",
    "description": "Fizyka strat ciśnienia w instalacji podłogowej. Wyjaśniamy jak długość pętli wpływa na opory miejscowe i dlaczego zjawisko króla hydraulicznego niszczy pompy.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-podnoszenie",
    "name": "Tabela Oporów Hydraulicznych Pętli PEX 16mm 2026",
    "description": "Zestawienie straty ciśnienia wyrażonej w Pa/m oraz wysokości podnoszenia w zależności od długości ułożonej pętli ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego",
      "opór jednostkowy rury pex 16",
      "wysokość podnoszenia pompy obiegowej",
      "król hydrauliczny w podłogówce",
      "straty ciśnienia w instalacji CO"
    ],
    "measurementTechnique": "Kalkulacja strat liniowych (150 Pa/m dla 2.0 l/min) powiększona o wykładniczy wzrost oporów przy pętlach przekraczających normę PN-EN 1264-4.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Normatywna długość pętli 16mm: max 100-120m (strata rzędu 1.65m H2O).",
        "Przekroczenie (150m): Generuje opory powyżej 32 kPa (3.2m H2O) wymuszając instalację większej pompy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-podnoszenie",
    "name": "Symulator Oporów Hydraulicznych Pętli",
    "description": "Narzędzie pozwalające na dynamiczne modelowanie całkowitej wysokości podnoszenia pompy (H) poprzez modyfikację długości najdłuższej pętli grzewczej.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-head-container">
    <div class="rk-head-header">
        <svg class="rk-head-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline>
        </svg>
        <h2>Jak wyznaczyć wysokość podnoszenia pompy dla najdłuższej pętli podłogówki?</h2>
    </div>

    

    <div class="rk-head-content">
        <p>Wysokość podnoszenia pompy obiegowej dla standardowej instalacji płaszczyznowej wynosi zazwyczaj od 3,5 m do 5,5 m słupa wody (co odpowiada 35–55 kPa) i jest determinowana wyłącznie przez sumaryczne opory hydrauliczne najdłuższej, najbardziej obciążonej pętli grzewczej, a nie przez fizyczną wysokość budynku. Zgodnie z normą PN-EN 1264-4, maksymalna długość pojedynczej pętli z rury o średnicy 16 mm nie powinna przekraczać 100–120 m.</p>

        <h3>Fizyka strat ciśnienia: liniowe i miejscowe opory instalacji</h3>
        <p>Wysokość podnoszenia (H) to zdolność pompy do pokonania oporów tarcia strumienia cieczy o wewnętrzne ścianki rur (straty liniowe) oraz oporów na zmianach kierunku, zwężkach, kolankach i zaworach regulacyjnych (straty miejscowe). Szacowanie tego parametru metodą „na oko” to prosty przepis na katastrofę. Przyjmując powszechnie stosowaną rurę PERT/AL/PEX 16x2 mm przy przepływie rzędu 2,0 l/min, liniowa strata ciśnienia wynosi średnio 150 Pa/m (czyli 0,015 m H₂O/m).</p>
        
        <p>Dla optymalnej pętli o długości 110 m czysta strata liniowa wynosi:</p>

        <div class="rk-math-panel">
            Δp<sub>lin</sub> = 110 m × 150 Pa/m = 16 500 Pa = <span>1,65 m H₂O</span>
        </div>

        <p>Do tej wartości należy doliczyć opory miejscowe: kolana ułożenia ślimakowego, podejścia do szafki, a także opór samego rozdzielacza z rotametrami (ok. 15–20 kPa czyli 1,5–2,0 m) oraz zaworów mieszających. Kalkulator inżynierski zawsze uwzględnia również współczynnik starzenia rur.</p>

        <h3>Wpływ długości pętli na wymiarowanie hydrauliczne</h3>
        <p>Jeśli instalator bezmyślnie ułożył pętlę o długości 150 m, strata ciśnienia na samej rurze wzrasta drastycznie ze względu na wykładniczy wzrost oporów. Taka <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">za długa pętla podłogówki</a> staje się tzw. „królem hydraulicznym” całego układu – dławi przepływ i zmusza inwestora do zakupu pompy o wysokości podnoszenia 8 m, rujnując autoadaptacyjne tryby pracy energooszczędnych pomp.</p>
    </div>

    <div class="rk-head-interactive">
        <h3>Symulator Oporów Hydraulicznych Pętli (H)</h3>
        
        <div class="rk-sim-grid">
            <div class="rk-slider-box">
                <div class="rk-slider-info">
                    <span class="rk-slider-label">Długość pętli (PEX 16mm):</span>
                    <span class="rk-slider-value"><span id="rk-loop-val">100</span> m</span>
                </div>
                <input type="range" id="rk-loop-slider" class="rk-range-input" min="60" max="160" step="5" value="100">
            </div>

            <div class="rk-result-box rk-state-safe" id="rk-result-panel">
                <h4 class="rk-result-title" id="rk-result-title">Instalacja Bezpieczna</h4>
                
                <div class="rk-result-metrics">
                    <div class="rk-metric-row">
                        <span>Strata liniowa rury:</span>
                        <span id="rk-loss-lin">1.50 m H₂O</span>
                    </div>
                    <div class="rk-metric-row">
                        <span>Opory rozdzielacza / zaworów:</span>
                        <span>2.00 m H₂O</span>
                    </div>
                    <div class="rk-metric-row">
                        <span>Wymagane podnoszenie pompy (H):</span>
                        <span id="rk-loss-total" style="color: var(--rk-head-blue);">3.50 m</span>
                    </div>
                </div>
                
                <p class="rk-result-desc" id="rk-result-desc">Pętla ułożona zgodnie ze sztuką. Pozwala na zastosowanie standardowej pompy 25-40 lub 25-60, pracującej w optymalnym zakresie sprawności.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('rk-loop-slider');
    var displayVal = document.getElementById('rk-loop-val');
    var dispLin = document.getElementById('rk-loss-lin');
    var dispTotal = document.getElementById('rk-loss-total');
    var panel = document.getElementById('rk-result-panel');
    var title = document.getElementById('rk-result-title');
    var desc = document.getElementById('rk-result-desc');

    function updateHydraulics() {
        var length = parseInt(slider.value);
        displayVal.textContent = length;

        // Podstawowy opór liniowy: 0.015 m/m
        var baseLoss = length * 0.015;
        
        // Symulacja zjawiska "króla hydraulicznego" (wykładniczy wzrost przy długich pętlach z uwagi na konieczność tłoczenia większej masy)
        // Bez operatorów &&
        if (length > 110) {
            var over = length - 110;
            var penalty = (over * over) * 0.0006;
            baseLoss = baseLoss + penalty;
        }

        var totalHead = baseLoss + 2.0; // + 2.0m na rozdzielacz

        dispLin.textContent = baseLoss.toFixed(2) + " m H₂O";
        dispTotal.textContent = totalHead.toFixed(2) + " m";

        // Reset klas
        panel.classList.remove('rk-state-safe');
        panel.classList.remove('rk-state-warn');
        panel.classList.remove('rk-state-danger');

        // Logika przypisania stanów bez użycia &&
        if (length <= 100) {
            panel.classList.add('rk-state-safe');
            title.textContent = "Instalacja Bezpieczna";
            desc.textContent = "Pętla ułożona zgodnie ze sztuką. Pozwala na zastosowanie standardowej pompy 25-40 lub 25-60, pracującej w optymalnym zakresie sprawności.";
        } else if (length <= 120) {
            panel.classList.add('rk-state-warn');
            title.textContent = "Wartość Graniczna";
            desc.textContent = "Pętla zbliża się do limitów normy PN-EN 1264. Wymaga starannego zrównoważenia na przepływomierzach, aby nie zakłócić pracy krótszych obiegów.";
        } else {
            panel.classList.add('rk-state-danger');
            title.textContent = "Król Hydrauliczny!";
            desc.textContent = "Krytyczny opór! Taka pętla zadławi układ. Konieczny będzie montaż przewymiarowanej pompy 25-80, co drastycznie podniesie zużycie prądu i wygeneruje hałas.";
        }
    }

    slider.addEventListener('input', updateHydraulics);
    updateHydraulics(); // Inicjalizacja
});
</script>



<style>
:root {
    --rk-pipe-dark: #0f172a;
    --rk-pipe-blue: #0284c7;
    --rk-pipe-light: #f0f9ff;
    --rk-pipe-red: #ef4444;
    --rk-pipe-red-light: #fef2f2;
    --rk-pipe-green: #10b981;
    --rk-pipe-green-light: #f0fdf4;
    --rk-pipe-border: #e2e8f0;
    --rk-pipe-bg: #ffffff;
    --rk-pipe-text: #475569;
}

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

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

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

.rk-pipe-icon {
    width: 34px;
    height: 34px;
    color: #38bdf8;
    flex-shrink: 0;
}

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

.rk-pipe-header a {
    color: #7dd3fc;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Treść techniczna */
.rk-pipe-body {
    padding: 35px 45px 25px;
    background: #ffffff;
}

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

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

/* Formatowanie inżynierskiego wzoru bez LaTeX */
.rk-math-box {
    background: var(--rk-pipe-light);
    padding: 15px 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-pipe-blue);
    margin-bottom: 25px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-pipe-dark);
    text-align: center;
}

/* Symulator interaktywny */
.rk-sim-area {
    background: #f8fafc;
    padding: 35px 45px;
    border-top: 1px solid var(--rk-pipe-border);
}

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

.rk-pipe-btn {
    background: #ffffff;
    border: 2px solid var(--rk-pipe-border);
    padding: 20px;
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-pipe-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
}

.rk-pipe-btn h4 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-pipe-dark);
}

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

/* Stany Aktywne Przycisków */
.rk-btn-danger.rk-active {
    border-color: var(--rk-pipe-red);
    background: var(--rk-pipe-red-light);
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.2);
}

.rk-btn-safe.rk-active {
    border-color: var(--rk-pipe-green);
    background: var(--rk-pipe-green-light);
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.2);
}

/* Ekran Wyniku Wizualnego */
.rk-sim-display {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-pipe-border);
    padding: 30px;
    display: flex;
    align-items: center;
    gap: 30px;
    transition: all 0.4s ease;
}

.rk-pipe-visual {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
    position: relative;
}

/* Animacja SVG */
.rk-flow-path {
    stroke-dasharray: 15;
    transition: stroke 0.4s ease;
}

.rk-flow-fast { animation: flowAnim 0.4s linear infinite; stroke: var(--rk-pipe-red); }
.rk-flow-slow { animation: flowAnim 1.5s linear infinite; stroke: var(--rk-pipe-green); }

@keyframes flowAnim {
    from { stroke-dashoffset: 30; }
    to { stroke-dashoffset: 0; }
}

.rk-sim-data h4 {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 900;
}

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

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

/* Specyficzne stany panelu */
.rk-state-danger { border-color: var(--rk-pipe-red); }
.rk-state-danger h4 { color: var(--rk-pipe-red); }
.rk-state-danger .rk-data-badge { background: var(--rk-pipe-red); color: #ffffff; }

.rk-state-safe { border-color: var(--rk-pipe-green); }
.rk-state-safe h4 { color: var(--rk-pipe-green); }
.rk-state-safe .rk-data-badge { background: var(--rk-pipe-green); color: #ffffff; }

@media (max-width: 768px) {
    .rk-pipe-header, .rk-pipe-body, .rk-sim-area { padding: 25px 20px; }
    .rk-sim-controls { grid-template-columns: 1fr; gap: 15px; }
    .rk-sim-display { flex-direction: column; text-align: center; gap: 20px; padding: 25px 20px; }
    .rk-pipe-visual { width: 100px; height: 100px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-srednica",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jaka średnica rury zasilającej rozdzielacz zapewnia prawidłowy przepływ?",
    "description": "Szczegółowe obliczenia hydrauliczne dla pionu rozdzielacza. Zobacz drastyczne różnice w prędkości przepływu między rurą PEX 25 a PEX 32.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-srednica",
    "name": "Parametry Hydrauliczne Pionów Zasilających Rozdzielacze 2026",
    "description": "Baza danych określająca dopuszczalne prędkości przepływu dla głównych linii zasilających układy płaszczyznowe w oparciu o normę DIN 1988.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jaka średnica rury zasilającej rozdzielacz",
      "rura PEX 32 czy 25 do rozdzielacza",
      "prędkość przepływu w rurach CO",
      "szumy w instalacji centralnego ogrzewania",
      "kawitacja w pompie obiegowej"
    ],
    "measurementTechnique": "Przekształcenie wzoru na pole przekroju koła i objętość cylindra do analizy krytycznych wartości pola strumienia (v = 4*Q / pi*d^2).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "PEX 25x2.5 (dn 20mm) - Prędkość 1.52 m/s przy 12kW (Krytyczna kawitacja).",
        "PEX 32x3.0 (dn 26mm) - Prędkość 0.90 m/s przy 12kW (Stabilny przepływ)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-srednica",
    "name": "Symulator Prędkości Przepływu Pionu",
    "description": "Interaktywna aplikacja edukacyjna symulująca wpływ zmiany średnicy rury głównej na prędkość czynnika roboczego i ryzyko uszkodzenia pompy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, JavaScript and CSS3 SVG Animations",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pipe-container">
    <div class="rk-pipe-header">
        <h2>
            <svg class="rk-pipe-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 12h4l3-9 5 18 3-9h5"></path>
            </svg>
            Jaka średnica rury zasilającej rozdzielacz zapewnia prawidłowy przepływ?
        </h2>
        <p>Średnica rury zasilającej <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacz do podłogówki</a> (pion zasilający) dla instalacji o łącznej mocy cieplnej do 15 kW musi mieć średnicę wewnętrzną wynoszącą minimum <strong>26 mm</strong> (co odpowiada rurze PEX 32x3 mm lub miedzi DN28), aby prędkość przepływu cieczy nie przekraczała bezpiecznej granicy <strong>0,8 m/s</strong> zgodnie z wytycznymi normy DIN 1988.</p>
    </div>

    <div class="rk-pipe-body">
        <h3>Obliczenia hydrauliczne dla pionu rozdzielacza</h3>
        <p>Zastosowanie zbyt małego przekroju drastycznie zwiększa opory jednostkowe i odcina rozdzielacz od wymaganego strumienia medium grzewczego. Przeanalizujmy konkretny przypadek: rozdzielacz obsługuje 10 pętli, łączna moc sekcji wynosi 12 kW, przy różnicy temperatur ΔT = 6 K. Wymagany przepływ sumaryczny to <strong>1,72 m³/h (0,000477 m³/s)</strong>.</p>
        
        <div class="rk-math-box">
            V = (4 × Q<sub>sek</sub>) / (π × d<sub>wew</sub>²)
        </div>
        
        <p>Gdzie <strong>V</strong> to prędkość przepływu, <strong>Q<sub>sek</sub></strong> to przepływ sumaryczny sekcji, a <strong>d<sub>wew</sub></strong> to rzeczywista średnica wewnętrzna rury. Zmiana rury zasilającej z 32 mm na 25 mm redukuje pole przekroju poprzecznego o ponad 40%, zmuszając ciecz do gwałtownego przyspieszenia.</p>
    </div>

    <div class="rk-sim-area">
        <h3 style="margin: 0 0 20px 0; font-size: 18px; color: var(--rk-pipe-dark);">Symulacja prędkości przepływu dla 12 kW:</h3>
        
        <div class="rk-sim-controls">
            <button class="rk-pipe-btn rk-btn-danger rk-active" id="btn-pipe-25">
                <h4>Wybierz: PEX 25x2.5</h4>
                <p>Średnica wewnętrzna 20 mm</p>
            </button>
            <button class="rk-pipe-btn rk-btn-safe" id="btn-pipe-32">
                <h4>Wybierz: PEX 32x3.0</h4>
                <p>Średnica wewnętrzna 26 mm</p>
            </button>
        </div>

        <div class="rk-sim-display rk-state-danger" id="pipe-display">
            <div class="rk-pipe-visual">
                <svg viewBox="0 0 100 100" width="100%" height="100%" fill="none" stroke-width="8" stroke-linecap="round">
                    <path d="M10 50 L90 50" stroke="#e2e8f0" stroke-width="24"/>
                    <path d="M10 50 L90 50" stroke="#f8fafc" stroke-width="16"/>
                    <path id="pipe-flow-anim" class="rk-flow-path rk-flow-fast" d="M10 50 L90 50" stroke-width="8"/>
                </svg>
            </div>
            <div class="rk-sim-data">
                <h4 id="pipe-result-title">Krytyczne przekroczenie (Kawitacja)</h4>
                <p id="pipe-result-desc">Wysoka prędkość medium generuje gigantyczne straty ciśnienia (ponad 800 Pa/m). Wywołuje to uciążliwe szumy w ścianach i generuje opór, którego przeciętna pompa obiegowa nie jest w stanie pokonać. Skutek: niedogrzane skrajne sekcje.</p>
                <div class="rk-data-badge" id="pipe-result-val">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="20" height="20"><polyline points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polyline></svg>
                    Prędkość: 1.52 m/s
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn25 = document.getElementById('btn-pipe-25');
    var btn32 = document.getElementById('btn-pipe-32');
    var displayPanel = document.getElementById('pipe-display');
    var animPath = document.getElementById('pipe-flow-anim');
    var title = document.getElementById('pipe-result-title');
    var desc = document.getElementById('pipe-result-desc');
    var valBadge = document.getElementById('pipe-result-val');

    function setPipe25() {
        // Zmiana klas przycisków
        btn25.classList.add('rk-active');
        btn32.classList.remove('rk-active');

        // Zmiana stylów panelu głównego
        displayPanel.classList.remove('rk-state-safe');
        displayPanel.classList.add('rk-state-danger');

        // Zmiana animacji SVG
        animPath.classList.remove('rk-flow-slow');
        animPath.classList.add('rk-flow-fast');

        // Aktualizacja tekstów
        title.textContent = 'Krytyczne przekroczenie (Kawitacja)';
        desc.textContent = 'Wysoka prędkość medium generuje gigantyczne straty ciśnienia (ponad 800 Pa/m). Wywołuje to uciążliwe szumy w ścianach i generuje opór, którego przeciętna pompa obiegowa nie jest w stanie pokonać. Skutek: niedogrzane skrajne sekcje.';
        valBadge.innerHTML = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="20" height="20"><polyline points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polyline></svg> Prędkość: 1.52 m/s';
    }

    function setPipe32() {
        // Zmiana klas przycisków
        btn32.classList.add('rk-active');
        btn25.classList.remove('rk-active');

        // Zmiana stylów panelu głównego
        displayPanel.classList.remove('rk-state-danger');
        displayPanel.classList.add('rk-state-safe');

        // Zmiana animacji SVG
        animPath.classList.remove('rk-flow-fast');
        animPath.classList.add('rk-flow-slow');

        // Aktualizacja tekstów
        title.textContent = 'Stabilny, cichy przepływ (Optymalny)';
        desc.innerHTML = 'Prędkość spada do akceptowalnego poziomu, a liniowa strata ciśnienia maleje do niecałych 180 Pa/m. To gwarantuje stabilną i cichą dystrybucję energii do wszystkich rotametrów. Wybór odpowiedniej <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rury PEX</a> ratuje całą hydraulikę.';
        valBadge.innerHTML = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="20" height="20"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg> Prędkość: 0.90 m/s';
    }

    // Bezpieczne nasłuchiwacze bez operatorów logicznych
    btn25.addEventListener('click', function() {
        var isAlreadyActive = btn25.classList.contains('rk-active');
        if (isAlreadyActive === false) {
            setPipe25();
        }
    });

    btn32.addEventListener('click', function() {
        var isAlreadyActive = btn32.classList.contains('rk-active');
        if (isAlreadyActive === false) {
            setPipe32();
        }
    });
});
</script>



<style>
:root {
    --rk-tab-dark: #0f172a;
    --rk-tab-blue: #0284c7;
    --rk-tab-light: #f0f9ff;
    --rk-tab-border: #e2e8f0;
    --rk-tab-bg: #ffffff;
    --rk-tab-text: #475569;
    --rk-tab-highlight: #38bdf8;
    --rk-tab-green: #10b981;
}

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

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

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

.rk-tab-header-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-tab-highlight);
    flex-shrink: 0;
}

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

/* Interfejs Symulatora */
.rk-tab-interactive {
    padding: 30px 45px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-tab-border);
}

.rk-tab-slider-wrap {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-tab-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

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

.rk-tab-slider-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-tab-dark);
}

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

.rk-slider-input {
    width: 100%;
    accent-color: var(--rk-tab-blue);
    cursor: pointer;
}

/* Karty Pomp (Zamiast standardowej tabeli) */
.rk-tab-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 35px 45px;
    background: #ffffff;
}

.rk-pump-card {
    background: #ffffff;
    border: 2px solid var(--rk-tab-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.rk-pump-card.rk-active-card {
    border-color: var(--rk-tab-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.25);
    transform: translateY(-5px);
}

.rk-pump-card.rk-active-card::before {
    content: 'ZALECANA';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--rk-tab-blue);
    color: #ffffff;
    text-align: center;
    font-size: 12px;
    font-weight: 900;
    padding: 4px 0;
    letter-spacing: 1px;
}

.rk-pump-header {
    padding: 30px 20px 20px;
    text-align: center;
    border-bottom: 1px solid var(--rk-tab-border);
    background: #f8fafc;
}

.rk-pump-header h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-tab-dark);
}

.rk-pump-header span {
    display: block;
    font-size: 13px;
    color: var(--rk-tab-text);
    margin-top: 5px;
    font-weight: 600;
}

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

.rk-param-item {
    display: flex;
    flex-direction: column;
    padding: 15px 20px;
    border-bottom: 1px solid #f1f5f9;
}

.rk-param-item:last-child {
    border-bottom: none;
}

.rk-param-label {
    font-size: 11px;
    text-transform: uppercase;
    color: #94a3b8;
    font-weight: 800;
    margin-bottom: 4px;
    letter-spacing: 0.5px;
}

.rk-param-value {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-tab-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-param-value svg {
    width: 16px;
    height: 16px;
    color: var(--rk-tab-blue);
    flex-shrink: 0;
}

.rk-pump-price {
    padding: 20px;
    background: #f8fafc;
    text-align: center;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-tab-green);
    border-top: 1px solid var(--rk-tab-border);
}

/* Wnioski i kontekst */
.rk-tab-summary {
    padding: 30px 45px;
    background: #f0f9ff;
    border-top: 1px solid #bae6fd;
}

.rk-tab-summary p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #0369a1;
}

.rk-tab-summary a {
    color: #0284c7;
    font-weight: 800;
    text-decoration: underline;
}

/* RWD - Akordeonowy stack dla mobile */
@media (max-width: 768px) {
    .rk-tab-header, .rk-tab-interactive, .rk-tab-grid, .rk-tab-summary { padding: 25px 20px; }
    .rk-tab-grid { grid-template-columns: 1fr; gap: 15px; }
    
    .rk-pump-card {
        border-width: 1px;
    }
    
    .rk-pump-card.rk-active-card {
        transform: translateY(0);
        border-width: 2px;
    }
    
    /* Mobilne zwijanie parametrów - ujawniają się tylko w aktywnej karcie */
    .rk-param-list, .rk-pump-price {
        display: none;
    }
    
    .rk-pump-card.rk-active-card .rk-param-list,
    .rk-pump-card.rk-active-card .rk-pump-price {
        display: block;
    }
    
    .rk-pump-header { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-tabela",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Tabela porównawcza parametrów technicznych pomp obiegowych",
    "description": "Zestawienie techniczne parametrów i cen najpopularniejszych elektronicznych pomp obiegowych ErP: 25-40, 25-60 oraz 25-80 dedykowanych do instalacji podłogowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-tabela",
    "name": "Zestawienie Parametrów Pomp Obiegowych 2026",
    "description": "Baza danych określająca specyfikację hydrauliczną i elektryczną (wysokość podnoszenia, moc W, przepływ, cena 2026) dla standardowych pomp instalacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa klasy 25-40 parametry",
      "wysokość podnoszenia pompy 25-60",
      "pobór mocy pompy obiegowej do podłogówki",
      "cennik pomp do podłogówki 2026",
      "maksymalny przepływ wody w podłogówce"
    ],
    "measurementTechnique": "Kompilacja i porównanie deklaracji właściwości użytkowych (EEI ≤ 0,20) producentów pomp elektronicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "25-40: 4m, 2.4 m3/h, 3-22W, do 100m2",
        "25-60: 6m, 3.4 m3/h, 3-40W, 100-220m2",
        "25-80: 8m, 4.5 m3/h, 4-60W, >220m2"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-tabela",
    "name": "Interaktywna Porównywarka Pomp Obiegowych",
    "description": "Moduł aplikacyjny pozwalający na dopasowanie i wizualizację parametrów typoszeregu pomp na podstawie suwaka metrażu budynku.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-tab-container">
    <div class="rk-tab-header">
        <h2>
            <svg class="rk-tab-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
                <line x1="3" y1="9" x2="21" y2="9"></line>
                <line x1="9" y1="21" x2="9" y2="9"></line>
            </svg>
            Tabela porównawcza parametrów technicznych pomp obiegowych
        </h2>
        <p>Poniższa specyfikacja przedstawia zestawienie kluczowych parametrów dla trzech najpopularniejszych typoszeregów elektronicznych pomp obiegowych (zgodnych z dyrektywą ErP, <strong>EEI ≤ 0,20</strong>) stosowanych w budownictwie jednorodzinnym.</p>
    </div>

    <div class="rk-tab-interactive">
        <div class="rk-tab-slider-wrap">
            <div class="rk-tab-slider-header">
                <span class="rk-tab-slider-title">Symulowana powierzchnia podłogówki:</span>
                <span class="rk-tab-slider-val"><span id="rk-tab-area-val">120</span> m²</span>
            </div>
            <input type="range" id="rk-tab-area-slider" class="rk-slider-input" min="50" max="350" step="10" value="120">
        </div>
    </div>

    <div class="rk-tab-grid">
        
        <div class="rk-pump-card" id="rk-pump-40">
            <div class="rk-pump-header">
                <h3>Klasa 25-40</h3>
                <span>Małe układy (np. 4m słupa wody)</span>
            </div>
            <ul class="rk-param-list">
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. wysokość podnoszenia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 19V5M5 12l7-7 7 7"/></svg> 4,0 m (40 kPa)</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. przepływ objętościowy</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg> 2,4 m³/h</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Pobór mocy (Min-Max)</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg> 3 W – 22 W</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Sugerowana powierzchnia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/></svg> Do 100 m²</span>
                </li>
            </ul>
            <div class="rk-pump-price">450 – 600 PLN</div>
        </div>

        <div class="rk-pump-card rk-active-card" id="rk-pump-60">
            <div class="rk-pump-header">
                <h3>Klasa 25-60</h3>
                <span>Standardowe domy (np. 6m słupa wody)</span>
            </div>
            <ul class="rk-param-list">
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. wysokość podnoszenia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 19V5M5 12l7-7 7 7"/></svg> 6,0 m (60 kPa)</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. przepływ objętościowy</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg> 3,4 m³/h</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Pobór mocy (Min-Max)</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg> 3 W – 40 W</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Sugerowana powierzchnia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/></svg> 100 m² – 220 m²</span>
                </li>
            </ul>
            <div class="rk-pump-price">650 – 850 PLN</div>
        </div>

        <div class="rk-pump-card" id="rk-pump-80">
            <div class="rk-pump-header">
                <h3>Klasa 25-80</h3>
                <span>Rozbudowane układy (np. 8m słupa wody)</span>
            </div>
            <ul class="rk-param-list">
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. wysokość podnoszenia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 19V5M5 12l7-7 7 7"/></svg> 8,0 m (80 kPa)</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. przepływ objętościowy</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg> 4,5 m³/h</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Pobór mocy (Min-Max)</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg> 4 W – 60 W</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Sugerowana powierzchnia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/></svg> Powyżej 220 m²</span>
                </li>
            </ul>
            <div class="rk-pump-price">1100 – 1400 PLN</div>
        </div>

    </div>

    <div class="rk-tab-summary">
        <p>
            Analizując powyższe parametry z tabeli, widać wyraźnie, że wybór odpowiedniego modelu musi opierać się na precyzyjnych obliczeniach dla danego budynku, a nie na zasadzie „im większa, tym lepsza”. Praca przewymiarowanej <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy klasy 25-80</a> w małym domku drastycznie podnosi roczny <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">koszt eksploatacji instalacji</a> ze względu na wyższe zużycie prądu [W] oraz generuje uciążliwe szumy. Z kolei zbyt słaba pompa 25-40 w budynku piętrowym nie poradzi sobie z oporami długich pętli hydraulicznych, pozostawiając posadzkę chłodną.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('rk-tab-area-slider');
    var valDisplay = document.getElementById('rk-tab-area-val');
    var p40 = document.getElementById('rk-pump-40');
    var p60 = document.getElementById('rk-pump-60');
    var p80 = document.getElementById('rk-pump-80');

    function updateHighlight() {
        var area = parseInt(slider.value);
        valDisplay.textContent = area;

        // Bezpieczny reset klas
        p40.classList.remove('rk-active-card');
        p60.classList.remove('rk-active-card');
        p80.classList.remove('rk-active-card');

        // Logika przypisania na podstawie powierzchni (bez użycia &&)
        if (area <= 100) {
            p40.classList.add('rk-active-card');
        } else if (area <= 220) {
            p60.classList.add('rk-active-card');
        } else {
            p80.classList.add('rk-active-card');
        }
    }

    slider.addEventListener('input', updateHighlight);
});
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0284c7;
    --rk-calc-blue-light: #f0f9ff;
    --rk-calc-border: #e2e8f0;
    --rk-calc-bg: #ffffff;
    --rk-calc-text: #475569;
    --rk-calc-green: #10b981;
    --rk-calc-red: #ef4444;
}

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

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

.rk-calc-header h2 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 15px;
}

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

.rk-calc-icon-main {
    width: 32px;
    height: 32px;
    color: #38bdf8;
}

/* Sekcja Wprowadzania Danych */
.rk-calc-body {
    padding: 35px 45px;
    background: #f8fafc;
}

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

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

.rk-input-group {
    display: flex;
    flex-direction: column;
}

.rk-input-group label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-calc-text);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-input-group input, 
.rk-input-group select {
    padding: 14px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-calc-dark);
    background: #ffffff;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.rk-input-group input:focus, 
.rk-input-group select:focus {
    outline: none;
    border-color: var(--rk-calc-blue);
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15);
}

.rk-btn-calc {
    width: 100%;
    padding: 18px;
    background: var(--rk-calc-blue);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

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

/* Sekcja Wyników i Suwaków */
.rk-calc-results {
    padding: 35px 45px;
    background: #ffffff;
    border-top: 1px solid var(--rk-calc-border);
}

.rk-sliders-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 30px;
}

.rk-slider-box {
    background: var(--rk-calc-blue-light);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid #bae6fd;
}

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

.rk-slider-header span {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-calc-text);
}

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

.rk-range {
    width: 100%;
    accent-color: var(--rk-calc-blue);
    cursor: pointer;
}

/* Rekomendacja */
.rk-recommendation {
    padding: 20px 25px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 18px;
    font-weight: 800;
    transition: all 0.4s ease;
}

/* Wykres */
.rk-chart-wrapper {
    height: 450px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    margin: 0 45px 40px;
}

@media (max-width: 768px) {
    .rk-calc-header, .rk-calc-body, .rk-calc-results { padding: 25px 20px; }
    .rk-calc-grid { grid-template-columns: 1fr 1fr; }
    .rk-sliders-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-chart-wrapper { margin: 0 20px 30px; height: 350px; }
}

@media (max-width: 480px) {
    .rk-calc-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Kalkulator Doboru Pompy Obiegowej - Wykres i Obliczenia OZC",
    "description": "Profesjonalny kalkulator online wyznaczający punkt pracy pompy (przepływ Q, wysokość podnoszenia H) na podstawie obciążenia cieplnego i oporów hydraulicznych rur.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-kalkulator",
    "name": "Baza Parametrów Hydraulicznych i Cieplnych Ogrzewania Podłogowego 2026",
    "description": "Algorytmiczny model obliczeniowy oporów jednostkowych dla rur PEX/PERT oraz wymaganego zładu wody na podstawie OZC (Δt, zapotrzebowanie W/m2).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator pompy obiegowej",
      "obliczanie przepływu wody ogrzewanie podłogowe",
      "opory hydrauliczne rury PEX 16",
      "wykres charakterystyki pompy 25-60",
      "jak dobrać pompę do podłogówki"
    ],
    "measurementTechnique": "Wyznaczenie punktu przecięcia krzywej oporów instalacji z nomogramem wydajności pomp obiegowych (Q/H) zgodnych z dyrektywą ErP.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura PEX 16 - bazowy opór szacunkowy przyjmowany w modelu: 0.015 mH2O/m",
        "Rura PEX 17 - bazowy opór szacunkowy przyjmowany w modelu: 0.013 mH2O/m",
        "Ciepło właściwe i gęstość wody przeliczone stałą 1163"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-kalkulator",
    "name": "Kalkulator Doboru Pompy Ogrzewania Płaszczyznowego",
    "description": "Interaktywny symulator pozwalający na wyznaczenie przepływu objętościowego i wysokości podnoszenia w czasie rzeczywistym z wizualizacją na wykresie krzywych pomp.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5 Canvas",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container">
    <div class="rk-calc-header">
        <h2>
            <svg class="rk-calc-icon-main" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect>
                <line x1="8" y1="21" x2="16" y2="21"></line>
                <line x1="12" y1="17" x2="12" y2="21"></line>
                <polyline points="10 7 14 10 10 13"></polyline>
            </svg>
            Kalkulator Doboru Pompy Obiegowej
        </h2>
        <p>Wprowadź precyzyjne dane projektowe lub estymowane z audytu OZC, aby wyznaczyć punkt pracy instalacji i sprawdzić go na tle rzeczywistych charakterystyk pomp.</p>
    </div>

    <div class="rk-calc-body">
        <h3>1. Parametry Instalacji Podłogowej</h3>
        <div class="rk-calc-grid">
            <div class="rk-input-group">
                <label>Powierzchnia (m²)</label>
                <input type="number" id="rk-in-area" value="120" min="10">
            </div>
            <div class="rk-input-group">
                <label>Moc cieplna (W/m²)</label>
                <input type="number" id="rk-in-load" value="60" min="10">
            </div>
            <div class="rk-input-group">
                <label>Różnica temp. ΔT (K)</label>
                <input type="number" id="rk-in-dt" value="5" min="2" max="15">
            </div>
            <div class="rk-input-group">
                <label>Ilość pętli</label>
                <input type="number" id="rk-in-loops" value="10" min="1">
            </div>
            <div class="rk-input-group">
                <label>Długość maks. pętli (m)</label>
                <input type="number" id="rk-in-avg" value="80" min="10">
            </div>
            <div class="rk-input-group">
                <label>Średnica rury zewnętrzna</label>
                <select id="rk-in-pipe">
                    <option value="16">PEX/PERT 16x2.0</option>
                    <option value="17" selected>PEX/PERT 17x2.0</option>
                    <option value="20">PEX/PERT 20x2.0</option>
                </select>
            </div>
        </div>
        <button id="rk-master-calc-btn" class="rk-btn-calc">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="24" height="24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg>
            Oblicz punkt pracy i odśwież wykres
        </button>
    </div>

    <div class="rk-calc-results">
        <h3>2. Obliczony punkt pracy i autoadaptacja</h3>
        <div class="rk-sliders-grid">
            <div class="rk-slider-box">
                <div class="rk-slider-header">
                    <span>Przepływ (Q)</span>
                    <span class="rk-slider-val"><span id="rk-disp-q">1.40</span> m³/h</span>
                </div>
                <input type="range" id="rk-slider-q" class="rk-range" min="0.1" max="4" step="0.05" value="1.40">
            </div>
            <div class="rk-slider-box">
                <div class="rk-slider-header">
                    <span>Wysokość podnoszenia (H)</span>
                    <span class="rk-slider-val"><span id="rk-disp-h">4.00</span> m</span>
                </div>
                <input type="range" id="rk-slider-h" class="rk-range" min="0.1" max="8" step="0.05" value="4.00">
            </div>
        </div>
        
        <div id="rk-rec-box" class="rk-recommendation">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="28" height="28"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            <span>Rekomendowany typoszereg pompy: <span id="rk-final-pump">25-60</span></span>
        </div>
    </div>

    <div class="rk-chart-wrapper">
        <canvas id="rk-master-canvas"></canvas>
    </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.min.js"></script>

<script>
(function() {
    "use strict";
    let masterChart = null;
    let masterQ = 1.40;
    let masterH = 4.00;

    const pumpCurves = {
        "25-40": [{x:0,y:4}, {x:0.5,y:3.8}, {x:1,y:3.3}, {x:1.5,y:2.5}, {x:2,y:1.5}, {x:2.5,y:0.3}, {x:2.6,y:0}],
        "25-60": [{x:0,y:6}, {x:1,y:5.4}, {x:2,y:4}, {x:2.5,y:3.2}, {x:3,y:2.2}, {x:3.5,y:0.8}, {x:3.8,y:0}],
        "25-80": [{x:0,y:8}, {x:1,y:7.4}, {x:2,y:6.2}, {x:3,y:4.4}, {x:3.5,y:3.2}, {x:4,y:1.8}]
    };

    function getInstallationData(q, h) {
        let pts = [];
        let k = h / (q * q);
        for (let i = 0; i <= 4.1; i += 0.1) { pts.push({x: i, y: k * i * i}); }
        return pts;
    }

    function isPointBelowCurve(q, h, curve) {
        let maxQ = curve[curve.length - 1].x;
        if (q > maxQ) {
            return false;
        }
        
        for (let i = 0; i < curve.length - 1; i++) {
            let p1 = curve[i];
            let p2 = curve[i+1];
            
            let isInsideRange = false;
            if (q >= p1.x) {
                if (q <= p2.x) {
                    isInsideRange = true;
                }
            }
            
            if (isInsideRange) {
                let ratio = (q - p1.x) / (p2.x - p1.x);
                let maxHAtQ = p1.y + ratio * (p2.y - p1.y);
                if (h <= maxHAtQ) {
                    return true;
                } else {
                    return false;
                }
            }
        }
        return false;
    }

    function initChart() {
        const ctx = document.getElementById('rk-master-canvas');
        if (!ctx) {
            setTimeout(initChart, 200);
            return;
        }
        if (typeof Chart === 'undefined') {
            setTimeout(initChart, 200);
            return;
        }

        masterChart = new Chart(ctx, {
            type: 'scatter',
            data: {
                datasets: [
                    { label: 'Krzywa 25-40', data: pumpCurves["25-40"], borderColor: '#f59e0b', showLine: true, tension: 0.3, pointRadius: 0, borderWidth: 3 },
                    { label: 'Krzywa 25-60', data: pumpCurves["25-60"], borderColor: '#0ea5e9', showLine: true, tension: 0.3, pointRadius: 0, borderWidth: 3 },
                    { label: 'Krzywa 25-80', data: pumpCurves["25-80"], borderColor: '#8b5cf6', showLine: true, tension: 0.3, pointRadius: 0, borderWidth: 3 },
                    { label: 'Opór Instalacji', data: getInstallationData(masterQ, masterH), borderColor: '#94a3b8', borderDash: [6, 6], showLine: true, pointRadius: 0, borderWidth: 2 },
                    { label: 'Punkt Pracy', data: [{x: masterQ, y: masterH}], backgroundColor: '#ef4444', pointRadius: 8, hoverRadius: 10, z: 10 }
                ]
            },
            options: {
                responsive: true,
                maintainAspectRatio: false,
                scales: {
                    x: { min: 0, max: 4.5, title: { display: true, text: 'Przepływ objętościowy Q [m³/h]', font: {weight: 'bold'} } },
                    y: { min: 0, max: 8.5, title: { display: true, text: 'Wysokość podnoszenia H [m]', font: {weight: 'bold'} } }
                },
                plugins: { 
                    legend: { position: 'top', labels: { font: {family: 'Inter', weight: '600'} } },
                    tooltip: { enabled: false }
                }
            }
        });

        document.getElementById('rk-master-calc-btn').addEventListener('click', function() {
            const area = parseFloat(document.getElementById('rk-in-area').value);
            const load = parseFloat(document.getElementById('rk-in-load').value);
            const dt = parseFloat(document.getElementById('rk-in-dt').value);
            const loops = parseFloat(document.getElementById('rk-in-loops').value);
            const avg = parseFloat(document.getElementById('rk-in-avg').value);
            const pipeVal = parseInt(document.getElementById('rk-in-pipe').value);

            let flow = (area * load) / (1163 * dt);
            
            let res = 0.015;
            if (pipeVal === 17) {
                res = 0.013;
            } else if (pipeVal === 20) {
                res = 0.010;
            }

            let extraRes = 0.8;
            if (loops <= 6) {
                extraRes = 0.4;
            }

            let head = (avg * res * 1.35) + extraRes;

            document.getElementById('rk-slider-q').value = flow.toFixed(2);
            document.getElementById('rk-slider-h').value = head.toFixed(2);
            
            refreshUI(flow, head);
        });

        document.getElementById('rk-slider-q').addEventListener('input', function(e) {
            refreshUI(parseFloat(e.target.value), masterH);
        });
        
        document.getElementById('rk-slider-h').addEventListener('input', function(e) {
            refreshUI(masterQ, parseFloat(e.target.value));
        });
        
        refreshUI(1.4, 4.0);
    }

    function refreshUI(q, h) {
        masterQ = q; 
        masterH = h;
        
        document.getElementById('rk-disp-q').innerText = q.toFixed(2);
        document.getElementById('rk-disp-h').innerText = h.toFixed(2);

        let recText = "Przekroczenie parametrów";
        let bgColor = "#fef2f2";
        let borderColor = "#ef4444";
        let textColor = "#b91c1c";

        if (isPointBelowCurve(q, h, pumpCurves["25-40"])) {
            recText = "25-40 (Zalecana optymalna)";
            bgColor = "#f0fdf4";
            borderColor = "#22c55e";
            textColor = "#15803d";
        } else if (isPointBelowCurve(q, h, pumpCurves["25-60"])) {
            recText = "25-60 (Zalecana optymalna)";
            bgColor = "#f0fdf4";
            borderColor = "#22c55e";
            textColor = "#15803d";
        } else if (isPointBelowCurve(q, h, pumpCurves["25-80"])) {
            recText = "25-80 (Zalecana mocna)";
            bgColor = "#f0fdf4";
            borderColor = "#22c55e";
            textColor = "#15803d";
        }

        const recBox = document.getElementById('rk-rec-box');
        document.getElementById('rk-final-pump').innerText = recText;
        
        recBox.style.backgroundColor = bgColor;
        recBox.style.borderLeft = "5px solid " + borderColor;
        recBox.style.color = textColor;

        if (masterChart) {
            masterChart.data.datasets[3].data = getInstallationData(q, h);
            masterChart.data.datasets[4].data = [{x: q, y: h}];
            masterChart.update('none');
        }
    }

    if (document.readyState === 'complete') {
        initChart();
    } else {
        window.addEventListener('load', initChart);
    }
})();
</script>



<style>
:root {
    --rk-proj-dark: #0f172a;
    --rk-proj-blue: #0284c7;
    --rk-proj-blue-light: #e0f2fe;
    --rk-proj-cyan: #06b6d4;
    --rk-proj-gray: #f8fafc;
    --rk-proj-border: #e2e8f0;
    --rk-proj-text: #475569;
    --rk-proj-gold: #fbbf24;
}

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

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

.rk-proj-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--rk-proj-blue), var(--rk-proj-cyan));
}

.rk-proj-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
    color: #ffffff;
}

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

/* Interaktywny Ekosystem */
.rk-proj-ecosystem {
    display: flex;
    padding: 0;
    background: #ffffff;
}

/* Lewa strona - Triggery */
.rk-proj-nav {
    width: 45%;
    background: var(--rk-proj-gray);
    padding: 30px;
    border-right: 1px solid var(--rk-proj-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

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

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

.rk-proj-trigger:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    border-color: #cbd5e1;
}

.rk-proj-trigger.rk-active {
    background: var(--rk-proj-blue-light);
    border-color: var(--rk-proj-blue);
    box-shadow: inset 0 0 0 1px var(--rk-proj-blue);
}

.rk-proj-trigger.rk-active::before {
    background: var(--rk-proj-blue);
}

.rk-trigger-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-proj-text);
    flex-shrink: 0;
    transition: color 0.3s;
}

.rk-proj-trigger.rk-active .rk-trigger-icon {
    color: var(--rk-proj-blue);
}

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

/* Prawa strona - Kontent */
.rk-proj-content-area {
    width: 55%;
    padding: 40px;
    position: relative;
    background: #ffffff;
}

.rk-proj-panel {
    display: none;
    animation: fadeInPanel 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

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

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

.rk-proj-panel-icon {
    width: 48px;
    height: 48px;
    color: var(--rk-proj-cyan);
    margin-bottom: 20px;
}

.rk-proj-panel h4 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

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

/* Wyróżnik inżynieryjny wewnątrz panelu */
.rk-proj-alert {
    background: #fffbeb;
    border-left: 4px solid var(--rk-proj-gold);
    padding: 15px;
    border-radius: 0 8px 8px 0;
    margin-top: 20px;
}

.rk-proj-alert p {
    color: #b45309;
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

/* Mocne CTA */
.rk-proj-cta-section {
    padding: 40px 45px;
    background: linear-gradient(to right, #f8fafc, #f1f5f9);
    border-top: 1px solid var(--rk-proj-border);
    text-align: center;
}

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

.rk-proj-cta-section p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-proj-text);
    max-width: 700px;
    margin: 0 auto 25px auto;
}

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

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

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

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

/* RWD - Zmiana na układ pionowy (akordeonowy flow) dla mobile */
@media (max-width: 768px) {
    .rk-proj-header { padding: 25px 20px; }
    .rk-proj-header h2 { font-size: 22px; }
    
    .rk-proj-ecosystem { flex-direction: column; }
    .rk-proj-nav { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-proj-border); padding: 20px; }
    .rk-proj-content-area { width: 100%; padding: 25px 20px; }
    
    .rk-proj-panel h4 { font-size: 20px; }
    
    .rk-proj-cta-section { padding: 30px 20px; }
    .rk-btn-mega { width: 100%; padding: 18px 15px; font-size: 15px; flex-direction: column; gap: 8px; text-align: center; }
    .rk-btn-mega svg { transform: rotate(90deg); }
    .rk-btn-mega:hover svg { transform: rotate(90deg) translateY(5px); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-wplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jak dobór pompy obiegowej wpływa na projekt ogrzewania podłogowego?",
    "description": "Analiza powiązań pomiędzy doborem pompy obiegowej a audytem OZC, rozstawem rur, grubością wylewki oraz sprzęgłem hydraulicznym w układach z pompą ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-wplyw",
    "name": "Macierz Wpływu Parametrów Projektowych na Dobór Pompy 2026",
    "description": "Zestawienie korelacji między składowymi projektu ogrzewania podłogowego (OZC, dylatacje, bufor ciepła) a wydajnością pompy obiegowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt instalacji ogrzewania podłogowego podłogówki",
      "obliczenia OZC a dobór pompy",
      "rozstaw rur w podłogówce a opory hydrauliczne",
      "bezwładność cieplna wylewki jastrychowej",
      "sprzęgło hydrauliczne w układzie z pompą ciepła"
    ],
    "measurementTechnique": "Symulacja zmian strumienia objętościowego i oporów hydraulicznych w odpowiedzi na modyfikacje parametrów budowlanych (temperatura, rozstaw, buforowanie).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "OZC ustala moc, co definiuje przepływ masowy.",
        "Rozstaw rur definiuje długość pętli, co warunkuje straty ciśnienia.",
        "Masa wylewki decyduje o ciągłości pracy pompy obiegowej.",
        "Bufor wymusza stosowanie dodatkowych grup pompowych i odsprzężenia."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-wplyw",
    "name": "Symulator Wpływu Projektowego",
    "description": "Interaktywny panel edukacyjny demonstrujący nierozerwalne zależności układu hydraulicznego na etapie projektowania domu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proj-container">
    <div class="rk-proj-header">
        <h2>
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="32" height="32" style="color: var(--rk-proj-cyan);">
                <polygon points="12 2 2 7 12 12 22 7 12 2"></polygon>
                <polyline points="2 17 12 22 22 17"></polyline>
                <polyline points="2 12 12 17 22 12"></polyline>
            </svg>
            Jak dobór pompy obiegowej wpływa na projekt ogrzewania podłogowego?
        </h2>
        <p>Wybór punktu pracy pompy obiegowej jest nierozerwalnie połączony z kluczowymi składowymi całego projektu technicznego i bezpośrednio wpływa na sprawność emisyjną układu. Prawidłowy system opiera się na symbiozie hydrauliki z termodynamiką budynku.</p>
    </div>

    <div class="rk-proj-ecosystem">
        <div class="rk-proj-nav">
            <button class="rk-proj-trigger rk-active" data-target="panel-ozc">
                <svg class="rk-trigger-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                <h3>Obliczenia OZC i Delta T</h3>
            </button>
            <button class="rk-proj-trigger" data-target="panel-rury">
                <svg class="rk-trigger-icon" 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"></path></svg>
                <h3>Rozstaw rur a hydraulika</h3>
            </button>
            <button class="rk-proj-trigger" data-target="panel-wylewka">
                <svg class="rk-trigger-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path></svg>
                <h3>Wylewka i bezwładność</h3>
            </button>
            <button class="rk-proj-trigger" data-target="panel-sprzeglo">
                <svg class="rk-trigger-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                <h3>Sprzęgło i bufor ciepła</h3>
            </button>
        </div>

        <div class="rk-proj-content-area">
            
            <div class="rk-proj-panel rk-active" id="panel-ozc">
                <svg class="rk-proj-panel-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                <h4>Powiązanie z OZC i temperaturą zasilania</h4>
                <p>Profesjonalny bilans cieplny budynku (<a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczenia OZC</a>) określa dokładne zapotrzebowanie na energię każdego pomieszczenia. Jeśli projektant zakłada niską temperaturę zasilania pompy ciepła (np. 35°C), automatycznie wymusza to mniejszą różnicę temperatur <strong>(ΔT = 5 K)</strong>.</p>
                <div class="rk-proj-alert">
                    <p>Skutek hydrauliczny: Mała delta oznacza konieczność przetłoczenia znacznie większego strumienia wody. Kalkulator wykaże gigantyczny przepływ, więc pompa obiegowa musi być odpowiednio mocniejsza.</p>
                </div>
            </div>

            <div class="rk-proj-panel" id="panel-rury">
                <svg class="rk-proj-panel-icon" 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"></path></svg>
                <h4>Rozstaw rur a długość pętli</h4>
                <p>Aby zredukować wymagany przepływ i temperaturę zasilania w salonie z dużymi przeszkleniami, stosuje się gęsty rozstaw rur (co 10 cm zamiast standardowych 15 cm). Zwiększa to jednak drastycznie całkowitą długość rur w pomieszczeniu.</p>
                <p>Jeśli projektant nie podzieli tego salonu na dwie lub trzy niezależne pętle, powstanie jedna gigantyczna pętla o długości np. 140 m. Jej opór hydrauliczny <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">zdławi przepływ do zera</a>, uniemożliwiając prawidłowe zbalansowanie rozdzielacza i zmuszając pompę do skrajnego wysiłku.</p>
            </div>

            <div class="rk-proj-panel" id="panel-wylewka">
                <svg class="rk-proj-panel-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path></svg>
                <h4>Wylewka i bezwładność cieplna</h4>
                <p>Grubość wylewki betonowej lub anhydrytowej nad rurami (standardowo 5-6 cm czystego jastrychu nad rurą) tworzy ogromny akumulator ciepła – to dosłownie <a href="https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/">największy magazyn energii w Twoim domu</a>.</p>
                <p>Aby efektywnie ładować ten magazyn przy współpracy z rekuperacją, pompa musi pracować w sposób ciągły, stabilny i ze stałym ciśnieniem proporcjonalnym, dynamicznie reagując na zamykanie <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowników termoelektrycznych</a> sterowania strefowego. Mikroprocesor pompy kompensuje każdą zmianę oporu.</p>
            </div>

            <div class="rk-proj-panel" id="panel-sprzeglo">
                <svg class="rk-proj-panel-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                <h4>Sprzęgło hydrauliczne i bufor ciepła</h4>
                <p>W rozbudowanych instalacjach (np. parter i piętro), gdy wbudowana w pompę ciepła jednostka tłocząca nie radzi sobie z oporami całego domu, niezbędne staje się hydrauliczne odsprzęgnięcie układu za pomocą <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufora ciepła</a> lub sprzęgła.</p>
                <div class="rk-proj-alert">
                    <p>Skutek projektowy: Zastosowanie sprzęgła wymusza dobór dodatkowych, zewnętrznych pomp obiegowych dla każdej ze stref. Brak prawidłowego zbilansowania przepływów (obieg pierwotny vs wtórny) doprowadzi do tzw. podkradania wody i błędów w pracy sprężarki pompy ciepła.</p>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-proj-cta-section">
        <h3>Nie zdawaj się na los w kwestii własnego domu</h3>
        <p>Precyzyjny dobór pomp obiegowych, weryfikacja oporów pętli i zrównoważenie hydrauliczne to fundament cichej, energooszczędnej instalacji współpracującej z niskotemperaturową pompą ciepła. Zabezpiecz swój budżet przed kosztownymi poprawkami.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-mega">
            ZAMÓW PROFESJONALNY PROJEKT INSTALACJI OGRZEWANIA PODŁOGOWEGO
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var triggers = document.querySelectorAll('.rk-proj-trigger');
    var panels = document.querySelectorAll('.rk-proj-panel');

    for (var i = 0; i < triggers.length; i++) {
        triggers[i].addEventListener('click', function() {
            var targetId = this.getAttribute('data-target');

            // Resetowanie wszystkich przycisków (bezpiecznie bez użycia '&#038;&#038;')
            for (var j = 0; j < triggers.length; j++) {
                triggers[j].classList.remove('rk-active');
            }
            // Aktywacja klikniętego
            this.classList.add('rk-active');

            // Ukrywanie wszystkich paneli
            for (var k = 0; k < panels.length; k++) {
                panels[k].classList.remove('rk-active');
            }
            
            // Pokaż docelowy panel
            var activePanel = document.getElementById(targetId);
            if (activePanel !== null) {
                activePanel.classList.add('rk-active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-err-dark: #1e293b;
    --rk-err-red: #ef4444;
    --rk-err-red-light: #fef2f2;
    --rk-err-green: #10b981;
    --rk-err-green-light: #f0fdf4;
    --rk-err-border: #e2e8f0;
    --rk-err-bg: #ffffff;
    --rk-err-text: #475569;
}

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

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

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

.rk-err-header-icon {
    width: 36px;
    height: 36px;
    color: var(--rk-err-red);
    flex-shrink: 0;
}

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

/* Siatka błędów */
.rk-err-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 35px 45px;
    background: #f8fafc;
}

.rk-err-card {
    background: var(--rk-err-bg);
    border: 1px solid var(--rk-err-border);
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

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

.rk-err-card.rk-active {
    border-color: var(--rk-err-red);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

/* Górna część karty (Problem) */
.rk-err-problem {
    padding: 25px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
    position: relative;
}

.rk-err-num {
    background: var(--rk-err-red-light);
    color: var(--rk-err-red);
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 16px;
    flex-shrink: 0;
}

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

.rk-err-problem-text p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-err-text);
    line-height: 1.5;
}

.rk-err-toggle {
    position: absolute;
    right: 20px;
    top: 25px;
    width: 24px;
    height: 24px;
    color: #94a3b8;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s;
}

.rk-err-card.rk-active .rk-err-toggle {
    transform: rotate(180deg);
    color: var(--rk-err-red);
}

/* Dolna część karty (Rozwiązanie - rozwijana) */
.rk-err-solution {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: var(--rk-err-green-light);
}

.rk-err-solution-inner {
    padding: 20px 25px 25px;
    border-top: 1px dashed #bbf7d0;
    display: flex;
    gap: 15px;
}

.rk-err-sol-icon {
    width: 24px;
    height: 24px;
    color: var(--rk-err-green);
    flex-shrink: 0;
    margin-top: 2px;
}

.rk-err-solution-inner p {
    margin: 0;
    font-size: 14px;
    color: #166534;
    line-height: 1.6;
    font-weight: 500;
}

.rk-err-solution-inner a {
    color: #15803d;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-err-solution-inner a:hover {
    color: #14532d;
}

@media (max-width: 768px) {
    .rk-err-header { padding: 25px 20px; }
    .rk-err-grid { grid-template-columns: 1fr; padding: 20px; gap: 15px; }
    .rk-err-problem { padding: 20px; }
    .rk-err-solution-inner { padding: 15px 20px 20px; }
    .rk-err-toggle { right: 15px; top: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Najczęstsze błędy instalatorów przy konfiguracji pomp obiegowych",
    "description": "Lista najdroższych błędów wykonawczych w ogrzewaniu podłogowym: przewymiarowanie, zły tryb pracy pompy, woda wodociągowa i brak separatorów magnetycznych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-bledy",
    "name": "Baza Błędów Wykonawczych i Kosztów Eksploatacji Pomp 2026",
    "description": "Zestawienie krytycznych błędów hydraulicznych prowadzących do uszkodzeń pomp obiegowych, generowania hałasu w instalacji oraz strat energii elektrycznej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dlaczego pompa obiegowa buczy",
      "magnetyczny separator zanieczyszczeń do ogrzewania podłogowego",
      "tryb stałego ciśnienia pompy",
      "przewymiarowana pompa do podłogówki",
      "czyszczenie filtra przed pompą ciepła"
    ],
    "measurementTechnique": "Analiza usterek hydraulicznych i strat energii elektrycznej wynikających z błędów montażowych instalatorów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Przewymiarowanie pompy (zakup 25-80 do 120m2).",
        "Błąd 2: Tryb stałych obrotów zamiast Constant Pressure (CP).",
        "Błąd 3: Napełnianie instalacji surową wodą wodociągową.",
        "Błąd 4: Brak separatora magnetycznego powodujący zacieranie wirnika."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-bledy",
    "name": "Interaktywny Detektor Błędów Instalacyjnych",
    "description": "Narzędzie symulujące sprzężenie zwrotne: problem instalacyjny kontra rozwiązanie inżynierskie dla pomp obiegowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container">
    <div class="rk-err-header">
        <h2>
            <svg class="rk-err-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>
                <line x1="12" y1="9" x2="12" y2="13"></line>
                <line x1="12" y1="17" x2="12.01" y2="17"></line>
            </svg>
            Najczęstsze błędy instalatorów przy konfiguracji pomp obiegowych
        </h2>
        <p>Mimo zaawansowanej technologii i powszechnego dostępu do wiedzy inżynieryjnej, wykonawcy na polskich budowach nagminnie powielają przestarzałe błędy, które rujnują ekonomikę instalacji niskotemperaturowych. Kliknij kafelek, aby sprawdzić, jak uchronić swój system przed awarią.</p>
    </div>

    <div class="rk-err-grid">
        
        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">1</div>
                <div class="rk-err-problem-text">
                    <h3>Dobór pompy „z zapasem” (Przewymiarowanie)</h3>
                    <p>Kupowanie pompy klasy 25-80 do standardowego domu o powierzchni 120 m² sprawia, że urządzenie z trudem schodzi z wysokich obrotów.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Skutkuje to turbulencjami w przepływie cieczy i generowaniem hałasu w szafkach rozdzielaczowych. Zbyt mocna pompa skraca żywotność własnych łożysk i generuje zbędny koszt roczny. Przeanalizuj <a href="https://projekt-ogrzewania.pl/rzeczywiste-oszczednosci-na-kosztach-ogrzewania-w-skali-roku-analiza-rozstawu-rur-dla-domu-150-m%c2%b2/">rzeczywiste parametry instalacji</a> przed zakupem.</p>
                </div>
            </div>
        </div>

        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">2</div>
                <div class="rk-err-problem-text">
                    <h3>Ustawienie trybu stałych obrotów (Constant Speed)</h3>
                    <p>Pozostawienie pompy na sztywnym, stałym biegu (I, II lub III) w układzie z zamykającymi się siłownikami na rozdzielaczach.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Gdy automatyka zamknie 8 z 10 pętli, pompa nadal tłoczy tę samą ilość wody przez pozostałe 2 pętle. Generuje to uciążliwe świsty i zrywa uszczelnienia. Prawidłowe <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowanie strefowe</a> zawsze wymaga włączenia trybu stałego ciśnienia (CP).</p>
                </div>
            </div>
        </div>

        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">3</div>
                <div class="rk-err-problem-text">
                    <h3>Napełnianie układu surową wodą wodociągową</h3>
                    <p>Brak przygotowania zładu wody. Zwykła woda z kranu pełna jest związków wapnia, magnezu oraz tlenu inicjującego rdzewienie.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Kamień kotłowy osadza się na wirniku pompy i wymiennikach płytowych, drastycznie zmniejszając średnicę przelotu. Standardem inżynierskim jest <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">woda demineralizowana z inhibitorem korozji</a>, gwarantująca dekady niezawodności.</p>
                </div>
            </div>
        </div>

        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">4</div>
                <div class="rk-err-problem-text">
                    <h3>Brak separatora magnetycznego (Zacieranie wirnika)</h3>
                    <p>Bezpośrednie podłączenie pompy bez dedykowanego osadnika z silnym magnesem neodymowym na powrocie do źródła ciepła.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Zanieczyszczenia z rur osadzają się na magnesie trwałym silnika ECM, przez co pompa obiegowa buczy, traci wydajność, aż w końcu ulega całkowitemu zatarciu. Dobrej klasy magnetyczny separator zanieczyszczeń i coroczne <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">czyszczenie filtra przed pompą ciepła</a> chronią układ przed paraliżem hydraulicznym.</p>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var errCards = document.querySelectorAll('.rk-err-card');
    
    for (var i = 0; i < errCards.length; i++) {
        errCards[i].addEventListener('click', function() {
            var isActive = this.classList.contains('rk-active');
            
            // Zamykamy wszystkie karty (bezpieczna pętla, bez '&#038;&#038;')
            for (var j = 0; j < errCards.length; j++) {
                errCards[j].classList.remove('rk-active');
                var solToClose = errCards[j].querySelector('.rk-err-solution');
                solToClose.style.maxHeight = null;
            }
            
            // Otwieramy klikniętą, o ile wcześniej była zamknięta
            if (isActive === false) {
                this.classList.add('rk-active');
                var solToOpen = this.querySelector('.rk-err-solution');
                solToOpen.style.maxHeight = solToOpen.scrollHeight + "px";
            }
        });
    }
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-blue: #0284c7;
    --rk-case-light: #f8fafc;
    --rk-case-red: #ef4444;
    --rk-case-orange: #f97316;
    --rk-case-border: #e2e8f0;
    --rk-case-text: #475569;
    --rk-case-bg: #ffffff;
}

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

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

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

.rk-case-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-case-orange);
    flex-shrink: 0;
}

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

/* Główny układ */
.rk-case-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--rk-case-bg);
}

/* Lewa Kolumna - Historia */
.rk-case-story {
    padding: 40px 45px;
    border-right: 1px solid var(--rk-case-border);
}

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff7ed;
    color: #c2410c;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid #fed7aa;
}

.rk-case-story h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

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

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

.rk-case-story a:hover {
    color: var(--rk-case-dark);
}

.rk-case-quote {
    padding: 20px;
    background: #f1f5f9;
    border-left: 4px solid var(--rk-case-dark);
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
    font-style: italic;
    color: #334155;
    font-weight: 600;
}

/* Prawa Kolumna - Interaktywna Diagnoza */
.rk-case-interactive {
    padding: 40px;
    background: var(--rk-case-light);
    display: flex;
    flex-direction: column;
}

.rk-case-interactive h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-case-dark);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Przyciski Osi Czasu */
.rk-timeline-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 25px;
}

.rk-time-btn {
    padding: 16px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-case-border);
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s ease;
}

.rk-time-btn h5 {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-case-dark);
}

.rk-time-icon {
    width: 20px;
    height: 20px;
    color: #94a3b8;
    transition: color 0.3s;
}

/* Stany Przycisków */
.rk-time-btn:hover {
    border-color: #cbd5e1;
    transform: translateX(4px);
}

.rk-time-btn.rk-active-phase {
    background: var(--rk-case-blue);
    border-color: var(--rk-case-blue);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.3);
}

.rk-time-btn.rk-active-phase h5,
.rk-time-btn.rk-active-phase .rk-time-icon {
    color: #ffffff;
}

/* Ekran Wynikowy (Dynamiczny) */
.rk-phase-display {
    background: #ffffff;
    border-radius: 16px;
    padding: 25px;
    border: 1px solid var(--rk-case-border);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-phase-img {
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
}

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

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

@media (max-width: 768px) {
    .rk-case-header { padding: 25px 20px; }
    .rk-case-body { grid-template-columns: 1fr; }
    .rk-case-story { padding: 25px 20px; border-right: none; border-bottom: 1px solid var(--rk-case-border); }
    .rk-case-interactive { padding: 25px 20px; }
    .rk-time-btn:hover { transform: translateY(-2px); translateX(0); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Studium przypadku: Tomasz (47 lat, Wejherowo) – cena amatorskiego doboru pompy",
    "description": "Case study pokazujące konsekwencje braku projektu OZC i doboru pompy 'z zapasem' w 160-metrowym domu na Pomorzu. Zobacz, jak uniknąć błędów instalatorów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-casestudy",
    "name": "Analiza Błędów Wykonawczych - Case Study Wejherowo 2026",
    "description": "Zestawienie empiryczne wykazujące bezpośredni związek przyczynowo-skutkowy między brakiem obliczeń hydraulicznych a awarią pompy ciepła w nowym budynku.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego",
      "ile kosztuje projekt ogrzewania podłogowego",
      "szumienie w rozdzielaczu podłogówki",
      "błędy przepływu w pompie ciepła",
      "skutki braku projektu OZC"
    ],
    "measurementTechnique": "Retrospektywna diagnoza układu hydraulicznego na bazie zgłoszeń serwisowych oraz objawów (błędy wysokiego ciśnienia HP na pompie ciepła).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przyczyna pierwotna: Brak projektu OZC i dobór pompy na zasadzie 'im większa, tym lepsza'.",
        "Przyczyna wtórna: Pętle pow. 140 m dławiące układ pomimo użycia pompy 25-80.",
        "Skutek: Zimne strefy brzegowe i błąd przepływu pompy ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-casestudy",
    "name": "Symulator Chronologii Błędów Instalacyjnych",
    "description": "Interaktywny moduł edukacyjny pokazujący rozwój problemów hydraulicznych w czasie, od decyzji na placu budowy po sezon grzewczy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container">
    <div class="rk-case-header">
        <svg class="rk-case-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8l-6-6z"></path>
            <path d="M14 3v5h5M16 13H8M16 17H8M10 9H8"></path>
        </svg>
        <h2>Studium przypadku: Tomasz (47 lat, Wejherowo) – cena amatorskiego doboru pompy</h2>
        <p>Brak weryfikacji kompetencji instalatora i oszczędności na papierze często kończą się dramatem w środku zimy. Poznaj historię inwestora, który zignorował inżynierskie zasady.</p>
    </div>

    <div class="rk-case-body">
        
        <div class="rk-case-story">
            <div class="rk-case-badge">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="14" height="14"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                Realna analiza serwisowa
            </div>
            
            <h3>„Pompę dobierzemy z zapasem, będzie Pan zadowolony”</h3>
            <p>Tomasz budował swój wymarzony, 160-metrowy dom na obrzeżach Wejherowa. Chcąc zredukować koszty początkowe, pominął kwestię tego, <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/">ile kosztuje projekt ogrzewania podłogowego</a>, oddając pełną władzę instalatorowi z polecenia. Wykonawca nie wykonał bilansu cieplnego, a pętle w salonie przy dużych przeszkleniach przeciągnął do astronomicznych 145 metrów, aby "zaoszczędzić na większym rozdzielaczu".</p>

            <div class="rk-case-quote">
                „Po co panu ten projekt OZC? Zamontujemy mocną pompę obiegową 25-80, ona to wszystko przepchnie. Robię tak od 20 lat.” – usłyszał inwestor.
            </div>

            <p>Problem polega na tym, że fizyki płynów nie da się oszukać doświadczeniem z lat 90. Pompa klasy 8m w zderzeniu ze zjawiskiem "króla hydraulicznego" (bardzo długa pętla) wygenerowała potężne zawirowania. Sprawdź, <a href="https://projekt-ogrzewania.pl/jakie-bledy-najczesciej-popelniaja-instalatorzy-ogrzewania-podlogowego/">jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego</a> i prześledź na symulatorze obok, jak doszło do paraliżu instalacji Tomasza.</p>
        </div>

        <div class="rk-case-interactive">
            <h4>Oś Czasu Katastrofy Hydraulicznej</h4>
            
            <div class="rk-timeline-nav">
                <button class="rk-time-btn rk-active-phase" id="btn-phase-1">
                    <h5>Faza 1: Montaż "Na Oko"</h5>
                    <svg class="rk-time-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
                </button>
                <button class="rk-time-btn" id="btn-phase-2">
                    <h5>Faza 2: Listopadowe Przymrozki</h5>
                    <svg class="rk-time-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
                </button>
                <button class="rk-time-btn" id="btn-phase-3">
                    <h5>Faza 3: Rachunek za Oszczędność</h5>
                    <svg class="rk-time-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
                </button>
            </div>

            <div class="rk-phase-display" id="phase-display">
                <svg class="rk-phase-img" id="img-phase-1" viewBox="0 0 24 24" fill="none" stroke="#eab308" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                    <circle cx="12" cy="12" r="10"></circle>
                    <path d="M12 8v4l3 3"></path>
                </svg>
                <svg class="rk-phase-img" id="img-phase-2" style="display:none;" viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                    <path d="M22 12h-4l-3 9L9 3l-3 9H2"></path>
                </svg>
                <svg class="rk-phase-img" id="img-phase-3" style="display:none;" viewBox="0 0 24 24" fill="none" stroke="#0f172a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                    <path d="M12 1v22M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
                </svg>

                <h4 class="rk-phase-title" id="rk-phase-title">Zalanie posadzki (Sierpień 2026)</h4>
                <p class="rk-phase-desc" id="rk-phase-desc">Instalator układa pętle "z głowy". Wykorzystuje przewymiarowaną pompę 25-80 ustawioną na najwyższy, sztywny bieg. Brak protokołu z kalibracji rotametrów. Na tym etapie inwestor cieszy się, że "zaoszczędził" na projekcie inżynierskim.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = document.querySelectorAll('.rk-time-btn');
    
    var img1 = document.getElementById('img-phase-1');
    var img2 = document.getElementById('img-phase-2');
    var img3 = document.getElementById('img-phase-3');
    
    var title = document.getElementById('rk-phase-title');
    var desc = document.getElementById('rk-phase-desc');

    for(var i = 0; i < btns.length; i++) {
        btns[i].addEventListener('click', function() {
            
            // Czyszczenie klas aktywnych (Zabezpieczenie przed uzyciem &#038;&#038;)
            for(var j = 0; j < btns.length; j++) {
                btns[j].classList.remove('rk-active-phase');
            }
            this.classList.add('rk-active-phase');

            // Ukrywanie wszystkich obrazków
            img1.style.display = 'none';
            img2.style.display = 'none';
            img3.style.display = 'none';

            // Logika podmiany zawartości (Bez uzycia &#038;&#038;)
            if (this.id === 'btn-phase-1') {
                img1.style.display = 'block';
                title.style.color = '#eab308';
                title.textContent = 'Zalanie posadzki (Sierpień 2026)';
                desc.textContent = 'Instalator układa pętle "z głowy". Wykorzystuje przewymiarowaną pompę 25-80 ustawioną na najwyższy, sztywny bieg. Brak protokołu z kalibracji rotametrów. Na tym etapie inwestor cieszy się, że "zaoszczędził" na projekcie inżynierskim.';
            } 
            else if (this.id === 'btn-phase-2') {
                img2.style.display = 'block';
                title.style.color = '#ef4444';
                title.textContent = 'Szumy i błędy pompy ciepła (Listopad)';
                desc.textContent = 'Pierwsze przymrozki w Wejherowie obnażają błędy. Przewymiarowana pompa wywołuje wibracje i szum w szafce. Przepływ w salonie wynosi 0 l/min (zjawisko zdławienia). Pompa ciepła zgłasza błędy z powodu braku odbioru mocy (tzw. taktowanie).';
            } 
            else if (this.id === 'btn-phase-3') {
                img3.style.display = 'block';
                title.style.color = '#0f172a';
                title.textContent = 'Bolesna diagnoza i koszty (Grudzień)';
                desc.textContent = 'Wezwany autoryzowany serwis diagnozuje katastrofę. Konieczna jest wymiana pompy na inteligentny model 25-60, montaż drogiego sprzęgła hydraulicznego do odciążenia układu oraz próba ręcznego, wielogodzinnego kryzowania obiegów. Oszczędność rzędu 1000 zł na projekcie wygenerowała 4500 zł strat.';
            }
        });
    }
});
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-bg: #ffffff;
    --rk-auth-gray: #f8fafc;
    --rk-auth-text: #334155;
    --rk-auth-border: #e2e8f0;
    --rk-auth-gold: #fbbf24;
}

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

/* Sztywny, inżynieryjny nagłówek */
.rk-auth-header {
    padding: 30px 40px;
    background: var(--rk-auth-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-auth-blue);
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-auth-header h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.3;
}

.rk-auth-icon {
    width: 28px;
    height: 28px;
    color: var(--rk-auth-gold);
    flex-shrink: 0;
}

/* Struktura główna */
.rk-auth-body {
    display: flex;
    background: var(--rk-auth-bg);
}

/* Lewa kolumna - Zdjęcie i nawigacja */
.rk-auth-sidebar {
    width: 300px;
    background: var(--rk-auth-gray);
    padding: 30px;
    border-right: 1px solid var(--rk-auth-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-auth-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

.rk-auth-name {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 5px 0;
    text-align: center;
}

.rk-auth-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-auth-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 25px 0;
    text-align: center;
}

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

.rk-auth-tab-btn {
    padding: 12px 15px;
    background: #ffffff;
    border: 1px solid var(--rk-auth-border);
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-auth-text);
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
    /* Usunięto animacje */
}

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

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

.rk-auth-tab-btn svg {
    width: 18px;
    height: 18px;
}

/* Prawa kolumna - Treść (Bez animacji) */
.rk-auth-content-area {
    flex: 1;
    padding: 40px;
    position: relative;
}

.rk-auth-panel {
    display: none;
    /* Brak keyframes i opacity transitions */
}

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

/* Wnętrze paneli */
.rk-quote-mark {
    font-size: 60px;
    color: var(--rk-auth-blue);
    opacity: 0.2;
    line-height: 1;
    font-family: serif;
    position: absolute;
    top: 20px;
    left: 20px;
}

.rk-auth-panel h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 20px 0;
    position: relative;
    z-index: 2;
}

.rk-auth-panel p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-auth-text);
    margin: 0 0 15px 0;
    position: relative;
    z-index: 2;
}

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

/* Sekcja E-E-A-T (Sociale) */
.rk-social-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 25px;
}

.rk-social-link {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background: var(--rk-auth-gray);
    border: 1px solid var(--rk-auth-border);
    border-radius: 12px;
    text-decoration: none;
    color: var(--rk-auth-dark);
    font-weight: 800;
    font-size: 15px;
    /* Usunięto animacje */
}

.rk-social-link:hover {
    border-color: var(--rk-auth-blue);
    background: #f0f9ff;
}

.rk-social-link svg {
    width: 24px;
    height: 24px;
    color: var(--rk-auth-blue);
}

@media (max-width: 768px) {
    .rk-auth-header { padding: 20px; }
    .rk-auth-header h2 { font-size: 20px; }
    .rk-auth-body { flex-direction: column; }
    .rk-auth-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 25px 20px; }
    .rk-auth-content-area { padding: 25px 20px; }
    .rk-quote-mark { top: 10px; left: 10px; font-size: 40px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Okiem eksperta: Robert Kucharski o błędach w doborze pomp obiegowych",
    "description": "Autorytet techniczny i rzetelna ocena inżynierska. Dlaczego szacowanie parametrów pomp obiegowych 'na oko' niszczy nowoczesne układy z pompą ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Inżynier HVAC",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-ekspert",
    "name": "Profil Kompetencyjny i Weryfikacja Autorytetu Inżynierskiego 2026",
    "description": "Baza referencyjna potwierdzająca zgodność merytoryczną artykułu z rygorystycznymi standardami E-E-A-T dla treści branży sanitarnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ekspert instalacji sanitarnych",
      "robert kucharski opinie o pompach obiegowych",
      "dobór pompy obiegowej do podłogówki",
      "prawidłowy projekt układu niskotemperaturowego",
      "inżynier hvac ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Weryfikacja autentyczności autora poprzez oficjalne powiązania z profilami LinkedIn oraz Facebook (Projekt Ogrzewania).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stanowisko merytoryczne: Odrzucenie metod szacunkowych na rzecz ścisłych obliczeń hydraulicznych.",
        "Cel: Zabezpieczenie inwestorów przed stratami wynikającymi z amatorskiego wykonawstwa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-ekspert",
    "name": "Moduł Weryfikacji Autorytetu (E-E-A-T)",
    "description": "Interaktywna karta ekspercka umożliwiająca bezpośrednie przejście do certyfikowanych źródeł profilu autora.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container">
    <div class="rk-auth-header">
        <svg class="rk-auth-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
        </svg>
        <h2>Okiem eksperta: Robert Kucharski o doborze pomp obiegowych</h2>
    </div>

    <div class="rk-auth-body">
        
        <div class="rk-auth-sidebar">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Inżynier HVAC" class="rk-auth-photo">
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <p class="rk-auth-title">Specjalista Instalacji HVAC</p>

            <div class="rk-auth-nav">
                <button class="rk-auth-tab-btn rk-tab-active" data-show="panel-quote">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>
                    Werdykt Specjalisty
                </button>
                <button class="rk-auth-tab-btn" data-show="panel-eat">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><polyline points="17 11 19 13 23 9"></polyline></svg>
                    Autorytet i Kontakt
                </button>
            </div>
        </div>

        <div class="rk-auth-content-area">
            <div class="rk-quote-mark">"</div>
            
            <div class="rk-auth-panel rk-panel-active" id="panel-quote">
                <h3>Budowa bez ściemy: Hydraulika nie wybacza zgadywania</h3>
                <p>W swojej karierze widziałem setki zniszczonych sprężarek w pompach ciepła i tysiące metrów kwadratowych zimnych posadzek. Wspólny mianownik tych katastrof to zawsze dobór pompy obiegowej "na oko" lub "bo tak się zawsze robiło".</p>
                <p>Nowoczesna instalacja ogrzewania podłogowego to skomplikowany, zamknięty ekosystem oparty na precyzyjnych przepływach masy czynnika grzewczego. <strong>Zignorowanie audytu OZC, źle wyliczona różnica temperatur (ΔT) czy przekroczenie normatywnych oporów pętli</strong> to gwarancja uszkodzenia elektroniki pompy i wystąpienia uciążliwych szumów w rozdzielaczach.</p>
                <p>Nie ma tu miejsca na kompromisy. Tylko twarde obliczenia chronią budżet inwestora.</p>
            </div>

            <div class="rk-auth-panel" id="panel-eat">
                <h3>Zweryfikuj źródło wiedzy</h3>
                <p>W dobie masowo generowanych treści, rzetelna wiedza inżynierska to podstawa podejmowania bezpiecznych decyzji budowlanych. Moje projekty i analizy opieram wyłącznie na sprawdzonych normach PN-EN oraz latach doświadczeń na placach budowy.</p>
                
                <div class="rk-social-grid">
                    <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-link">
                        <svg viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg>
                        Profil Zawodowy LinkedIn
                    </a>
                    <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-link">
                        <svg viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.469h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.469h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg>
                        Oficjalny fanpage Projekt-Ogrzewania.pl
                    </a>
                </div>
            </div>
        </div>
    </div>
</div>

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

    for (var i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            var targetId = this.getAttribute('data-show');

            // Usuwanie klas aktywnych bez operatorów logicznych
            for (var b = 0; b < buttons.length; b++) {
                buttons[b].classList.remove('rk-tab-active');
            }
            this.classList.add('rk-tab-active');

            // Ukrywanie wszystkich paneli bezpośrednio (bez animacji)
            for (var p = 0; p < panels.length; p++) {
                panels[p].classList.remove('rk-panel-active');
            }
            
            // Wyświetlanie docelowego panelu
            var activePanel = document.getElementById(targetId);
            if (activePanel !== null) {
                activePanel.classList.add('rk-panel-active');
            }
        });
    }
});
</script>



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

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

/* Nagłówek Sekcji */
.rk-faq-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-faq-dark) 0%, #1e293b 100%);
    position: relative;
}

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

.rk-faq-header h2 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-faq-header-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-faq-accent);
    flex-shrink: 0;
}

/* Interaktywny Akordeon */
.rk-accordion-container {
    padding: 20px 45px 40px;
    background: #fafafa;
}

.rk-accordion-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 12px;
    margin-top: 15px;
    overflow: hidden;
    transition: box-shadow 0.3s;
}

.rk-accordion-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

.rk-accordion-btn {
    width: 100%;
    text-align: left;
    padding: 22px 25px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s;
}

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

.rk-accordion-btn h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    padding-right: 20px;
    line-height: 1.4;
}

/* Ikona statusu rozwijania */
.rk-status-icon {
    width: 24px;
    height: 24px;
    background: var(--rk-faq-light-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s;
}

.rk-status-icon svg {
    width: 14px;
    height: 14px;
    stroke: var(--rk-faq-blue);
    stroke-width: 3;
    transition: stroke 0.3s;
}

.rk-accordion-btn.rk-active .rk-status-icon {
    transform: rotate(180deg);
    background: var(--rk-faq-blue);
}

.rk-accordion-btn.rk-active .rk-status-icon svg {
    stroke: #ffffff;
}

/* Treść odpowiedzi */
.rk-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: #ffffff;
}

.rk-accordion-inner {
    padding: 0 25px 25px;
    border-top: 1px dashed transparent;
}

.rk-accordion-btn.rk-active + .rk-accordion-content .rk-accordion-inner {
    border-top-color: var(--rk-faq-border);
    padding-top: 20px;
}

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

.rk-accordion-inner a {
    color: var(--rk-faq-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-accordion-inner a:hover {
    color: var(--rk-faq-dark);
}

/* Drobny detal inżynieryjny w odpowiedzi */
.rk-answer-highlight {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--rk-faq-hover);
    padding: 15px;
    border-radius: 8px;
    margin-top: 15px;
    border-left: 4px solid var(--rk-faq-blue);
}

.rk-answer-highlight svg {
    width: 20px;
    height: 20px;
    stroke: var(--rk-faq-blue);
    flex-shrink: 0;
    margin-top: 2px;
}

@media (max-width: 768px) {
    .rk-faq-header { padding: 25px 20px; }
    .rk-faq-header h2 { font-size: 22px; }
    .rk-accordion-container { padding: 15px 20px 25px; }
    .rk-accordion-btn { padding: 18px 15px; }
    .rk-accordion-btn h3 { font-size: 15px; }
    .rk-accordion-inner { padding: 0 15px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania o pompy w podłogówce",
    "description": "Baza wiedzy i odpowiedzi na najczęstsze problemy instalatorów: tryby pracy pomp obiegowych, rotametry, zapowietrzenie i długości pętli w ogrzewaniu podłogowym.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Na jakim biegu lub w jakim trybie powinna pracować pompa do ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Pompa w instalacji ogrzewania podłogowego powinna być ustawiona na tryb stałego ciśnienia (Constant Pressure – CP1 lub CP2), oznaczany na panelach sterowania ikoną poziomej kreski. Zapobiega to wahaniom ciśnienia i przepływu w momencie, gdy siłowniki termoelektryczne na rozdzielaczu zamykają lub otwierają poszczególne pętle grzewcze."
        }
      },
      {
        "@type": "Question",
        "name": "Czy standardowa pompa wbudowana w pompę ciepła wystarczy na cały dom?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wbudowana pompa obiegowa w pompie ciepła o wysokości podnoszenia 6 m bez problemu obsłuży dom do 150–180 m², pod warunkiem, że instalacja nie posiada przewymiarowanych pętli i została wykonana bez sprzęgła hydraulicznego."
        }
      },
      {
        "@type": "Question",
        "name": "Czym grozi za długa pętla ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Za długa pętla (powyżej 120 m dla rury 16 mm) generuje tak wysokie opory hydrauliczne, że pompa obiegowa nie jest w stanie wtłoczyć w nią wymaganej ilości wody. Skutkuje to niedogrzaniem pomieszczeń i zmusza do podnoszenia biegów, co wywołuje hałas."
        }
      },
      {
        "@type": "Question",
        "name": "Dlaczego rotametry na rozdzielaczu nie reagują na zmianę biegów pompy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Brak reakcji rotametrów najczęściej świadczy o całkowitym zapowietrzeniu pętli grzewczych lub zablokowaniu wirnika pompy przez osady. Przyczyną może być też zdławienie na filtrze siatkowym."
        }
      },
      {
        "@type": "Question",
        "name": "Jak sprawdzić, czy pompa obiegowa działa prawidłowo?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowe działanie pompy objawia się równomiernym, cichym szumem, wyczuwalną delikatną wibracją obudowy oraz stabilnymi wskazaniami przepływu na rotametrach na poziomie 1,5 – 2,5 l/min."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset",
    "name": "Baza Parametrów Diagnostycznych Pomp Obiegowych 2026",
    "description": "Zestawienie parametrów granicznych instalacji podłogowej do weryfikacji błędów hydraulicznych (tryby CP, graniczne opory pętli 120m, wskaźniki rotametrów).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tryb stałego ciśnienia pompy",
      "wydajność wbudowanej pompy w pompie ciepła",
      "skutki zbyt długiej pętli podłogówki",
      "brak reakcji rotametrów",
      "prawidłowe parametry rotametru"
    ],
    "measurementTechnique": "Diagnostyka na podstawie wskazań wizualnych rotametrów oraz analizy ustawień trybów autoadaptacyjnych paneli elektronicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wartość poprawna przepływu: 1.5 - 2.5 l/min.",
        "Maksymalna długość krytyczna pętli: 120 m dla rury 16x2."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp",
    "name": "Interaktywny Przewodnik Diagnostyczny",
    "description": "Aplikacja typu akordeon dostarczająca natychmiastowych rozwiązań usterek hydraulicznych w instalacjach płaszczyznowych.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-wrapper">
    <div class="rk-faq-header">
        <h2>
            <svg class="rk-faq-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
                <line x1="12" y1="17" x2="12.01" y2="17"></line>
            </svg>
            FAQ – Najczęściej zadawane pytania o pompy w podłogówce
        </h2>
    </div>

    <div class="rk-accordion-container">
        
        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Na jakim biegu lub w jakim trybie powinna pracować pompa do ogrzewania podłogowego?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Pompa w instalacji ogrzewania podłogowego powinna być ustawiona na <strong>tryb stałego ciśnienia (Constant Pressure – CP1 lub CP2)</strong>, oznaczany na panelach sterowania ikoną poziomej kreski. Zapobiega to niebezpiecznym wahaniom ciśnienia i przepływu w momencie, gdy <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowniki termoelektryczne na rozdzielaczach</a> zamykają lub otwierają poszczególne pętle grzewcze w zależności od sygnałów z termostatów pokojowych.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Czy standardowa pompa wbudowana w pompę ciepła wystarczy na cały dom?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Wbudowana pompa obiegowa w pompie ciepła o wysokości podnoszenia 6 m bez problemu obsłuży dom do 150–180 m², pod warunkiem, że instalacja nie posiada przewymiarowanych oporów miejscowych. W przypadku rozbudowanych systemów z kilkoma rozdzielaczami na różnych kondygnacjach niezbędne jest zastosowanie zewnętrznych grup pompowych oraz elementu odsprzęgającego, takiego jak profesjonalne <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgło hydrauliczne</a>, aby nie zakłócić przepływu na skraplaczu.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Czym grozi za długa pętla ogrzewania podłogowego?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Skutki ułożenia <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">za długiej pętli podłogówki</a> (powyżej 120 m dla standardowej rury 16 mm) są krytyczne. Generuje to tak wysokie opory hydrauliczne, że pompa obiegowa nie jest w stanie wtłoczyć w nią wymaganej ilości wody. W efekcie pomieszczenie obsługiwane przez ten obieg pozostanie niedogrzane, a próby ratowania sytuacji poprzez wymuszanie najwyższych biegów pompy doprowadzą do przepływów turbulentnych i generowania hałasu w instalacji.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Dlaczego rotametry na rozdzielaczu nie reagują na zmianę biegów pompy?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Brak reakcji wskaźników przepływu najczęściej świadczy o głębokim <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">zapowietrzeniu instalacji</a> lub zablokowaniu wirnika pompy przez zanieczyszczenia z surowej wody. Inną, bardzo częstą przyczyną awarii, jest fizyczne zdławienie przepływu na zatkanym filtrze siatkowym przed pompą lub krytyczny błąd instalatora: odwrotne podłączenie rur zasilania i powrotu do <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów na belce rozdzielacza</a>.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Jak sprawdzić, czy pompa obiegowa działa prawidłowo?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Prawidłowo dobrana <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa w podłogówce</a> pracuje z równomiernym, niemal niesłyszalnym szumem. Obudowa generuje bardzo delikatną wibrację, a wskaźniki przepływu na rotametrach rozdzielacza wykazują stabilne wartości oscylujące najczęściej w przedziale <strong>1,5 – 2,5 l/min</strong>. Dodatkowo panele nowoczesnych pomp elektronicznych powinny płynnie reagować na dławienie pętli, wyświetlając na ekranie aktualny pobór mocy elektrycznej w watach [W].</p>
                    
                    <div class="rk-answer-highlight">
                        <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                            <path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path>
                            <polyline points="22 4 12 14.01 9 11.01"></polyline>
                        </svg>
                        <p style="font-size: 14px;"><strong>Wskazówka diagnostyczna:</strong> Jeśli na elektronicznym wyświetlaczu pompy widzisz pobór mocy powyżej 45W w standardowym domu 150m², oznacza to, że walczy ona z nienormatywnym dławieniem w układzie.</p>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var accButtons = document.querySelectorAll('.rk-accordion-btn');
    
    for (var i = 0; i < accButtons.length; i++) {
        accButtons[i].addEventListener('click', function() {
            var isAlreadyActive = this.classList.contains('rk-active');
            
            // Zamykanie wszystkich innych otwartych kart (zoptymalizowane bez uzycia &#038;&#038;)
            for (var j = 0; j < accButtons.length; j++) {
                accButtons[j].classList.remove('rk-active');
                var contentToClose = accButtons[j].nextElementSibling;
                contentToClose.style.maxHeight = null;
            }
            
            // Otwieranie tylko jeśli kliknięty element nie był wcześniej aktywny
            if (isAlreadyActive === false) {
                this.classList.add('rk-active');
                var panelToOpen = this.nextElementSibling;
                // Pobranie rzeczywistej wysokości treści dla płynnej animacji CSS
                panelToOpen.style.maxHeight = panelToOpen.scrollHeight + "px";
            }
        });
    }
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-gray: #f8fafc;
    --rk-dl-text: #475569;
    --rk-dl-border: #e2e8f0;
    --rk-dl-bg: #ffffff;
    --rk-dl-red: #dc2626;
}

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

/* Sztywny Nagłówek */
.rk-dl-header {
    padding: 30px 40px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-blue);
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-dl-header h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.3;
}

.rk-dl-icon {
    width: 28px;
    height: 28px;
    color: #38bdf8;
    flex-shrink: 0;
}

/* Główny układ kontenera */
.rk-dl-body {
    display: flex;
    background: #ffffff;
}

/* Sekcja z miniaturą */
.rk-dl-thumb-area {
    width: 320px;
    background: var(--rk-dl-gray);
    padding: 30px;
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rk-dl-thumb {
    width: 100%;
    height: auto;
    border: 1px solid var(--rk-dl-border);
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    cursor: pointer;
    /* Usunięto hover scale/transition zgodnie z wytycznymi */
}

/* Sekcja z akcjami i opisem */
.rk-dl-actions-area {
    flex: 1;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

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

.rk-dl-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 25px;
}

/* Przyciski (Sztywne, bez animacji CSS) */
.rk-btn-pdf, .rk-btn-img {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 800;
    border-radius: 12px;
    text-decoration: none;
    cursor: pointer;
    border: 2px solid transparent;
}

.rk-btn-pdf {
    background: var(--rk-dl-blue);
    color: #ffffff;
}
.rk-btn-pdf:hover {
    background: #0369a1;
}

.rk-btn-img {
    background: #ffffff;
    color: var(--rk-dl-dark);
    border-color: var(--rk-dl-border);
}
.rk-btn-img:hover {
    background: var(--rk-dl-gray);
    border-color: #cbd5e1;
}

/* Stopka z licencją */
.rk-dl-license {
    padding: 15px 20px;
    background: #fffbeb;
    border-left: 4px solid #f59e0b;
    border-radius: 0 8px 8px 0;
    font-size: 12px;
    line-height: 1.5;
    color: #92400e;
    font-weight: 600;
}

/* Pełnoekranowy podgląd wewnątrz kontenera */
.rk-dl-preview-full {
    display: none; /* Sterowane z JS */
    padding: 30px;
    background: #f8fafc;
    text-align: center;
}

.rk-dl-preview-full img {
    max-width: 100%;
    height: auto;
    border: 1px solid var(--rk-dl-border);
    border-radius: 8px;
    margin-bottom: 20px;
}

.rk-btn-back {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    font-weight: 800;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}
.rk-btn-back:hover {
    background: #1e293b;
}

@media (max-width: 768px) {
    .rk-dl-header { padding: 25px 20px; }
    .rk-dl-header h2 { font-size: 20px; }
    .rk-dl-body { flex-direction: column; }
    .rk-dl-thumb-area { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 25px 20px; }
    .rk-dl-actions-area { padding: 25px 20px; }
    .rk-btn-pdf, .rk-btn-img { width: 100%; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-materialy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Kompendium wiedzy do pobrania: Infografika doboru pompy obiegowej",
    "description": "Darmowe materiały inżynierskie PDF. Schemat doboru pompy obiegowej w ogrzewaniu podłogowym krok po kroku przygotowany przez Roberta Kucharskiego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-materialy",
    "name": "Algorytm doboru pompy obiegowej - Infografika PDF",
    "description": "Dokumentacja graficzna i zbiór zasad wymiarowania pomp obiegowych dla systemów niskotemperaturowych, przygotowana do druku.",
    "license": "© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski. Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe pdf",
      "schemat doboru pompy obiegowej",
      "algorytm pompy co pobierz",
      "jak obliczyć wydajność pompy instrukcja",
      "materiały dla instalatorów hvac"
    ],
    "measurementTechnique": "Wizualizacja ustrukturyzowanej procedury doboru urządzeń hydraulicznych na bazie normy PN-EN 1264 w formie dokumentu PDF i WEBP.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plik: Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.pdf",
        "Plik: Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-materialy",
    "name": "Centrum Pobierania Projekt-Ogrzewania.pl",
    "description": "Interaktywny moduł pozwalający na podgląd infografik inżynieryjnych na żywo oraz bezpośrednie pobranie dokumentacji technicznej w formacie PDF.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-module">
    <div class="rk-dl-header">
        <svg class="rk-dl-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
            <polyline points="7 10 12 15 17 10"></polyline>
            <line x1="12" y1="15" x2="12" y2="3"></line>
        </svg>
        <h2>Kompendium wiedzy do pobrania: Infografika doboru pompy</h2>
    </div>

    <div class="rk-dl-body" id="rk-view-main">
        <div class="rk-dl-thumb-area">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp" alt="Miniatura infografiki doboru pompy" class="rk-dl-thumb" id="rk-btn-thumb">
        </div>
        
        <div class="rk-dl-actions-area">
            <h3>Interaktywne materiały inżynierskie</h3>
            <p class="rk-dl-desc">Pobierz darmowy, autorski schemat doboru pompy obiegowej przygotowany specjalnie dla instalatorów i inwestorów. Miej ten algorytm zawsze pod ręką w swoim telefonie lub wydrukuj, aby uniknąć kosztownych błędów na budowie.</p>
            
            <div class="rk-dl-buttons">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.pdf" target="_blank" class="rk-btn-pdf">
                    <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="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><polyline points="9 15 12 18 15 15"></polyline></svg>
                    Pobierz kompendium (Plik PDF)
                </a>
                <button class="rk-btn-img" id="rk-btn-preview">
                    <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                    Pokaż infografikę
                </button>
            </div>

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

    <div class="rk-dl-preview-full" id="rk-view-preview">
        <button class="rk-btn-back" id="rk-btn-close">
            <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>
            Wróć do pobierania
        </button>
        <div style="margin-top: 20px;">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp" alt="Pełna infografika doboru pompy obiegowej">
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var viewMain = document.getElementById('rk-view-main');
    var viewPreview = document.getElementById('rk-view-preview');
    
    var btnPreview = document.getElementById('rk-btn-preview');
    var btnThumb = document.getElementById('rk-btn-thumb');
    var btnClose = document.getElementById('rk-btn-close');

    function openPreview() {
        // Natychmiastowa zmiana stanu bez operatorów && i bez animacji
        viewMain.style.display = 'none';
        viewPreview.style.display = 'block';
    }

    function closePreview() {
        viewPreview.style.display = 'none';
        viewMain.style.display = 'flex'; // Przywracamy flex dla układu desktop/mobile
    }

    btnPreview.addEventListener('click', openPreview);
    btnThumb.addEventListener('click', openPreview);
    btnClose.addEventListener('click', closePreview);
});
</script>



<style>
:root {
    --rk-end-dark: #0f172a;
    --rk-end-blue: #0ea5e9;
    --rk-end-blue-hover: #0284c7;
    --rk-end-bg: #ffffff;
    --rk-end-gray-light: #f1f5f9;
    --rk-end-gray-text: #475569;
    --rk-end-green: #10b981;
    --rk-end-red: #ef4444;
    --rk-end-border: #e2e8f0;
}

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

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

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

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

/* Interaktywny Symulator */
.rk-end-interactive {
    padding: 40px 50px;
    background: var(--rk-end-gray-light);
}

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

.rk-toggle-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 30px;
}

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

.rk-toggle-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.rk-toggle-text {
    padding-right: 20px;
}

.rk-toggle-text h4 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-end-dark);
}

.rk-toggle-text p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-end-gray-text);
    line-height: 1.5;
}

/* Przełącznik Switch */
.rk-switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
    flex-shrink: 0;
}

.rk-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.rk-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #cbd5e1;
    transition: .4s;
    border-radius: 34px;
}

.rk-slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

input:checked + .rk-slider {
    background-color: var(--rk-end-green);
}

input:checked + .rk-slider:before {
    transform: translateX(26px);
}

/* Wynik Symulacji */
.rk-end-result-box {
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 30px;
    background: #ffffff;
    border-radius: 16px;
    border: 2px solid var(--rk-end-border);
    transition: all 0.4s ease;
}

.rk-result-icon {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
}

.rk-anim-gauge {
    width: 100%;
    height: 100%;
    transform-origin: center;
    transition: all 0.5s ease;
}

.rk-gauge-bg { fill: none; stroke: #e2e8f0; stroke-width: 8; stroke-linecap: round; }
.rk-gauge-val { fill: none; stroke: var(--rk-end-red); stroke-width: 8; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 80; transition: stroke 0.5s, stroke-dashoffset 0.5s; }
.rk-gauge-needle { transform-origin: 50px 50px; transform: rotate(-45deg); transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); }

.rk-end-result-text h4 {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 900;
    transition: color 0.3s;
}

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

.rk-end-result-text a {
    color: var(--rk-end-blue);
    font-weight: 700;
    text-decoration: none;
}
.rk-end-result-text a:hover { text-decoration: underline; }

/* Tagi Długi Ogon */
.rk-end-tags {
    padding: 20px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-end-border);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.rk-mat-tag {
    background: #f0f9ff;
    color: #0284c7;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #bae6fd;
    white-space: nowrap;
}

/* Massive CTA */
.rk-end-cta {
    padding: 40px 50px;
    background: #ffffff;
    text-align: center;
    border-top: 1px dashed var(--rk-end-border);
}

.rk-btn-end {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-end-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(14, 165, 233, 0.4);
    transition: all 0.3s ease;
}

.rk-btn-end:hover {
    transform: translateY(-3px);
    background: var(--rk-end-blue-hover);
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.5);
}

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

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

@media (max-width: 768px) {
    .rk-end-header, .rk-end-interactive, .rk-end-tags, .rk-end-cta { padding: 30px 20px; }
    .rk-end-result-box { flex-direction: column; text-align: center; gap: 15px; padding: 20px; }
    .rk-toggle-item { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-switch { align-self: flex-end; }
    .rk-btn-end { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Podsumowanie – Bezkompromisowa hydraulika to podstawa komfortu",
    "description": "Zakończenie artykułu i interaktywny symulator układu dystrybucji udowadniający, że prawidłowy dobór pompy obiegowej chroni przed awarią ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset",
    "name": "Zestawienie Opłacalności Precyzyjnych Obliczeń Hydraulicznych 2026",
    "description": "Baza danych i algorytm oceniający stabilność systemu w zależności od podjętych kroków inżynieryjnych: audyt OZC, parametryzacja zaworów i zastosowanie kalkulatora pomp.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dobór pompy obiegowej do podłogówki",
      "kalkulator przepływu wody ogrzewanie podłogowe",
      "opory hydrauliczne pętli",
      "pompa obiegowa 25-60 parametry",
      "energooszczędna instalacja podłogowa"
    ],
    "measurementTechnique": "Algorytmiczna weryfikacja błędów hydraulicznych w układach niskotemperaturowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Metoda archaiczna: Dobór pompy na oko – ryzyko szumów i niedogrzania.",
        "Metoda inżynierska: Wykorzystanie kalkulatorów, OZC i dokładnej różnicy temperatur."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp",
    "name": "Weryfikator Błędów Hydraulicznych",
    "description": "Interaktywne narzędzie edukacyjne symulujące skutki decyzji instalatorskich na ostateczną sprawność instalacji ogrzewania podłogowego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-end-container" id="rk-final-hydraulics">
    <div class="rk-end-header">
        <h2>Podsumowanie – Bezkompromisowa hydraulika to podstawa komfortu</h2>
        <p>
            Dobór pompy obiegowej w ogrzewaniu podłogowym nie toleruje kompromisów, półśrodków i instalatorskich mitów. To czysta matematyka i fizyka płynów. Pamiętaj, że nawet najlepsze źródło ciepła, takie jak nowoczesna pompa ciepła czy kocioł kondensacyjny, nie zapewni komfortu termicznego, jeśli układ dystrybucji oparty na pompie obiegowej zostanie spartaczony.
        </p>
    </div>

    <div class="rk-end-interactive">
        <h3>Symulator Stabilności Instalacji</h3>
        <p style="margin-top: -15px; margin-bottom: 25px; color: var(--rk-end-gray-text); font-size: 14px;">Zaznacz, które kroki techniczne zrealizowałeś, aby sprawdzić, czy Twoja podłogówka jest bezpieczna.</p>
        
        <div class="rk-toggle-list">
            <div class="rk-toggle-item">
                <div class="rk-toggle-text">
                    <h4>Obliczenia cieplne budynku</h4>
                    <p>Posiadam rzetelny audyt wykonany zgodnie ze sztuką (nie szacowany "z metra").</p>
                </div>
                <label class="rk-switch">
                    <input type="checkbox" class="rk-sim-trigger">
                    <span class="rk-slider"></span>
                </label>
            </div>
            
            <div class="rk-toggle-item">
                <div class="rk-toggle-text">
                    <h4>Pętle zrównoważone hydraulicznie</h4>
                    <p>Żadna pętla nie przekracza normatywnej maksymalnej długości, chroniąc pompę przed przeciążeniem.</p>
                </div>
                <label class="rk-switch">
                    <input type="checkbox" class="rk-sim-trigger">
                    <span class="rk-slider"></span>
                </label>
            </div>

            <div class="rk-toggle-item">
                <div class="rk-toggle-text">
                    <h4>Użycie kalkulatora pomp</h4>
                    <p>Punkt pracy został precyzyjnie naniesiony na wykres producenta na podstawie rzeczywistych oporów.</p>
                </div>
                <label class="rk-switch">
                    <input type="checkbox" class="rk-sim-trigger">
                    <span class="rk-slider"></span>
                </label>
            </div>
        </div>

        <div class="rk-end-result-box" id="rkSimResult">
            <div class="rk-result-icon">
                <svg viewBox="0 0 100 100" class="rk-anim-gauge">
                    <path class="rk-gauge-bg" d="M 20 80 A 40 40 0 1 1 80 80"></path>
                    <path id="rkGaugeVal" class="rk-gauge-val" d="M 20 80 A 40 40 0 1 1 80 80"></path>
                    <g id="rkGaugeNeedle" class="rk-gauge-needle">
                        <circle cx="50" cy="50" r="5" fill="#1e293b"></circle>
                        <polygon points="48,50 52,50 50,15" fill="#1e293b"></polygon>
                    </g>
                </svg>
            </div>
            <div class="rk-end-result-text">
                <h4 id="rkSimTitle" style="color: var(--rk-end-red);">Krytyczne Ryzyko Awarii</h4>
                <p id="rkSimDesc">
                    Projektowanie "z głowy" gwarantuje problemy. Odrzuć archaiczne metody! Opieraj się na twardych danych z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">certyfikowanych projektów OZC</a> i wymagaj stosowania norm technicznych.
                </p>
            </div>
        </div>
    </div>

    <div class="rk-end-tags">
        <span class="rk-mat-tag"># dobór pompy obiegowej do podłogówki</span>
        <span class="rk-mat-tag"># kalkulator przepływu wody ogrzewanie podłogowe</span>
        <span class="rk-mat-tag"># projekt ozc a pompa ciepła</span>
        <span class="rk-mat-tag"># hałas w rozdzielaczu podłogówki</span>
        <span class="rk-mat-tag"># krzywa grzewcza w ogrzewaniu podłogowym</span>
        <span class="rk-mat-tag"># pompa obiegowa 25-60 parametry</span>
        <span class="rk-mat-tag"># opory hydrauliczne pętli</span>
        <span class="rk-mat-tag"># energooszczędna instalacja podłogowa</span>
    </div>

    <div class="rk-end-cta">
        <p style="color: var(--rk-end-gray-text); font-size: 16px; margin: 0 auto 25px auto; max-width: 650px; line-height: 1.6;">
            Tylko pełna kontrola nad hydrauliką da Ci pewność, że Twoja instalacja będzie energooszczędna, cicha i bezawaryjna przez długie lata eksploatacji. Czas przejąć stery nad swoją budową.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-end">
            SPRAWDŹ BAZĘ WIEDZY EKSKLUZYWNEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggles = document.querySelectorAll('.rk-sim-trigger');
    const gaugeVal = document.getElementById('rkGaugeVal');
    const gaugeNeedle = document.getElementById('rkGaugeNeedle');
    const title = document.getElementById('rkSimTitle');
    const desc = document.getElementById('rkSimDesc');
    const resultBox = document.getElementById('rkSimResult');

    function updateSimulation() {
        let score = 0;
        toggles.forEach(function(t) {
            if (t.checked) {
                score = score + 1;
            }
        });

        if (score === 0) {
            gaugeVal.style.stroke = '#ef4444';
            gaugeVal.style.strokeDashoffset = '80';
            gaugeNeedle.style.transform = 'rotate(-80deg)';
            title.style.color = '#ef4444';
            title.textContent = 'Krytyczne Ryzyko Awarii';
            desc.innerHTML = 'Projektowanie "z głowy" gwarantuje problemy. Odrzuć archaiczne metody! Opieraj się na twardych danych z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">certyfikowanych projektów OZC</a> i wymagaj stosowania norm technicznych.';
            resultBox.style.borderColor = '#ef4444';
        } else if (score === 1) {
            gaugeVal.style.stroke = '#eab308';
            gaugeVal.style.strokeDashoffset = '50';
            gaugeNeedle.style.transform = 'rotate(-30deg)';
            title.style.color = '#eab308';
            title.textContent = 'Układ Niestabilny';
            desc.innerHTML = 'Dobry początek, ale instalacja to system naczyń połączonych. Brak kontroli nad <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">resztą błędów wykonawczych</a> zemści się niedogrzaniem stref granicznych.';
            resultBox.style.borderColor = '#eab308';
        } else if (score === 2) {
            gaugeVal.style.stroke = '#0ea5e9';
            gaugeVal.style.strokeDashoffset = '20';
            gaugeNeedle.style.transform = 'rotate(30deg)';
            title.style.color = '#0ea5e9';
            title.textContent = 'Poprawny Standard';
            desc.innerHTML = 'Jesteś na świetnej drodze. Parametry hydrauliczne są niemal spięte, pamiętaj tylko o uwzględnieniu ostatecznego <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">zapotrzebowania na ciepło</a> przed zakupem pompy.';
            resultBox.style.borderColor = '#bae6fd';
        } else if (score === 3) {
            gaugeVal.style.stroke = '#10b981';
            gaugeVal.style.strokeDashoffset = '0';
            gaugeNeedle.style.transform = 'rotate(80deg)';
            title.style.color = '#10b981';
            title.textContent = 'Inżynierska Perfekcja';
            desc.innerHTML = 'Układ zbalansowany w 100%. Tak zaprojektowana instalacja będzie energooszczędna, cicha i bezawaryjna. To fundament, który wykorzystuje pełen potencjał <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">niskotemperaturowej pompy ciepła</a>.';
            resultBox.style.borderColor = '#10b981';
        }
    }

    toggles.forEach(function(toggle) {
        toggle.addEventListener('change', updateSimulation);
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Średnice rur w ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 24 Feb 2026 10:52:01 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Hydraulika grzewcza]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Technologia grzewcza]]></category>
		<category><![CDATA[długość pętli podłogówki]]></category>
		<category><![CDATA[dobór rur ogrzewanie podłogowe]]></category>
		<category><![CDATA[hydraulika ogrzewania podłogowego]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[projektowanie podłogówki]]></category>
		<category><![CDATA[przepływ w ogrzewaniu podłogowym]]></category>
		<category><![CDATA[rura 16x2 ogrzewanie podłogowe]]></category>
		<category><![CDATA[rura 20x2 ogrzewanie podłogowe]]></category>
		<category><![CDATA[spadki ciśnienia ogrzewanie podłogowe]]></category>
		<category><![CDATA[średnice rur ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3505</guid>

					<description><![CDATA[<p>Dobór elementów instalacji grzewczej to nie przypadek, lecz świadoma decyzja techniczna. Średnice rur w ogrzewaniu podłogowym mają bezpośredni wpływ na przepływ wody, opory hydrauliczne oraz efektywność całego systemu. Zbyt mała średnica może powodować nadmierne spadki ciśnienia i niedogrzanie pomieszczeń, natomiast zbyt duża utrudnia regulację i zwiększa koszty inwestycji. W artykule pokazujemy konkretne obliczenia, przykłady oraz praktyczne zasady projektowe, które pozwalają dobrać optymalne parametry instalacji zarówno dla kotłów gazowych, jak i pomp ciepła.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">Średnice rur w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Projektowanie wodnego ogrzewania podłogowego to balansowanie między wydajnością cieplną a oporami hydraulicznymi. Wybór&nbsp;<strong>średnic rur</strong>&nbsp;ma kluczowe znaczenie dla tego, jak mocno musi pracować pompa obiegowa i czy system będzie w stanie dogrzać pomieszczenie. W tym artykule kompleksowo omawiamy techniczne aspekty doboru rur, obliczania&nbsp;<strong>przepływów</strong>&nbsp;oraz szacowania&nbsp;<strong>spadków ciśnienia</strong>, opierając się na konkretnych przykładach i sprawdzonych wzorach inżynierskich.</p>



<h2 class="wp-block-heading">Dlaczego średnica rury ma znaczenie dla przepływu i spadku ciśnienia?</h2>



<p class="wp-block-paragraph">Wybór odpowiedniej <strong>średnicy <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur do ogrzewania podłogowego</a></strong> to nie tylko kwestia dostępności materiału w sklepie. To przede wszystkim decyzja inżynierska, która wpływa na opory przepływu, a co za tym idzie – na pracę pompy obiegowej i równomierność ogrzewania pomieszczeń.</p>



<p class="wp-block-paragraph">W praktyce instalacyjnej w budownictwie jednorodzinnym najczęściej stosuje się rury z materiałów takich jak <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PE-X</a>a, PE-RT lub wielowarstwowe (PEX/Al/PEX). Oto przegląd standardowych średnic:</p>



<ul class="wp-block-list">
<li><strong>16 x 2,0 mm</strong>: To absolutny standard w budownictwie mieszkaniowym. Łączy elastyczność montażu z wystarczającą wydajnością dla większości pomieszczeń. Jego średnica wewnętrzna wynosi 12 mm.</li>



<li><strong>17 x 2,0 mm</strong>: Stosowana głównie w systemach systemowych konkretnych producentów. Oferuje nieco lepsze parametry przepływu niż rura 16 mm.</li>



<li><strong>20 x 2,0 mm</strong>: Używana rzadziej, głównie w dużych halach, pomieszczeniach o bardzo długich pętlach lub tam, gdzie chcemy znacząco zredukować&nbsp;<strong>spadki ciśnienia</strong>. Jej średnica wewnętrzna to 16 mm.</li>
</ul>



<p class="wp-block-paragraph">Dlaczego te różnice są tak istotne? Z praw hydrauliki wynika, że przy tym samym przepływie wody, mniejsza średnica wewnętrzna generuje&nbsp;<strong>znacznie wyższe opory przepływu</strong>. Jeśli opory te staną się zbyt duże, woda nie będzie w stanie efektywnie krążyć w pętli, co skutkuje niedogrzaniem podłogi, zapowietrzaniem się instalacji i nadmiernym hałasem.</p>



<h2 class="wp-block-heading">Jak dokładnie obliczyć wymagany przepływ wody w pętlach?</h2>



<p class="wp-block-paragraph">Zanim przejdziemy do spadków ciśnienia, musimy ustalić, ile wody w ogóle potrzebujemy przesłać przez rurę.&nbsp;<strong>Przepływ w ogrzewaniu podłogowym</strong>&nbsp;(strumień masy) zależy od dwóch czynników:&nbsp;<strong>mocy cieplnej, jaką ma dostarczyć dana pętla</strong>&nbsp;oraz od&nbsp;<strong>różnicy temperatur</strong>&nbsp;między wodą zasilającą a powracającą.</p>



<h3 class="wp-block-heading">Moc pętli i różnica temperatur – wzór i praktyka.</h3>



<p class="wp-block-paragraph">Zapotrzebowanie na ciepło (oznaczane jako Q) dla pomieszczenia wynika z obliczeń strat ciepła. Projektowana różnica temperatur (oznaczana jako ΔT) zależy od źródła ciepła:</p>



<p class="wp-block-paragraph">Dla <strong><a href="https://projekt-ogrzewania.pl/kociol-gazowy/" type="link" id="https://projekt-ogrzewania.pl/kociol-gazowy/">kotłów gazowych</a></strong> standardem jest <strong>ΔT = 7 do 10 stopni (K)</strong> .</p>



<p class="wp-block-paragraph">Dla <strong><a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">pomp ciepła</a></strong> najczęściej przyjmuje się <strong>ΔT = 5 stopni (K)</strong> , co zapewnia najwyższą efektywność urządzenia (niski skok temperatury).</p>



<div style="max-width:800px;margin:20px auto;padding:20px;border:1px solid #e5e5e5;border-radius:10px;background:#fafafa;font-family:Arial,Helvetica,sans-serif;line-height:1.6;color:#222;">

  <h2 style="font-size:22px;margin-top:0;">Przepływ w ogrzewaniu podłogowym – zależność od mocy i ΔT</h2>

  <p>
    Przepływ zależy od zapotrzebowania na ciepło (<strong>Q</strong>) oraz projektowanej różnicy temperatur między zasilaniem a powrotem (<strong>ΔT</strong>).
  </p>

  <h3 style="font-size:18px;margin-top:20px;">Typowe wartości ΔT w ogrzewaniu podłogowym:</h3>

  <ul style="padding-left:20px;">
    <li><strong>ΔT = 5 K</strong> – zalecane dla pomp ciepła (najwyższa efektywność).</li>
    <li><strong>ΔT = 7–10 K</strong> – stosowane w instalacjach z kotłem gazowym.</li>
  </ul>

  <h3 style="font-size:18px;margin-top:20px;">Wzór na przepływ masowy:</h3>

  <div style="text-align:center;font-size:22px;margin:20px 0;padding:15px;background:white;border-radius:8px;border:1px solid #ddd;">
    ṁ = Q / (c<sub>w</sub> · ΔT)
  </div>

  <h3 style="font-size:18px;margin-top:20px;">Gdzie:</h3>

  <ul style="padding-left:20px;">
    <li><strong>ṁ</strong> – strumień masy [kg/s] (w przybliżeniu odpowiada l/s),</li>
    <li><strong>Q</strong> – moc grzewcza pętli [W],</li>
    <li><strong>c<sub>w</sub></strong> – ciepło właściwe wody ≈ 4186 J/(kg·K),</li>
    <li><strong>ΔT</strong> – różnica temperatur między zasilaniem a powrotem [K].</li>
  </ul>

  <div style="margin-top:25px;padding:15px;background:#eef6ff;border-left:5px solid #2b6cb0;border-radius:6px;">
    <strong>Przykład praktyczny:</strong><br><br>
    Dla pętli o mocy <strong>1000 W</strong> przy <strong>ΔT = 5 K</strong>, wymagany przepływ wynosi około:<br><br>
    <div style="font-size:20px;text-align:center;margin:10px 0;">
      <strong>2,8 l/min</strong>
    </div>
    Większość rotametrów stosowanych w rozdzielaczach obsługuje zakres <strong>0,5 – 5,0 l/min</strong>, co pokrywa typowe wymagania instalacji ogrzewania podłogowego.
  </div>

</div>



<p class="wp-block-paragraph"><strong>Przykład praktyczny:</strong><br>Załóżmy, że projektujemy ogrzewanie podłogowe w salonie, dla którego straty ciepła wynoszą&nbsp;<strong>1500 W (1,5 kW)</strong>&nbsp;. Sprawdźmy, jak zmieni się wymagany przepływ w zależności od przyjętej różnicy temperatur.</p>



<ol start="1" class="wp-block-list">
<li><strong>Dla pompy ciepła (ΔT = 5 K)</strong>&nbsp;:<br>Przepływ masowy = 1500 / (4186 * 5) = 1500 / 20930 ≈ 0,0717 kg/s<br>Przeliczając na godziny i minuty: 0,0717 * 3600 ≈ 258 kg/h, co daje około&nbsp;<strong>4,3 l/min</strong>.</li>



<li><strong>Dla kotła gazowego (ΔT = 10 K)</strong>&nbsp;:<br>Przepływ masowy = 1500 / (4186 * 10) = 1500 / 41860 ≈ 0,0358 kg/s<br>Co daje 0,0358 * 3600 ≈ 129 kg/h, czyli około&nbsp;<strong>2,15 l/min</strong>.</li>
</ol>



<p class="wp-block-paragraph">Wniosek jest prosty: im niższa różnica temperatur (co jest korzystne dla pomp ciepła), tym większy przepływ musi być zapewniony przez instalację, co ma bezpośredni wpływ na dobór średnic i opory hydrauliczne. W praktyce większość rotametrów na rozdzielaczach obsługuje zakres 0,5–5,0 l/min, więc obie wartości mieszczą się w normie.</p>



<p class="wp-block-paragraph">Dla uproszczenia, w dalszej części artykułu posłużymy się popularnym założeniem ΔT = 10 K, co pozwala na stosowanie znanej reguły:&nbsp;<strong>wymagany przepływ (w kg/h) ≈ moc pętli (w W) / 12</strong>.</p>



<h2 class="wp-block-heading">Spadki ciśnienia w ogrzewaniu podłogowym – szczegółowa analiza.</h2>



<p class="wp-block-paragraph">Obliczenie&nbsp;<strong>strat ciśnienia w ogrzewaniu podłogowym</strong>&nbsp;(zwanych też oporami hydraulicznymi) jest niezbędne, aby upewnić się, że pompa obiegowa jest w stanie &#8222;przepchnąć&#8221; wodę przez wszystkie pętle. Na opór składają się straty liniowe (na długości rury) oraz miejscowe (na łukach, złączkach, przy rozdzielaczu).</p>



<h3 class="wp-block-heading">Kluczowe parametry graniczne.</h3>



<p class="wp-block-paragraph">Aby instalacja działała bez zarzutu, projektant zawsze pilnuje trzech rzeczy:</p>



<ol start="1" class="wp-block-list">
<li><strong>Maksymalny spadek ciśnienia:</strong>&nbsp;To najważniejsza granica. Łączne opory przepływu w pojedynczej pętli nie mogą przekroczyć&nbsp;<strong>15–20 kPa (kilopaskali)</strong>&nbsp;, co odpowiada około 1,5–2,0 metra słupa wody. Przekroczenie tej wartości sprawia, że instalacja staje się trudna do zrównoważenia hydraulicznego, a pompa pracuje na granicy wydajności, generując hałas i zużywając więcej prądu.</li>



<li><strong>Minimalna prędkość przepływu:</strong>&nbsp;Aby odpowietrzenie było skuteczne, a woda mogła &#8222;porwać&#8221; pęcherzyki powietrza, prędkość nie może spaść poniżej&nbsp;<strong>0,15–0,2 m/s</strong>.</li>



<li><strong>Maksymalna prędkość przepływu:</strong>&nbsp;Powyżej&nbsp;<strong>0,6 m/s</strong>&nbsp;mogą pojawić się szumy hydrauliczne, a opory przepływu rosną już bardzo gwałtownie.</li>
</ol>



<h3 class="wp-block-heading">Tabela jednostkowych spadków ciśnienia dla popularnych średnic.</h3>



<p class="wp-block-paragraph">W praktyce inżynierskiej do obliczeń używa się gotowych tabel lub wykresów producentów rur. Poniżej przedstawiamy przykładowe wartości jednostkowych spadków ciśnienia (oznaczanych często jako R) dla rur wielowarstwowych (PE-Al-PE) o różnych średnicach. Wartości te pokazują, jak duży opór (w paskalach) stawia jeden metr rury przy danym przepływie.</p>



<div style="max-width:900px;margin:30px auto;font-family:Arial,Helvetica,sans-serif;">

  <h2 style="font-size:22px;margin-bottom:15px;">
    Tabela 1. Jednostkowe spadki ciśnienia [Pa/m] dla rur wielowarstwowych
  </h2>

  <div style="overflow-x:auto;border-radius:10px;border:1px solid #ddd;">

    <table style="width:100%;border-collapse:collapse;min-width:600px;background:white;">

      <thead>
        <tr style="background:#2b6cb0;color:white;text-align:left;">
          <th style="padding:12px;">Przepływ masowy<br>[kg/h]</th>
          <th style="padding:12px;">Rura 16&#215;2,0<br>(śr. wewn. 12 mm)</th>
          <th style="padding:12px;">Rura 20&#215;2,0<br>(śr. wewn. 16 mm)</th>
        </tr>
      </thead>

      <tbody>

        <tr style="border-bottom:1px solid #eee;">
          <td style="padding:12px;"><strong>40</strong></td>
          <td style="padding:12px;">15 Pa/m</td>
          <td style="padding:12px;color:#666;">pomijalnie mały</td>
        </tr>

        <tr style="border-bottom:1px solid #eee;background:#f9f9f9;">
          <td style="padding:12px;"><strong>60</strong></td>
          <td style="padding:12px;">35 Pa/m</td>
          <td style="padding:12px;color:#666;">pomijalnie mały</td>
        </tr>

        <tr style="border-bottom:1px solid #eee;">
          <td style="padding:12px;"><strong>80</strong></td>
          <td style="padding:12px;">70 Pa/m</td>
          <td style="padding:12px;">15 Pa/m</td>
        </tr>

        <tr style="border-bottom:1px solid #eee;background:#f9f9f9;">
          <td style="padding:12px;"><strong>100</strong></td>
          <td style="padding:12px;">120 Pa/m</td>
          <td style="padding:12px;">25 Pa/m</td>
        </tr>

        <tr style="border-bottom:1px solid #eee;">
          <td style="padding:12px;"><strong>120</strong></td>
          <td style="padding:12px;color:#c53030;"><strong>170 Pa/m</strong></td>
          <td style="padding:12px;">35 Pa/m</td>
        </tr>

        <tr style="border-bottom:1px solid #eee;background:#f9f9f9;">
          <td style="padding:12px;"><strong>150</strong></td>
          <td style="padding:12px;color:#c53030;"><strong>280 Pa/m</strong></td>
          <td style="padding:12px;">55 Pa/m</td>
        </tr>

        <tr>
          <td style="padding:12px;"><strong>200</strong></td>
          <td style="padding:12px;color:#c53030;"><strong>480 Pa/m</strong></td>
          <td style="padding:12px;">100 Pa/m</td>
        </tr>

      </tbody>

    </table>

  </div>

  <div style="margin-top:20px;padding:15px;background:#eef6ff;border-left:5px solid #2b6cb0;border-radius:6px;">
    <strong>Analiza tabeli:</strong><br><br>
    Widzimy wyraźnie, jak gwałtownie rosną opory hydrauliczne wraz ze wzrostem przepływu, szczególnie dla najczęściej stosowanej rury <strong>16&#215;2,0</strong>.<br><br>
    Przy przepływie <strong>120 kg/h</strong>, jednostkowy spadek ciśnienia wynosi już <strong>170 Pa/m</strong>, co ma bezpośredni wpływ na dobór pompy obiegowej oraz maksymalną długość pętli ogrzewania podłogowego.
  </div>

</div>



<p class="wp-block-paragraph"><strong>Ćwiczenie praktyczne dla kotła gazowego:</strong><br>Dla naszego salonu (1500 W, ΔT = 10K, przepływ 129 kg/h, zaokrąglijmy do 130 kg/h) projektujemy pętlę z rury 16&#215;2,0 o długości&nbsp;<strong>85 metrów</strong>. Z tabeli, dla 130 kg/h, jednostkowy spadek to około 200 Pa/m (interpolując między 120 a 150 kg/h). Sam liniowy spadek ciśnienia wyniesie:<br><strong>85 m × 200 Pa/m = 17 000 Pa = 17 kPa</strong>.<br>Do tego doliczamy opory miejscowe (przyjęte 20%): 17 kPa × 0,2 = 3,4 kPa.<br><strong>Łączny spadek ciśnienia: 20,4 kPa</strong>.</p>



<p class="wp-block-paragraph"><strong>Wniosek:</strong>&nbsp;Jesteśmy na granicy (lub nieznacznie powyżej) dopuszczalnych 20 kPa. Taka pętla prawdopodobnie będzie wymagała bardzo precyzyjnego wyregulowania, a pompa może pracować na wysokich obrotach. Rozwiązaniem jest skrócenie pętli (np. podzielenie salonu na dwa obiegi po 70 m) lub zwiększenie średnicy rury.</p>



<p class="wp-block-paragraph"><strong>Ćwiczenie praktyczne dla pompy ciepła:</strong><br>Weźmy ten sam salon (1500 W), ale tym razem przy ΔT = 5K, co daje przepływ 258 kg/h (ok. 4,3 l/min). Sprawdźmy, czy rura 16&#215;2,0 w ogóle wchodzi w grę. Dla przepływu 258 kg/h, jednostkowy spadek ciśnienia z tabeli (ekstrapolując dane) wyniósłby około 700-800 Pa/m! Dla pętli o długości 85 m, sam spadek liniowy to 85 × 750 Pa = 63 750 Pa (63,7 kPa). To zdecydowanie za dużo.</p>



<p class="wp-block-paragraph">W tej sytuacji konieczne jest:</p>



<ol start="1" class="wp-block-list">
<li><strong>Zwiększenie średnicy rury</strong>&nbsp;– zastosowanie rury 20&#215;2,0. Dla przepływu 258 kg/h, jednostkowy spadek dla tej rury to około 160 Pa/m (z ekstrapolacji danych). Dla 85 m daje to 13,6 kPa liniowo + opory miejscowe = około 16,5 kPa – wynik akceptowalny.</li>



<li><strong>Podział na więcej pętli</strong>&nbsp;– zaprojektowanie dwóch lub trzech krótszych pętli, co zmniejszy przepływ w każdej z nich i pozwoli na zastosowanie rury 16&#215;2,0, ale zwiększy liczbę obiegów na rozdzielaczu.</li>
</ol>



<h3 class="wp-block-heading">Prędkość przepływu – sprawdzenie.</h3>



<p class="wp-block-paragraph">Dla rury 16&#215;2,0 przy przepływie 130 kg/h, prędkość wody wynosi około&nbsp;<strong>0,3 m/s</strong>&nbsp;– mieści się w przedziale 0,15-0,6 m/s. Dla rury 20&#215;2,0 przy przepływie 258 kg/h, prędkość wyniesie około&nbsp;<strong>0,35 m/s</strong>&nbsp;– również jest prawidłowa.</p>



<h2 class="wp-block-heading">Graniczne długości pętli – zasada kciuka.</h2>



<p class="wp-block-paragraph">Aby uniknąć problemów z hydraulicznym zrównoważeniem układu, w projektowaniu przyjmuje się bezpieczne granice długości jednej <a href="https://projekt-ogrzewania.pl/petla-grzewcza/" type="link" id="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli</a> (łącznie z podejściem do rozdzielacza). Wartości te wynikają z praktyki i mają na celu utrzymanie spadków ciśnienia w rozsądnych granicach.</p>



<div style="max-width:900px;margin:30px auto;font-family:Arial,Helvetica,sans-serif;">

  <h2 style="font-size:22px;margin-bottom:15px;">
    Tabela 2. Zalecane i maksymalne długości pętli ogrzewania podłogowego
  </h2>

  <div style="overflow-x:auto;border-radius:10px;border:1px solid #ddd;">

    <table style="width:100%;border-collapse:collapse;min-width:600px;background:white;">

      <thead>
        <tr style="background:#2b6cb0;color:white;text-align:left;">
          <th style="padding:12px;">Średnica rury</th>
          <th style="padding:12px;">Maksymalna długość pętli</th>
          <th style="padding:12px;">Zalecana długość<br>(dla łatwej regulacji)</th>
        </tr>
      </thead>

      <tbody>

        <tr style="border-bottom:1px solid #eee;">
          <td style="padding:12px;"><strong>16 × 2,0 mm</strong></td>
          <td style="padding:12px;">100 – 120 m</td>
          <td style="padding:12px;color:#2f855a;"><strong>80 m</strong></td>
        </tr>

        <tr style="border-bottom:1px solid #eee;background:#f9f9f9;">
          <td style="padding:12px;"><strong>17 × 2,0 mm</strong></td>
          <td style="padding:12px;">120 m</td>
          <td style="padding:12px;color:#2f855a;"><strong>90 m</strong></td>
        </tr>

        <tr>
          <td style="padding:12px;"><strong>20 × 2,0 mm</strong></td>
          <td style="padding:12px;">150 m</td>
          <td style="padding:12px;color:#2f855a;"><strong>110 m</strong></td>
        </tr>

      </tbody>

    </table>

  </div>

  <div style="margin-top:20px;padding:15px;background:#fff8e6;border-left:5px solid #d69e2e;border-radius:6px;">
    <strong>Wskazówka projektowa:</strong><br><br>
    Staraj się, aby pętle podłączone do jednego rozdzielacza miały <strong>zbliżone długości</strong>. Różnica nie powinna przekraczać <strong>10–15%</strong>.<br><br>
    Ułatwia to regulację hydrauliczną instalacji oraz zapobiega sytuacji, w której przepływ koncentruje się głównie w najkrótszych pętlach, powodując nierównomierne ogrzewanie pomieszczeń.
  </div>

</div>



<h2 class="wp-block-heading">Praktyczne wyliczenia na przykładzie – jak średnica rury ratuje sytuację?</h2>



<p class="wp-block-paragraph">Wróćmy do przykładu z pompą ciepła (przepływ 258 kg/h) i pętlą o długości 100 metrów, ale tym razem zastosujmy rurę&nbsp;<strong>20&#215;2,0</strong>. Z naszych szacunków (opartych na ekstrapolacji danych z Tabeli 1) jednostkowy spadek ciśnienia wyniesie około 160 Pa/m.</p>



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



<ul class="wp-block-list">
<li>Spadek liniowy: 100 m × 160 Pa/m = 16 000 Pa =&nbsp;<strong>16,0 kPa</strong>.</li>



<li>Opory miejscowe (+20%): 16,0 kPa × 0,2 = 3,2 kPa.</li>



<li><strong>Łączny spadek ciśnienia: 19,2 kPa.</strong></li>
</ul>



<p class="wp-block-paragraph">To wynik mieszczący się w granicy 20 kPa. Gdybyśmy przy tej samej długości 100 m uparli się przy rurze 16&#215;2,0, opory sięgnęłyby około 75-80 kPa, co całkowicie dyskwalifikuje takie rozwiązanie. Ten przykład dobitnie pokazuje, jak kluczowy jest świadomy wybór&nbsp;<strong>średnicy rury</strong>&nbsp;w zależności od zakładanych przepływów.</p>



<h2 class="wp-block-heading">Rola profesjonalnego projektu w optymalizacji parametrów.</h2>



<p class="wp-block-paragraph">Przedstawione powyżej wyliczenia to dopiero wierzchołek góry lodowej. Samodzielne dobranie&nbsp;<strong>średnic rur, przepływów i spadków ciśnień</strong>&nbsp;dla całego domu z kilkunastoma pętlami o różnej długości i zapotrzebowaniu na moc to zadanie bardzo złożone. W praktyce wszystkie pętle są podłączone do wspólnego rozdzielacza, a celem projektanta jest takie &#8222;wyważenie&#8221; instalacji, aby spadki ciśnienia we wszystkich obiegach były zbliżone. To proces zwany&nbsp;<strong>równoważeniem hydraulicznym</strong>.</p>



<p class="wp-block-paragraph">Profesjonalny <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-200-m2/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-200-m2/">projekt ogrzewania podłogowego</a> uwzględnia nie tylko dobór średnic, ale także:</p>



<ul class="wp-block-list">
<li>Dokładne obliczenie strat ciepła dla każdego pomieszczenia.</li>



<li>Rozrysowanie rozkładu pętli z uwzględnieniem stref przyokiennych.</li>



<li>Dobór nastaw wstępnych na rozdzielaczu (regulacja przepływu).</li>



<li>Dobór pompy obiegowej o odpowiedniej wysokości podnoszenia i wydajności.</li>
</ul>



<p class="wp-block-paragraph">Pamiętaj, że dobrze zaprojektowana i zrównoważona instalacja to nie tylko komfort cieplny, ale także niższe rachunki za ogrzewanie i energię elektryczną potrzebną do napędu pompy. Inwestycja w projekt zwraca się zazwyczaj w ciągu pierwszych sezonów grzewczych. Znajomość zależności między&nbsp;<strong>średnicą rury, przepływem a spadkiem ciśnienia</strong>&nbsp;jest jednak niezwykle przydatna do świadomej rozmowy z projektantem i wykonawcą oraz do zrozumienia, dlaczego pewne rozwiązania są rekomendowane.</p>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1771926581109"><strong class="schema-faq-question"><strong>Jaka średnica rury jest najlepsza do ogrzewania podłogowego w domu jednorodzinnym?</strong></strong> <p class="schema-faq-answer">Najczęściej stosuje się rurę 16 × 2,0 mm, która zapewnia dobry kompromis między oporami hydraulicznymi a łatwością montażu. W przypadku pomp ciepła lub dużych powierzchni warto rozważyć rurę 20 × 2,0 mm.</p> </div> <div class="schema-faq-section" id="faq-question-1771926590375"><strong class="schema-faq-question"><strong>Dlaczego średnica rury wpływa na wydajność ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Mniejsza średnica powoduje większe opory przepływu, co zwiększa obciążenie pompy obiegowej i może ograniczyć przepływ wody. To prowadzi do spadku wydajności grzewczej i nierównomiernego ogrzewania podłogi.</p> </div> <div class="schema-faq-section" id="faq-question-1771926599440"><strong class="schema-faq-question"><strong>Jaka powinna być maksymalna długość jednej pętli ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Dla rury 16 mm zaleca się długość do około 80–100 metrów, natomiast dla rury 20 mm można stosować pętle do około 110–150 metrów, w zależności od przepływu i źródła ciepła.</p> </div> <div class="schema-faq-section" id="faq-question-1771926609348"><strong class="schema-faq-question"><strong>Jakie spadki ciśnienia są dopuszczalne w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Łączny spadek ciśnienia w jednej pętli nie powinien przekraczać 15–20 kPa. Wyższe wartości utrudniają regulację instalacji i zwiększają zużycie energii przez pompę obiegową.</p> </div> <div class="schema-faq-section" id="faq-question-1771926628127"><strong class="schema-faq-question"><strong>Czy pompa ciepła wymaga innych średnic rur niż kocioł gazowy?</strong></strong> <p class="schema-faq-answer">Tak. Pompy ciepła pracują przy mniejszej różnicy temperatur (ΔT = 5 K), co wymaga większego przepływu wody. W takich przypadkach często stosuje się rury 20 mm lub dzieli instalację na większą liczbę krótszych pętli.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie techniczne – kluczowe wnioski.</h2>



<ul class="wp-block-list">
<li><strong>Rura 16 mm</strong>&nbsp;jest optymalna do rozstawów 10 cm lub 15 cm w standardowych pokojach z kotłami gazowymi (ΔT ≈ 10K). Sprawdza się przy przepływach do ok. 150 kg/h i długościach pętli do 80-100 m.</li>



<li><strong>Przy pompach ciepła</strong>&nbsp;dążymy do niskich parametrów zasilania (30–35°C) i niskiej różnicy temperatur (ΔT = 5K). To wymusza&nbsp;<strong>większe przepływy</strong>, a co za tym idzie – konieczność stosowania&nbsp;<strong>rur 20 mm</strong>&nbsp;lub dzielenia powierzchni na bardzo dużą liczbę krótkich pętli (często co 10 cm).</li>



<li>Każda pętla musi mieć możliwość regulacji na rozdzielaczu (zawory termostatyczne i rotametry), co pozwala na precyzyjne ustawienie wymaganego przepływu obliczonego ze wzoru.</li>



<li>Zawsze sprawdzaj, czy sumaryczny&nbsp;<strong>spadek ciśnienia</strong>&nbsp;w projektowanej pętli nie przekracza 20 kPa, a prędkość wody mieści się w przedziale 0,15–0,6 m/s.</li>
</ul>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">Średnice rur w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Obieg grzewczy w wodnym ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 21 Jan 2026 09:39:43 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Hydraulika grzewcza]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[hydraulika ogrzewania]]></category>
		<category><![CDATA[instalacja c.o.]]></category>
		<category><![CDATA[obieg grzewczy]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka wodna]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[równoważenie hydrauliczne]]></category>
		<category><![CDATA[rozdzielacz podłogówki]]></category>
		<category><![CDATA[zawór mieszający]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3252</guid>

					<description><![CDATA[<p>Na pierwszy rzut oka wodne ogrzewanie podłogowe wydaje się banalnie proste, jednak to obieg grzewczy w wodnym ogrzewaniu podłogowym decyduje o tym, czy system będzie komfortowy, energooszczędny i bezproblemowy przez lata. W artykule krok po kroku wyjaśniamy, jak działa układ hydrauliczny podłogówki, z jakich elementów się składa, jakie parametry są kluczowe oraz dlaczego równoważenie hydrauliczne jest absolutną podstawą poprawnego działania instalacji. To praktyczna wiedza zarówno dla inwestorów, jak i instalatorów, którzy chcą uniknąć kosztownych błędów.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">Obieg grzewczy w wodnym ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Na pierwszy rzut oka wodne ogrzewanie podłogowe wydaje się proste – to tylko rury w podłodze, przez które płynie ciepła woda. Jednak kluczem do jego wydajności, komfortu i niezawodności jest starannie zaprojektowany i zrównoważony&nbsp;<strong>obieg grzewczy</strong>. To właśnie układ hydrauliczny, odpowiedzialny za dystrybucję i cyrkulację czynnika grzewczego, decyduje o tym, czy system będzie pracował jako tani w eksploatacji, równomiernie grzejący mechanizm, czy też jako kłopotliwy i kosztowny zbiór elementów. W tym artykule, skierowanym zarówno do inwestorów, jak i instalatorów, zagłębimy się w techniczne aspekty obiegu, wyjaśniając każdy komponent, zasadę działania oraz kluczowe parametry projektowe.</p>



<h2 class="wp-block-heading">Podstawowe elementy układu hydraulicznego: Od źródła ciepła do pętli grzewczej.</h2>



<p class="wp-block-paragraph">Sprawny&nbsp;<strong>system grzewczy</strong>&nbsp;oparty na podłodzeówce to synergia precyzyjnie dobranych elementów. Każdy z nich pełni ściśle określoną funkcję w obiegu.</p>



<h3 class="wp-block-heading">Źródło ciepła: Punkt wyjścia dla całego systemu.</h3>



<p class="wp-block-paragraph">To element, który inicjuje proces, podgrzewając wodę. Wybór źródła ma fundamentalny wpływ na konfigurację i ekonomię&nbsp;<strong>obiegu wody grzewczej</strong>.</p>



<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompa ciepła</a>:</strong> Idealny partner dla niskotemperaturowego O.P. Pracuje najefektywniej (z wysokim współczynnikiem COP), gdy musi dostarczyć wodę o temperaturze 35-45°C. Wymaga minimalnej ingerencji zaworu mieszającego.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/kociol-gazowy/">Kocioł kondensacyjny</a>:</strong> Podobnie jak pompa ciepła, osiąga maksimum sprawności (ponad 100% w ujęciu PCI) w niskich temperaturach powrotu (poniżej 55°C). Doskonale współgra z wymaganiami <strong>ogrzewania płaszczyznowego</strong>.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/kotly-na-paliwa-stale-w-ogrzewaniu-podlogowym/">Kotły tradycyjne</a> (np. stałopalne):</strong> Wymagają zastosowania <strong>zbiornika buforowego</strong> (akumulacyjnego), który oddziela wysokotemperaturowy obieg kotłowy od niskotemperaturowego obiegu podłogowego. Bez bufora istnieje ryzyko pracy kotła w nieefektywnym, szkodliwym trybie tzw. &#8222;pracy cyklicznej&#8221;.</li>
</ul>



<h3 class="wp-block-heading">Zespół pompowo-mieszający: Mózg i serce obiegu.</h3>



<p class="wp-block-paragraph">To najważniejszy węzeł techniczny, który przekształca wodę ze źródła w czynnik gotowy do pracy w pętli podłogowej. Jego zadaniem jest&nbsp;<strong>sterowanie temperaturą</strong>&nbsp;i zapewnienie&nbsp;<strong>cyrkulacji</strong>.</p>



<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">Zawór mieszający</a> (2-, 3- lub 4-drogowy):</strong> Jego rolą jest <em>obniżenie temperatury</em> wody zasilającej z kotła (np. 65-70°C) do bezpiecznego poziomu dla podłogi (np. 40°C). Dokonuje tego poprzez mieszanie gorącej wody z zasilania z ochłodzoną wodą powracającą z <strong>pętli grzejnej</strong>. Sterowany jest przez głowicę termostatyczną z czujnikiem.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">Pompa obiegowa</a>:</strong> To siła napędowa całego <strong>hydraulicznego obiegu grzewczego</strong>. Wymusza przepływ wody przez, często długie i rozgałęzione, pętle podłogowe. Nowoczesne pompy są zwykle automatycznie regulowane (tzw. pompy z przetwornicą częstotliwości), dopasowując wydajność do aktualnego zapotrzebowania, co oszczędza energię elektryczną.</li>
</ul>



<h3 class="wp-block-heading">Rozdzielacz (kolektor): Centrum dowodzenia dystrybucją.</h3>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/kategoria-produktu/rozdzielacze-do-ogrzewania-podlogowego/">Rozdzielacz</a> to element, od którego zaczyna się właściwe <strong>ogrzewanie podłogowe</strong>. Jego zadaniem jest <strong>rozdzielenie jednolitego strumienia wody</strong> z pompy na wiele niezależnych obwodów grzewczych oraz <strong>zebranie powrotu</strong> z tych obwodów.</p>



<ul class="wp-block-list">
<li><strong>Budowa:</strong>&nbsp;Składa się z dwóch kolektorów (grzebieni): zasilającego i powrotnego, połączonych szeregiem króćców przyłączeniowych.</li>



<li><strong>Wyposażenie podstawowe:</strong>
<ul class="wp-block-list">
<li><strong>Zawory regulacyjne/odcinające na zasilaniu:</strong>&nbsp;Pozwalają na ręczne lub automatyczne dławienie przepływu w każdej pętli (tzw.&nbsp;<em>równoważenie hydrauliczne</em>).</li>



<li><strong><a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">Przepływomierze</a>:</strong> Są często montowane na zasilaniu lub powrocie. Umożliwiają wizualną kontrolę i precyzyjne ustawienie ilości wody płynącej przez każdy obwód. Jest to klucz do równomiernego grzania wszystkich pomieszczeń.</li>



<li><strong>Odpowietrzniki automatyczne:</strong>&nbsp;Usuwają powietrze z systemu, które jest najczęstszą przyczyną niesprawności (zaburzenia przepływu, hałasy).</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Pętle grzewcze i jastrych: Powierzchnia emisyjna.</h3>



<p class="wp-block-paragraph">To finalny, ale niezwykle ważny etap&nbsp;<strong>dystrybucji ciepła</strong>.</p>



<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">Rury</a>:</strong> Stosuje się głównie rury z tworzyw sztucznych: <strong>PEX</strong> (sieciowany polietylen), <strong>PE-RT</strong> (polietylen podwyższonej temperatury odporności) lub <strong>rury wielowarstwowe</strong> (PEX-Al-PEX). Mają mały opór hydrauliczny i są odporne na korozję. Średnice standardowe to 16 mm i 20 mm.</li>



<li><strong>Schemat układania:</strong>&nbsp;Decyduje o równomierności grzania.
<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/">Ślimak</a> (spirala):</strong> Zapewnia najbardziej równomierny rozkład temperatury na powierzchni podłogi, ponieważ rury zasilające i powrotne biegną naprzemiennie. Zmniejsza również opory hydrauliczne.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/">Meander</a> (zakos):</strong> Prostszy do zaprojektowania, ale może prowadzić do powstania &#8222;falistej&#8221; temperatury podłogi – cieplej przy ścianie z zasilaniem, chłodniej przy ścianie z powrotem.</li>
</ul>
</li>



<li><strong>Płyta grzewcza (jastrych):</strong> <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">Wylewka betonowa</a> (zwykle anhydrytowa lub cementowa) pełni rolę <strong>masywnego akumulatora ciepła</strong>. Jej grubość (zwykle 6,5-8 cm nad rurą) i właściwości termiczne są kluczowe dla bezwładności systemu i równomiernego promieniowania.</li>
</ul>



<h2 class="wp-block-heading">Zasada działania obiegu: Krok po kroku.</h2>



<p class="wp-block-paragraph">Aby zrozumieć&nbsp;<strong>działanie systemu</strong>, prześledźmy drogę, jaką pokonuje woda w&nbsp;<strong>zamkniętym obiegu c.o.</strong>.</p>



<ol start="1" class="wp-block-list">
<li><strong>Podgrzanie:</strong>&nbsp;Źródło ciepła (np. kocioł) podgrzewa wodę do zadanej, wysokiej temperatury (Tz_kotel, np. 65°C).</li>



<li><strong>Mieszanie:</strong>&nbsp;Gorąca woda trafia do zaworu mieszającego. Głowica termostatyczna, na podstawie pomiaru z czujnika, ustala pozycję zaworu tak, aby do strumienia wody gorącej dodać odpowiednią ilość schłodzonej wody z powrotu podłogowego (Tp, np. 30°C). Rezultatem jest woda o&nbsp;<strong>temperaturze zasilania podłogówki</strong>&nbsp;(Tz_podloga, np. 40°C).</li>



<li><strong>Tłoczenie i rozdzielenie:</strong>&nbsp;Pompa obiegowa tłoczy wodę o temperaturze Tz_podloga do rozdzielacza. Stamtąd jest ona rozdzielana na poszczególne, niezależne&nbsp;<strong>pętle grzejne</strong>.</li>



<li><strong>Emitowanie ciepła:</strong>&nbsp;Woda przepływając przez rury zatopione w płycie betonowej, oddaje swoje ciepło poprzez przewodzenie do jastrychu, a następnie do wykończenia podłogi. Podłoga emituje ciepło do pomieszczenia głównie przez&nbsp;<strong>promieniowanie</strong>. Jest to proces łagodny i bardzo komfortowy.</li>



<li><strong>Powrót i regulacja:</strong>&nbsp;Woda, która oddała ciepło, ochładza się (np. do 30°C) i wraca rurociągiem powrotnym do rozdzielacza, a następnie do zaworu mieszającego. Część tej wody jest zawracana do obiegu (krok 2), a reszta wędruje z powrotem do źródła ciepła, aby być ponownie podgrzana.</li>



<li><strong>Sterowanie:</strong> <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">Termostat pokojowy</a> mierzy temperaturę powietrza. Gdy jest ona niższa od żądanej, termostat załącza obieg (lub otwiera siłownik na odpowiedniej pętli rozdzielacza). Gdy temperatura zostanie osiągnięta, obieg zostaje wyłączony. <strong>Regulacja pogodowa</strong> modyfikuje temperaturę zasilania (Tz_podloga) w zależności od temperatury zewnętrznej, co jest niezwykle oszczędne.</li>
</ol>



<h3 class="wp-block-heading">Równoważenie hydrauliczne: Klucz do równomiernego grzania.</h3>



<p class="wp-block-paragraph">Jest to najczęściej zaniedbywany, a zarazem najważniejszy etap uruchomienia systemu. Jego celem jest takie ustawienie przepływu w każdej pętli, aby dostarczyć dokładnie tyle ciepła, ile potrzeba do skompensowania strat danego pomieszczenia.</p>



<p class="wp-block-paragraph"><strong>Przykład:</strong>&nbsp;Mamy dom z dwoma pomieszczeniami:</p>



<ul class="wp-block-list">
<li><strong>Salon:</strong>&nbsp;30 m², straty cieplne 1500 W (50 W/m²), pętla długa 100 m.</li>



<li><strong>Łazienka:</strong>&nbsp;8 m², straty cieplne 720 W (90 W/m² – wyższe z powodu wentylacji), pętla krótka 50 m.</li>
</ul>



<p class="wp-block-paragraph">Jeśli na rozdzielaczu obie pętle zostaną otwarte na pełny przepływ, przez krótszą pętlę łazienki popłynie nieproporcjonalnie więcej wody (ma mniejsze opory), powodując jej przegrzanie, podczas gdy salon pozostanie niedogrzany. Aby to skorygować, na zaworze regulacyjnym pętli łazienki należy&nbsp;<strong>dławić przepływ</strong>, zwiększając jej opór hydrauliczny i „wymuszając” tym samym większy przepływ przez dłuższą pętlę salonu. Wskaźnikiem są właśnie&nbsp;<strong>przepływomierze</strong>.</p>



<p class="wp-block-paragraph"><strong>Obliczenie przykładowego przepływu:</strong><br>Wzór:&nbsp;<code>G [l/h] = Q [W] / (1.163 * Δt [K])</code><br>Gdzie:</p>



<ul class="wp-block-list">
<li><code>G</code>&nbsp;– wymagany przepływ wody przez pętlę [litry na godzinę]</li>



<li><code>Q</code>&nbsp;– moc cieplna potrzebna dla pomieszczenia (straty) [Watt]</li>



<li><code>1.163</code>&nbsp;– stała (ciepło właściwe wody)</li>



<li><code>Δt</code>&nbsp;– projektowa różnica temperatur między zasilaniem a powrotem w pętli [Kelwin]. Dla podłogówki standardowo przyjmuje się Δt = 5-10 K.</li>
</ul>



<p class="wp-block-paragraph">Dla naszego salonu (Q=1500 W, Δt=8 K):<br><code>G_salon = 1500 / (1.163 * 8) = 1500 / 9.304 ≈ 161 l/h</code></p>



<p class="wp-block-paragraph">Dla łazienki (Q=720 W, Δt=8 K):<br><code>G_lazienka = 720 / 9.304 ≈ 77 l/h</code></p>



<p class="wp-block-paragraph">Te wartości należy ustawić na przepływomierzach przy użyciu zaworów regulacyjnych.</p>



<h2 class="wp-block-heading">Projektowanie obiegu grzewczego – fundament sukcesu instalacji.</h2>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-200-m2/">Proces projektowania</a> <strong>wodnego ogrzewania podłogowego</strong> jest kluczowy i powinien poprzedzać jakiekolwiek prace budowlane. <strong>Dobrze zaprojektowany obieg</strong> to gwarancja komfortu, ciszy i niskich kosztów eksploatacji. Oto na co zwraca uwagę projektant:</p>



<ol start="1" class="wp-block-list">
<li><strong>Bilans cieplny budynku:</strong>&nbsp;Punkt wyjścia. Oblicza się straty ciepła dla każdego pomieszczenia, biorąc pod uwagę izolację, okna, wentylację i przeznaczenie pomieszczenia. Określa to&nbsp;<strong>zapotrzebowanie na moc grzewczą</strong>.</li>



<li><strong>Dobór źródła ciepła i ustalenie parametrów pracy:</strong>&nbsp;Decyzja, czy będzie to pompa ciepła, kocioł, i jakie temperatury zasilania/powrotu będą optymalne (np. 40/35°C, 45/40°C).</li>



<li><strong>Podział na strefy/obwody:</strong>&nbsp;Pomieszczenia o różnych potrzebach (dzienne/nocne, łazienki) i konstrukcji podłogi dzieli się na niezależne pętle grzewcze. Maksymalna długość jednej pętli dla rury Ø16 mm to ok. 100 m, a dla Ø20 mm – ok. 120 m, aby nie przekroczyć dopuszczalnych oporów i zapewnić skuteczne usuwanie powietrza.</li>



<li><strong>Dobór rozstawu rur:</strong>&nbsp;Im większe straty cieplne, tym gęstszy rozstaw. Standardowo stosuje się rozstaw 10-20 cm.
<ul class="wp-block-list">
<li>Przykład: W łazience o stratach 90 W/m², przy Δt=8K, może być potrzebny rozstaw 10 cm.</li>



<li>W salonie o stratach 50 W/m² – rozstaw 15-20 cm.</li>
</ul>
</li>



<li><strong>Obliczenia hydrauliczne:</strong>&nbsp;Najbardziej zaawansowany etap. Projektant oblicza opory przepływu dla każdej pętli (straty ciśnienia na tarcie w rurach, kształtkach), aby dobrać odpowiednią&nbsp;<strong>pompę obiegową</strong>&nbsp;o wymaganej wydajności (m³/h) i wysokości podnoszenia (w metrach słupa wody, m H2O). Pompa musi &#8222;podołać&#8221; najbardziej niekorzystnej, najdłuższej pętli.</li>



<li><strong>Dobór pozostałych komponentów:</strong> Wybór rozdzielacza (z liczbą wyjść odpowiadającą liczbie pętli), zaworu mieszającego, izolacji termicznej itd.</li>
</ol>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1768985676327"><strong class="schema-faq-question"><strong>Czym jest obieg grzewczy w wodnym ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Obieg grzewczy to zamknięty układ hydrauliczny, w którym woda ogrzana przez źródło ciepła krąży przez pompę, rozdzielacz i pętle grzewcze, oddając ciepło do podłogi i wracając do ponownego podgrzania.</p> </div> <div class="schema-faq-section" id="faq-question-1768985713722"><strong class="schema-faq-question"><strong>Dlaczego zawór mieszający jest tak ważny w podłogówce?</strong></strong> <p class="schema-faq-answer">Zawór mieszający obniża temperaturę wody z kotła do bezpiecznego poziomu dla podłogi. Bez niego podłoga mogłaby się przegrzewać, a instalacja pracowałaby nieefektywnie.</p> </div> <div class="schema-faq-section" id="faq-question-1768985724415"><strong class="schema-faq-question"><strong>Co to jest równoważenie hydrauliczne i dlaczego nie wolno go pomijać?</strong></strong> <p class="schema-faq-answer">Równoważenie hydrauliczne polega na ustawieniu właściwych przepływów w każdej pętli grzewczej. Bez niego jedne pomieszczenia będą przegrzane, a inne niedogrzane, co zwiększa koszty i obniża komfort.</p> </div> <div class="schema-faq-section" id="faq-question-1768985749011"><strong class="schema-faq-question"><strong>Jak dobrać długość pętli ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Długość pętli zależy od średnicy rury i strat ciepła pomieszczenia. Dla rur 16 mm nie powinno się przekraczać 100 m, aby uniknąć nadmiernych oporów przepływu.</p> </div> <div class="schema-faq-section" id="faq-question-1768985757410"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe zawsze wymaga pompy obiegowej?</strong></strong> <p class="schema-faq-answer">Tak. Pompa obiegowa jest niezbędna, aby wymusić przepływ wody przez długie i rozgałęzione pętle podłogowe. Nowoczesne pompy automatycznie dostosowują swoją pracę do zapotrzebowania systemu.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Obieg grzewczy</strong>&nbsp;w wodnym ogrzewaniu podłogowym to niezwykle efektywny, ale i wymagający precyzji system. Jego siłą jest praca w niskich temperaturach, co otwiera drogę do wykorzystania najnowocześniejszych i najbardziej ekologicznych źródeł ciepła, takich jak pompy ciepła. Kluczem do sukcesu jest&nbsp;<strong>holistyczne podejście</strong>&nbsp;– traktowanie go jako spójnej całości, gdzie źródło ciepła, układ mieszający, pompa, rozdzielacz i pętle grzewcze są ze sobą idealnie zharmonizowane pod względem hydraulicznym i termicznym.</p>



<p class="wp-block-paragraph">Największe błędy – jak brak równoważenia hydraulicznego, źle dobrana pompa czy niedostateczna izolacja – skutkują nierównym grzaniem, stratami energii i wzrostem kosztów. Inwestycja w profesjonalny&nbsp;<strong>projekt techniczny</strong>&nbsp;oraz w wysokiej jakości komponenty, a następnie precyzyjny montaż i regulacja, zwraca się przez dziesiątki lat w postaci nieporównywalnego komfortu cieplnego i niskich rachunków. W końcu dobrze zaprojektowany&nbsp;<strong>obieg wody grzewczej</strong>&nbsp;w podłodze to system, o którego istnieniu po prostu się zapomina – działa niezawodnie, cicho i zapewnia przyjemne ciepło od stóp do głów.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="k0uF8L2lxY"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=hAvn6sbY44#?secret=k0uF8L2lxY" data-secret="k0uF8L2lxY" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">Obieg grzewczy w wodnym ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Naczynie wzbiorcze.</title>
		<link>https://projekt-ogrzewania.pl/naczynie-wzbiorcze/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 20 Jan 2026 10:25:49 +0000</pubDate>
				<category><![CDATA[Bezpieczeństwo instalacji]]></category>
		<category><![CDATA[Bezpieczeństwo systemów grzewczych]]></category>
		<category><![CDATA[Bezpieczeństwo w instalacjach]]></category>
		<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[bezpieczeństwo instalacji]]></category>
		<category><![CDATA[ciśnienie w instalacji]]></category>
		<category><![CDATA[dobór naczynia]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[naczynie przeponowe]]></category>
		<category><![CDATA[naczynie wzbiorcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[zawór bezpieczeństwa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3237</guid>

					<description><![CDATA[<p>Naczynie wzbiorcze: Niezbędny strażnik bezpieczeństwa Twojego ogrzewania podłogowego to temat, który zbyt często bywa bagatelizowany – aż do momentu pierwszych problemów z ciśnieniem, zaworem bezpieczeństwa lub zalaniem kotłowni. W artykule pokazujemy, dlaczego naczynie wzbiorcze nie jest dodatkiem, lecz fundamentem bezpiecznej instalacji. Wyjaśniamy jego działanie, różnice między typami, zasady prawidłowego doboru, typowe błędy montażowe oraz znaczenie właściwego ciśnienia wstępnego – szczególnie w systemach ogrzewania podłogowego o dużej pojemności wodnej.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">Naczynie wzbiorcze.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Naczynie wzbiorcze</strong>&nbsp;to niewielkie, ale absolutnie kluczowe urządzenie w każdej zamkniętej instalacji centralnego ogrzewania, a w szczególności w&nbsp;<strong>wodnym ogrzewaniu podłogowym</strong>. Pełni rolę swoistego „płuca” lub „amortyzatora” hydraulicznego systemu, bez którego jego bezpieczna i stabilna praca byłaby niemożliwa. W tym kompleksowym artykule zagłębimy się w zasadę działania, rodzaje, kluczowe parametry oraz szczegóły poprawnego doboru i montażu tego elementu, z uwzględnieniem specyfiki ogrzewania podłogowego.</p>



<h2 class="wp-block-heading">Dlaczego w instalacji grzewczej potrzebny jest amortyzator? Fizyka nie pyta o zdanie.</h2>



<p class="wp-block-paragraph">Aby zrozumieć konieczność stosowania&nbsp;<strong>naczynia wzbiorczego przeponowego</strong>, musimy wrócić do podstaw fizyki. Woda, która jest najpowszechniejszym nośnikiem ciepła w instalacjach, podlega zjawisku&nbsp;<strong>rozszerzalności temperaturowej</strong>.</p>



<ul class="wp-block-list">
<li><strong>Przykład:</strong>&nbsp;100 litrów wody ogrzanej od temperatury 10°C do 80°C zwiększy swoją objętość o około&nbsp;<strong>2,9 litra</strong>.</li>



<li>W&nbsp;<strong>ogrzewaniu podłogowym</strong>&nbsp;mamy do czynienia z&nbsp;<strong>bardzo dużą pojemnością wodną</strong>&nbsp;instalacji. Długie pętle <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur</a> zatopione w wylewce, często o łącznej długości setek metrów, magazynują znaczną ilość czynnika grzewczego.</li>
</ul>



<p class="wp-block-paragraph"><strong>Pojemność wodna typowych rur do ogrzewania podłogowego:</strong></p>



<ul class="wp-block-list">
<li>Rura PEX/PE-RT 16&#215;2,0 mm: ~0,113 l/mb</li>



<li>Rura PEX/PE-RT 17&#215;2,0 mm: ~0,133 l/mb</li>



<li>Rura PEX/PE-RT 20&#215;2,0 mm: ~0,201 l/mb</li>
</ul>



<p class="wp-block-paragraph">Dla&nbsp;<strong>przykładu technicznego</strong>: dom o powierzchni grzewczej 150 m², z rozstawem rur co 15 cm, wymaga około 1000 mb rury 17&#215;2,0 mm. Pojemność samej podłogówki to już&nbsp;<strong>133 litry</strong>&nbsp;(1000 mb * 0,133 l/mb). Dodajemy do tego wodę w kotle, przewodach, rozdzielaczach – łącznie może to być&nbsp;<strong>180-200 litrów</strong>. Przy rozruchu systemu z 20°C do 40°C, przyrost objętości tej wody to ok.&nbsp;<strong>0,7-0,8 litra</strong>. Gdyby system był całkowicie szczelny i sztywny (bez naczynia), ciśnienie wzrosłoby do niebezpiecznych wartości, prowadząc do rozszczelnienia, uszkodzenia pompy lub kotła.</p>



<p class="wp-block-paragraph"><strong>Funkcja naczynia wzbiorczego jest zatem prosta: przyjąć nadmiarową objętość wody powstałą w wyniku jej rozszerzania się podczas nagrzewania i oddać ją z powrotem do instalacji podczas jej stygnięcia, utrzymując ciśnienie robocze w bezpiecznym zakresie.</strong></p>



<h2 class="wp-block-heading">Konstrukcja i typy naczyń: Serce systemu zabezpieczeń.</h2>



<p class="wp-block-paragraph">W nowoczesnych instalacjach dominują&nbsp;<strong>naczynia wzbiorcze przeponowe (membranowe) zamknięte</strong>. Ich budowa jest stosunkowo prosta, ale genialna w swej efektywności.</p>



<h3 class="wp-block-heading">Budowa naczynia wzbiorczego – kluczowe elementy.</h3>



<figure class="wp-block-image size-full"><img data-dominant-color="cdcdcd" data-has-transparency="false" style="--dominant-color: #cdcdcd;" fetchpriority="high" decoding="async" width="945" height="945" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Naczynie-wzbiorcze.webp" alt="Naczynie wzbiorcze – niezastąpiony strażnik bezpieczeństwa ogrzewania podłogowego, przekrój techniczny z widoczną membraną, komorą gazową i wodną" class="wp-image-3247 not-transparent" srcset="https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Naczynie-wzbiorcze.webp 945w, https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Naczynie-wzbiorcze-300x300.webp 300w, https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Naczynie-wzbiorcze-150x150.webp 150w, https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Naczynie-wzbiorcze-768x768.webp 768w, https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Naczynie-wzbiorcze-600x600.webp 600w, https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Naczynie-wzbiorcze-100x100.webp 100w" sizes="(max-width: 945px) 100vw, 945px" /><figcaption class="wp-element-caption">Naczynie wzbiorcze</figcaption></figure>



<ul class="wp-block-list">
<li><strong>Płaszcz stalowy</strong><br>Szczelna, wytrzymała obudowa odporna na ciśnienie i korozję. Przenosi obciążenia hydrauliczne oraz chroni elementy wewnętrzne.</li>



<li><strong>Elastyczna membrana (przepona)</strong><br>Najważniejszy element roboczy. Oddziela komorę wodną od gazowej i ulega odkształceniu wraz ze zmianą objętości wody w instalacji.</li>



<li><strong>Komora gazowa</strong><br>Wypełniona suchym azotem lub powietrzem o określonym <strong>ciśnieniu wstępnym (P₀)</strong>. To właśnie sprężystość gazu pozwala na kompensację wzrostu objętości wody.</li>



<li><strong>Komora wodna</strong><br>Połączona bezpośrednio z instalacją grzewczą. To do niej trafia nadmiar wody podczas nagrzewania systemu.</li>



<li><strong>Przyłącze instalacyjne</strong><br>Gwintowany króciec umożliwiający podłączenie naczynia do instalacji centralnego ogrzewania, najczęściej na przewodzie powrotnym.</li>



<li><strong>Wentyl dozujący (zawór powietrzny)</strong><br>Umożliwia kontrolę oraz korektę ciśnienia wstępnego w komorze gazowej przed montażem i w trakcie serwisu.</li>
</ul>



<p class="wp-block-paragraph">Dzięki takiej konstrukcji <strong>naczynie wzbiorcze działa jak amortyzator hydrauliczny</strong>, który przejmuje skutki rozszerzalności cieplnej wody, chroniąc instalację ogrzewania podłogowego przed niekontrolowanym wzrostem ciśnienia, awariami i stratami wody.</p>



<h3 class="wp-block-heading">Rodzaje naczyń ze względu na membranę.</h3>



<p class="wp-block-paragraph">W praktyce montażowej spotkamy dwa główne typy, które różnią się budową i możliwościami serwisowymi:</p>



<style>
.responsive-table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  font-size: 16px;
}

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

.responsive-table thead {
  background-color: #f5f5f5;
}

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

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

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

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

  .responsive-table tr {
    margin-bottom: 20px;
    border: 1px solid #e0e0e0;
    padding: 10px;
    background: #fff;
  }

  .responsive-table td {
    border: none;
    padding: 8px 0;
  }

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

<table class="responsive-table">
  <thead>
    <tr>
      <th>Cecha</th>
      <th>Naczynie z wymienną membraną (balonowe)</th>
      <th>Naczynie z niewymienną membraną (przeponowe)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td data-label="Cecha">Budowa membrany</td>
      <td data-label="Naczynie z wymienną membraną">
        Workowata, przypominająca balon, przytwierdzona do kołnierza.
      </td>
      <td data-label="Naczynie z niewymienną membraną">
        Płaska lub dyskowa, przyspawana na obwodzie do płaszcza naczynia.
      </td>
    </tr>

    <tr>
      <td data-label="Cecha">Kontakt wody z płaszczem</td>
      <td data-label="Naczynie z wymienną membraną">
        Woda znajduje się wyłącznie wewnątrz membrany, nie ma kontaktu z płaszczem.
      </td>
      <td data-label="Naczynie z niewymienną membraną">
        Woda ma kontakt ze ściankami płaszcza po stronie wodnej.
      </td>
    </tr>

    <tr>
      <td data-label="Cecha">Wymiana membrany</td>
      <td data-label="Naczynie z wymienną membraną">
        Możliwa w przypadku jej rozszczelnienia.
      </td>
      <td data-label="Naczynie z niewymienną membraną">
        Niemożliwa – wymaga wymiany całego naczynia.
      </td>
    </tr>

    <tr>
      <td data-label="Cecha">Trwałość</td>
      <td data-label="Naczynie z wymienną membraną">
        Wyższa, dzięki braku kontaktu wody z metalem.
      </td>
      <td data-label="Naczynie z niewymienną membraną">
        Nieco niższa, ze względu na możliwość korozji płaszcza.
      </td>
    </tr>

    <tr>
      <td data-label="Cecha">Koszt</td>
      <td data-label="Naczynie z wymienną membraną">
        Wyższy zakup, ale niższy koszt ewentualnej naprawy.
      </td>
      <td data-label="Naczynie z niewymienną membraną">
        Niższy zakup, ale wyższy koszt wymiany całej jednostki.
      </td>
    </tr>
  </tbody>
</table>



<p class="wp-block-paragraph"><strong>Dla instalacji ogrzewania podłogowego</strong>, gdzie liczy się długoterminowa bezawaryjność, zaleca się stosowanie&nbsp;<strong>naczyń z wymienną membraną</strong>.</p>



<h2 class="wp-block-heading">Klucz do sukcesu: Prawidłowy dobór pojemności naczynia wzbiorczego.</h2>



<p class="wp-block-paragraph">To najważniejszy etap projektowy. Zbyt małe naczynie spowoduje cykliczne otwieranie się&nbsp;<strong>zaworu bezpieczeństwa</strong>&nbsp;i utratę wody z instalacji. Zbyt duże – to niepotrzebny wydatek, choć nie wpłynie negatywnie na bezpieczeństwo.</p>



<p class="wp-block-paragraph">Dobór przeprowadza się w oparciu o&nbsp;<strong>normę <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831</a></strong>. Poniżej uproszczona, ale bezpieczna metoda obliczeniowa dla typowych instalacji mieszkaniowych.</p>



<p class="wp-block-paragraph"><strong>Niezbędne dane:</strong></p>



<ol start="1" class="wp-block-list">
<li><strong>Pojemność całkowita instalacji (V)</strong>: Suma wody w kotle, wymienniku, rurach podłogowych, rozdzielaczach, przewodach łączeniowych. Dla ogrzewania podłogowego jest to wartość&nbsp;<strong>dominująca</strong>.</li>



<li><strong>Maksymalna temperatura robocza (Tmax)</strong>: Dla podłogówki przyjmuje się zwykle 55°C, ale obliczenia robi się dla&nbsp;<strong>awaryjnego przegrzania</strong>&nbsp;(np. 90-100°C).</li>



<li><strong>Ciśnienie wstępne naczynia (P0)</strong>.</li>



<li><strong>Ciśnienie maksymalne robocze (Pmax)</strong>: Ciśnienie, przy którym ma zadziałać zawór bezpieczeństwa (zwykle 3,0 bar).</li>
</ol>



<p class="wp-block-paragraph"><strong>Krok po kroku:</strong></p>



<ol start="1" class="wp-block-list">
<li><strong>Oblicz przyrost objętości wody (ΔV):</strong><br>Użyj współczynnika rozszerzalności wody. Dla uproszczenia: przy nagrzaniu od 10°C do:
<ul class="wp-block-list">
<li>90°C: przyrost to ok. 3,58% objętości.</li>



<li>100°C: przyrost to ok. 4,34% objętości.<br><strong>ΔV = V * ρ [l]</strong><br>gdzie: V – pojemność instalacji [l], ρ – przyrost objętościowy [%] (np. 0,0358 dla 90°C).</li>
</ul>
</li>



<li><strong>Oblicz wymaganą pojemność użytkową naczynia (V_u):</strong><br>Wymagana pojemność musi być większa od obliczonego przyrostu ΔV.<br><strong>V_u = ΔV * k [l]</strong><br>gdzie: k – współczynnik bezpieczeństwa (zwykle 1,1-1,2).</li>



<li><strong>Oblicz wymaganą całkowitą pojemność naczynia (V_n):</strong><br><strong>V_n = V_u / ((Pmax / P0) &#8211; (Pmax / P0)) [l]</strong><br><em>(Uwaga: To uproszczony wzór ilustrujący zależność. W praktyce używa się gotowych nomogramów lub kalkulatorów producentów.)</em></li>
</ol>



<p class="wp-block-paragraph"><strong>Przykład praktyczny dla domu z podłogówką:</strong></p>



<ul class="wp-block-list">
<li>Pojemność instalacji&nbsp;<strong>V = 200 l</strong></li>



<li>Temperatura maksymalna:&nbsp;<strong>90°C</strong>&nbsp;(ρ ≈ 0,0358)</li>



<li>Ciśnienie wstępne&nbsp;<strong>P0 = 1,5 bar</strong>&nbsp;(dostosowane do ciśnienia statycznego)</li>



<li>Ciśnienie maksymalne&nbsp;<strong>Pmax = 3,0 bar</strong></li>
</ul>



<ol start="1" class="wp-block-list">
<li>ΔV = 200 l * 0,0358 =&nbsp;<strong>7,16 l</strong></li>



<li>V_u = 7,16 l * 1,1 =&nbsp;<strong>7,88 l</strong>&nbsp;(minimalna pojemność użytkowa)</li>



<li>Korzystając z nomogramu lub kalkulatora: dla V_u=7,9 l, P0=1,5 bara, Pmax=3,0 bara, całkowita pojemność naczynia&nbsp;<strong>V_n wynosi około 24 litry</strong>.</li>
</ol>



<p class="wp-block-paragraph"><strong>Wniosek:</strong>&nbsp;Dla takiej instalacji należy dobrać&nbsp;<strong>naczynie 24-litrowe</strong>.</p>



<p class="wp-block-paragraph"><strong>Praktyczna zasada dla instalatorów:</strong>&nbsp;Dla domów jednorodzinnych z ogrzewaniem podłogowym najczęściej stosuje się naczynia o pojemnościach:&nbsp;<strong>18, 24, 35 lub 50 litrów</strong>. Zawsze lepiej wybrać model o jedną wielkość większy niż wynika z obliczeń.</p>



<h2 class="wp-block-heading">Ciśnienie wstępne – najczęstszy błąd montażowy.</h2>



<p class="wp-block-paragraph">Nawet idealnie dobrane naczynie nie będzie działać, jeśli nie zostanie prawidłowo&nbsp;<strong>wstępnie przygotowane</strong>.&nbsp;<strong>Ciśnienie wstępne (P0)</strong>&nbsp;to ciśnienie gazu w komorze gazowej w stanie zimnym, gdy instalacja jest niezalana.</p>



<p class="wp-block-paragraph"><strong>Jak je ustawić?</strong><br><strong>P0 musi być równe lub nieznacznie wyższe (o 0,2-0,3 bar) od ciśnienia statycznego w miejscu podłączenia naczynia.</strong></p>



<p class="wp-block-paragraph"><strong>Ciśnienie statyczne (Ps)</strong>&nbsp;to ciśnienie słupa wody od punktu podłączenia naczynia do najwyższego punktu instalacji. 1 bar = ~10 metrów słupa wody.</p>



<ul class="wp-block-list">
<li><strong>Przykład:</strong>&nbsp;Naczynie zamontowane w kotłowni w piwnicy. Najwyższy punkt instalacji (rozszerzacz na rozdzielaczu podłogówki) znajduje się na piętrze, 5 metrów wyżej.
<ul class="wp-block-list">
<li>Ps = 5 m / 10 =&nbsp;<strong>0,5 bar</strong></li>



<li>Zalecane P0 = 0,5 bar + 0,2 bar =&nbsp;<strong>0,7 bar</strong></li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">Jeśli&nbsp;<strong>P0 jest za niskie</strong>, wstępnie zbyt dużo wody wtłoczy się do naczynia, zmniejszając jego rezerwę użytkową na przyjęcie rozszerzającej się wody. Jeśli&nbsp;<strong>P0 jest za wysokie</strong>, naczynie w ogóle nie zacznie przyjmować wody, dopóki ciśnienie w instalacji nie przekroczy wartości P0, co może prowadzić do niepotrzebnego zadziałania zaworu bezpieczeństwa.</p>



<p class="wp-block-paragraph"><strong>Naczynie należy zawsze przygotowywać (sprawdzić i ewentualnie dopompować powietrze) POZA instalacją, przed montażem.</strong></p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego: Gdzie naczynie wzbiorcze znajduje swoje miejsce?</h2>



<p class="wp-block-paragraph">W profesjonalnym&nbsp;<strong><a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekcie ogrzewania podłogowego</a></strong>&nbsp;(lub całego systemu grzewczego),&nbsp;<strong>naczynie wzbiorcze nie jest „dodatkiem”, lecz integralnym, obliczanym elementem</strong>. Projektant, na etapie tworzenia schematu hydraulicznego, musi:</p>



<ol start="1" class="wp-block-list">
<li><strong>Obliczyć pojemność hydrauliczną</strong>&nbsp;wszystkich obiegów grzewczych (podłogowych, grzejnikowych, zasobnika CWU).</li>



<li><strong>Określić parametry pracy systemu</strong>&nbsp;(temperatury, ciśnienie statyczne, maksymalne ciśnienie robocze).</li>



<li><strong>Dobrać typ i pojemność naczynia</strong>&nbsp;według normy, a wynik doboru umieścić w specyfikacji.</li>



<li><strong>Wskazać miejsce montażu</strong>&nbsp;na schemacie. W systemach z kilkoma źródłami ciepła (kocioł, pompa ciepła) może zaistnieć potrzeba zastosowania więcej niż jednego naczynia (np. osobno na stronę źródła i stronę odbiorczą).</li>



<li><strong>Zaznaczyć konieczność ustawienia prawidłowego ciśnienia wstępnego</strong>&nbsp;w dokumentacji wykonawczej.</li>
</ol>



<p class="wp-block-paragraph">Pominięcie lub błędny dobór naczynia w projekcie to poważny błąd, który w najlepszym razie przełoży się na kłopotliwy serwis, a w najgorszym – na poważną awarię i zalanie.</p>



<h2 class="wp-block-heading">Montaż i konserwacja: Gwarancja długowieczności.</h2>



<p class="wp-block-paragraph"><strong>Lokalizacja montażu:</strong>&nbsp;Naczynie wzbiorcze montuje się zazwyczaj&nbsp;<strong>na przewodzie powrotnym instalacji</strong>, w pobliżu kotła/pompy ciepła, przed pompą obiegową. Montaż na zimniejszym powrocie wydłuża żywotność membrany.&nbsp;<strong>Kierunek przepływu wody musi być zgodny ze strzałką na korpusie naczynia</strong>&nbsp;(jeśli jest oznaczona).</p>



<p class="wp-block-paragraph"><strong>Elementy obowiązkowe w okolicy naczynia:</strong></p>



<ul class="wp-block-list">
<li><strong>Zawór bezpieczeństwa</strong>&nbsp;– montowany „w czystym polu”, pomiędzy naczyniem a instalacją, zawsze po stronie przyłącza naczynia. Jest&nbsp;<strong>ostatnią linią obrony</strong>.</li>



<li><strong>Manometr</strong>&nbsp;– do wizualnej kontroli ciśnienia.</li>



<li><strong>Zawór odcinający</strong>&nbsp;(zalecany) – umożliwia odizolowanie naczynia do serwisu bez konieczności opróżniania całej instalacji.</li>
</ul>



<p class="wp-block-paragraph"><strong>Konserwacja:</strong>&nbsp;Przynajmniej&nbsp;<strong>raz w roku</strong>, przed sezonem grzewczym, należy:</p>



<ol start="1" class="wp-block-list">
<li>Sprawdzić stan ciśnienia na manometrze instalacji.</li>



<li>Wyłączyć pompę i odczekać, aż instalacja ostygnie.</li>



<li>Sprawdzić, czy ciśnienie statyczne (zimne) jest stabilne. Gwałtowny spadek może wskazywać na rozszczelnienie.</li>



<li>Przyłożyć klucz do zaworu dozującego naczynia. Jeśli po naciśnięciu zaworka wylatuje&nbsp;<strong>woda</strong>&nbsp;(a nie powietrze), oznacza to&nbsp;<strong>zerwanie membrany</strong>&nbsp;i konieczność wymiany naczynia lub membrany.</li>
</ol>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1768899039900"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe zawsze wymaga naczynia wzbiorczego?</strong></strong> <p class="schema-faq-answer">Tak. Każda <strong>zamknięta instalacja grzewcza</strong>, w tym wodne ogrzewanie podłogowe, musi posiadać naczynie wzbiorcze. Bez niego wzrost objętości wody prowadzi do gwałtownego wzrostu ciśnienia i awarii.</p> </div> <div class="schema-faq-section" id="faq-question-1768899056361"><strong class="schema-faq-question"><strong>Jaką pojemność naczynia wzbiorczego wybrać do podłogówki?</strong></strong> <p class="schema-faq-answer">Pojemność zależy od <strong>całkowitej ilości wody w instalacji</strong>, temperatury roboczej oraz ciśnień. Dla domów jednorodzinnych z podłogówką najczęściej stosuje się naczynia 18–35 l, ale zawsze najlepiej wykonać obliczenia lub skorzystać z projektu.</p> </div> <div class="schema-faq-section" id="faq-question-1768899076049"><strong class="schema-faq-question"><strong>Gdzie najlepiej zamontować naczynie wzbiorcze?</strong></strong> <p class="schema-faq-answer">Najczęściej na <strong>powrocie instalacji</strong>, przed pompą obiegową i blisko źródła ciepła. Niższa temperatura w tym miejscu wydłuża żywotność membrany i poprawia stabilność pracy.</p> </div> <div class="schema-faq-section" id="faq-question-1768899088116"><strong class="schema-faq-question"><strong>Co się stanie, jeśli ciśnienie wstępne naczynia będzie źle ustawione?</strong></strong> <p class="schema-faq-answer">Zbyt niskie lub zbyt wysokie <strong>ciśnienie wstępne (P0)</strong> powoduje, że naczynie nie spełnia swojej funkcji. Skutkiem są wahania ciśnienia, zadziałanie zaworu bezpieczeństwa i utrata wody z instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1768899097561"><strong class="schema-faq-question"><strong>Czy warto wybrać naczynie z wymienną membraną?</strong></strong> <p class="schema-faq-answer">W instalacjach ogrzewania podłogowego – zdecydowanie tak. Naczynie z wymienną membraną cechuje się <strong>większą trwałością</strong>, możliwością naprawy i mniejszym ryzykiem korozji płaszcza.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Naczynie wzbiorcze</strong>&nbsp;w systemie&nbsp;<strong>wodnego ogrzewania podłogowego</strong>&nbsp;jest jak airbag w samochodzie – przez większość czasu niewidoczne, ale krytyczne dla bezpieczeństwa w momentach, gdy system jest poddawany ekstremalnym warunkom (rozruch, przegrzanie). Jego prawidłowy dobór, oparty na rzetelnym obliczeniu pojemności instalacji, precyzyjne ustawienie ciśnienia wstępnego oraz zgodny ze sztuką montaż to inwestycja w bezawaryjną, cichą i efektywną pracę całego systemu grzewczego na długie lata. Nie jest to element, na którym warto oszczędzać lub którego dobór można pozostawić przypadkowi.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="6n8ogMXggn"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=BpCbDXkt4V#?secret=6n8ogMXggn" data-secret="6n8ogMXggn" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">Naczynie wzbiorcze.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pętla grzewcza.</title>
		<link>https://projekt-ogrzewania.pl/petla-grzewcza/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 07 Jan 2026 13:09:43 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Hydraulika grzewcza]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[długość pętli]]></category>
		<category><![CDATA[hydraulika grzewcza]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętla grzewcza]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[regulacja ogrzewania]]></category>
		<category><![CDATA[rozdzielacz podłogówki]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3084</guid>

					<description><![CDATA[<p>Pętla grzewcza: Serce wodnego ogrzewania podłogowego to temat, który decyduje o tym, czy podłogówka będzie działać cicho, równomiernie i ekonomicznie przez lata, czy stanie się źródłem frustracji i wysokich rachunków. W artykule krok po kroku wyjaśniamy, jak działa pętla grzewcza, jakie parametry mają realne znaczenie, gdzie najczęściej popełniane są błędy projektowe i wykonawcze oraz dlaczego hydrauliczne zrównoważenie instalacji jest absolutnie kluczowe. To praktyczny przewodnik zarówno dla inwestorów, jak i wykonawców.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">Pętla grzewcza.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Pętla grzewcza</strong>&nbsp;to fundamentalny element układu, który decyduje o efektywności, komforcie i bezawaryjności wodnego ogrzewania podłogowego. W niniejszym, kompleksowym artykule przeanalizujemy jej budowę, zasady projektowania, kryteria doboru oraz praktyczne aspekty wykonawstwa. Zrozumienie działania pętli jest kluczowe zarówno dla inwestorów, jak i wykonawców, którzy chcą stworzyć system zapewniający&nbsp;<strong>idealny komfort cieplny</strong>&nbsp;przy minimalnych kosztach eksploatacji.</p>



<h2 class="wp-block-heading">Podstawy fizyki i konstrukcji obiegu grzewczego.</h2>



<p class="wp-block-paragraph"><strong>Pętla grzewcza</strong>&nbsp;to nic innego jak zamknięty układ hydrauliczny, w którym nośnik ciepła (woda lub mieszanka wodno-glikolowa) krąży między źródłem ciepła a powierzchnią grzewczą podłogi. Jej głównym zadaniem jest równomierne i efektywne oddanie energii cieplnej zgromadzonej w czynniku do wylewki betonowej, a następnie do pomieszczenia.</p>



<h3 class="wp-block-heading"><strong>Kluczowe komponenty sys</strong>t<strong>emu</strong>.</h3>



<p class="wp-block-paragraph">Każda&nbsp;<strong>pętla cieplna</strong>&nbsp;składa się z kilku integralnych elementów, które muszą ze sobą precyzyjnie współpracować:</p>



<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">Rury grzewcze</a>:</strong> To żyły systemu. Ich wybór determinuje trwałość i wydajność.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/rozdzielacz-do-ogrzewania-podlogowego-mosiezny-czy-ze-stali-nierdzewnej/">Rozdzielacz</a> z zaworami regulacyjnymi:</strong> Mózg układu – odpowiada za rozdział i zbiór czynnika, a także za regulację przepływu w każdej pętli z osobna.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">Pompa obiegowa</a>:</strong> Serca systemu – zapewnia niezbędną siłę do pokonania oporów hydraulicznych i utrzymania cyrkulacji.</li>



<li><strong>Zawór mieszający (lub zespół pompowy):</strong>&nbsp;Strażnik temperatury – obniża temperaturę wody pochodzącej z kotła (np. 70°C) do bezpiecznego dla podłogi poziomu (35-55°C).</li>
</ul>



<h3 class="wp-block-heading">Parametry pracy definiujące komfort.</h3>



<p class="wp-block-paragraph">Aby&nbsp;<strong>ogrzewanie podłogowe</strong>&nbsp;działało poprawnie, pętla musi pracować w ściśle określonych ramach:</p>



<ul class="wp-block-list">
<li><strong>Temperatura zasilania:</strong> Zwykle <strong>30–40°C</strong> dla pomieszczeń mieszkalnych, do <strong>45°C</strong> dla łazienek lub pomieszczeń o wysokich stratach ciepła. Przekroczenie 55°C grozi uszkodzeniem warstw wykończeniowych i dyskomfortem.</li>



<li><strong>Spadek temperatury (ΔT):</strong>&nbsp;Różnica między temperaturą zasilania a powrotu. Optymalna wartość to&nbsp;<strong>5–10°C</strong>. Zbyt niski ΔT (np. 2°C) oznacza zbyt duży przepływ i wysokie koszty pompowania. Zbyt wysoki (np. 15°C) – nierównomierne grzanie (ciepła podłoga przy rozdzielaczu, chłodna na końcu pętli).</li>



<li><strong>Ciśnienie robocze:</strong>&nbsp;Standardowo&nbsp;<strong>1,5–3 bara</strong>&nbsp;w układzie zamkniętym z naczyniem wzbiorczym.</li>
</ul>



<h2 class="wp-block-heading">Projektowanie pętli: między hydrauliką a ciepłownictwem.</h2>



<p class="wp-block-paragraph">Projekt&nbsp;<strong>pętli grzewczej</strong>&nbsp;nie jest intuicyjny. To proces inżynierski, który zaczyna się od obliczeń strat ciepła, a kończy na hydraulicznej równowadze całego systemu.&nbsp;<strong>Prawidłowo zaprojektowana instalacja grzewcza</strong>&nbsp;to taka, w której każda pętla dostarcza dokładnie tyle ciepła, ile potrzebuje dana strefa, przy optymalnych parametrach przepływu.</p>



<h3 class="wp-block-heading">Obliczenie wymaganej mocy grzewczej.</h3>



<p class="wp-block-paragraph">Zacznijmy od podstaw. Dla przykładowego salonu o powierzchni 25 m², z dobrymi oknami i ociepleniem ścian, straty cieplne mogą wynosić około 50 W/m².</p>



<pre style="margin:20px 0;padding:16px;background:#f1f5f9;border-left:4px solid #0f172a;border-radius:6px;font-family:monospace;">
Moc potrzebna = Powierzchnia × Straty jednostkowe

Moc potrzebna = 25 m² × 50 W/m² = <strong>1250 W</strong>
</pre>



<p class="wp-block-paragraph">Oznacza to, że&nbsp;<strong>pętla (lub pętle)</strong>&nbsp;w tym salonie muszą dostarczyć 1,25 kW energii, aby zrekompensować straty i utrzymać żądaną temperaturę (np. 20°C).</p>



<h3 class="wp-block-heading">Dobór długości i średnicy rury – kluczowe ograniczenia.</h3>



<p class="wp-block-paragraph">To najważniejsza decyzja projektowa. Kierujemy się dwoma głównymi i bezwzględnymi ograniczeniami:</p>



<ol start="1" class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">Maksymalna długość pętli</a>:</strong> Wynika z konieczności pokonania oporów przepływu przez pompę obiegową o rozsądnej mocy i efektywności. Dla najpopularniejszych rur <strong>Ø16 mm</strong> absolutnym standardem i zaleceniem producentów jest <strong>maksymalnie 80–100 m</strong>. Górna, dopuszczalna w wyjątkowych sytuacjach granica to <strong>120 m</strong>. Dłuższe pętle powodują:
<ul class="wp-block-list">
<li>Nadmierny spadek ciśnienia, wymagający bardzo mocnej (i głośnej) pompy.</li>



<li>Wysokie koszty energii elektrycznej na pompowanie.</li>



<li><strong>Ryzyko nierównomiernego grzania</strong>&nbsp;– woda wraca zbyt wychłodzona na końcu pętli.</li>



<li>Trudności z odpowietrzeniem układu.</li>
</ul>
</li>



<li><strong>Minimalna moc pętli:</strong>&nbsp;Zbyt krótka pętla (np. 30-40m) może mieć problem z „pobraniem” wystarczającej ilości ciepła z wody, co prowadzi do niskiej temperatury powrotu i potencjalnych problemów z pracą kotła kondensacyjnego czy pompy ciepła.</li>
</ol>



<p class="wp-block-paragraph">Dla naszego salonu (1250 W) i przy założeniu ΔT=8°C, możemy obliczyć wymagany przepływ:</p>



<pre style="
  margin:24px 0;
  padding:18px 22px;
  background:#f1f5f9;
  border-left:5px solid #0f172a;
  border-radius:10px;
  font-family:monospace;
  font-size:16px;
  line-height:1.8;
  white-space:pre;
">
Przepływ ≈ 1250 / (4,18 * 8) ≈ 1250 / 33,44 ≈ 37,4 kg/h ≈ 37 l/h
</pre>



<p class="wp-block-paragraph">Znając przepływ (~37 l/h) i akceptowalny spadek ciśnienia, z wykresów hydraulicznych producenta rur dobieramy optymalną długość pętli. Dla takiego przepływu i rury Ø16 mm, długość&nbsp;<strong>80-90 m</strong>&nbsp;będzie optymalna.</p>



<h3 class="wp-block-heading">Rozstaw rur: klucz do równomiernego rozkładu temperatury.</h3>



<p class="wp-block-paragraph"><strong>Typowy i prawidłowy rozstaw rur</strong>&nbsp;w ogrzewaniu podłogowym mieści się w przedziale&nbsp;<strong>10–20 cm</strong>. Rozstaw 15 cm jest uważany za standardowy dla pomieszczeń o przeciętnych stratach cieplnych (40-60 W/m²). W praktyce:</p>



<ul class="wp-block-list">
<li><strong>5–10 cm:</strong> Stosuje się w strefach brzegowych przy dużych przeszkleniach (np. przy ścianach z oknami od podłogi do sufitu), w łazienkach lub w domach o bardzo wysokim standardzie energetycznym (straty &lt;40 W/m²), gdzie potrzebna jest niższa temperatura zasilania.</li>



<li><strong>10-15 cm:</strong> Standard dla salonów, sypialni, przedpokojów.</li>



<li><strong>20–25 cm:</strong>&nbsp;Może być stosowany w pomieszczeniach pomocniczych lub jako uzupełnienie innego systemu grzewczego.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład obliczeniowy dla salonu:</strong>&nbsp;Mamy salon 25 m², w którym planujemy ułożyć pętlę o długości 85 m rury Ø16 mm. Jaki będzie średni rozstaw?</p>



<pre style="
  margin:24px 0;
  padding:18px 22px;
  background:#f1f5f9;
  border-left:6px solid #0f172a;
  border-radius:12px;
  font-family:monospace;
  font-size:16px;
  line-height:1.8;
">
Rozstaw (m) = Powierzchnia (m²) / Długość rury (m)

Rozstaw ≈ 25 m² / 85 m ≈ 0,294 m = 29,4 cm
</pre>



<p class="wp-block-paragraph"><strong>Wniosek:</strong>&nbsp;Rozstaw ~30 cm jest za duży, aby skutecznie pokryć straty 50 W/m². Oznacza to, że potrzebujemy&nbsp;<strong>większej długości rury na tę powierzchnię</strong>. Aby uzyskać standardowy rozstaw 15 cm, potrzebujemy:</p>



<pre style="
  margin:24px 0;
  padding:18px 22px;
  background:#f1f5f9;
  border-left:6px solid #0f172a;
  border-radius:12px;
  font-family:monospace;
  font-size:16px;
  line-height:1.8;
  white-space:pre;
">
Wymagana długość rury = Powierzchnia / Rozstaw = 25 m² / 0,15 m ≈ 167 m
</pre>



<p class="wp-block-paragraph">Ponieważ 167 m znacznie przekracza maksymalną długość pętli (100-120 m), salon&nbsp;<strong>musimy podzielić na dwie niezależne pętle</strong>, np. o długościach 85 m i 82 m. Każda z nich będzie miała wtedy moc około 625 W.</p>



<h3 class="wp-block-heading">Układ rur: meander vs. ślimak – analiza techniczna.</h3>



<p class="wp-block-paragraph">Wybór wzoru układania ma bezpośredni wpływ na rozkład temperatury podłogi i opory hydrauliczne.</p>



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

.tech-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  background: #ffffff;
}

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

.tech-table thead th {
  background: #0f172a;
  color: #ffffff;
  font-weight: 600;
  text-align: left;
}

/* === LINKI W NAGŁÓWKACH – WARIANT 1 (REKOMENDOWANY) === */
.tech-table thead th a {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  position: relative;
}

.tech-table thead th a::after {
  content: " ↗";
  font-size: 0.85em;
  opacity: 0.8;
}

.tech-table thead th a:hover {
  color: #c7d2fe;
}

/* ===================================================== */

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

.tech-table tbody tr:hover {
  background: #eef2ff;
}

.tech-table td:first-child {
  font-weight: 600;
  background: #f1f5f9;
  width: 22%;
}

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

<div class="table-wrap">
  <table class="tech-table">
    <thead>
      <tr>
        <th>Cecha</th>
        <th>
          <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/" target="_blank" rel="noopener">
            Układ meandrowy (wężownica)
          </a>
        </th>
        <th>
          <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/" target="_blank" rel="noopener">
            Układ ślimaczy (spirala)
          </a>
        </th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Zasada działania</td>
        <td>
          Rury ułożone równolegle, „tam i z powrotem”.
          Zasilanie i powrót znajdują się na przeciwległych końcach pętli.
        </td>
        <td>
          Rury ułożone podwójną spiralą, gdzie zasilanie i powrót
          biegną naprzemiennie obok siebie.
        </td>
      </tr>

      <tr>
        <td>Rozkład temperatury</td>
        <td>
          <strong>Nierównomierny, gradientowy.</strong><br>
          Najcieplej przy zasilaniu, najchłodniej przy powrocie.
          Różnice mogą przekraczać <strong>5–7°C</strong>.
        </td>
        <td>
          <strong>Bardzo równomierny.</strong><br>
          Stała średnia temperatura powierzchni.
          Różnice zwykle <strong>&lt; 2°C</strong>.
        </td>
      </tr>

      <tr>
        <td>Opory hydrauliczne</td>
        <td>
          <strong>Wyższe.</strong><br>
          Liczne ostre zakręty 180° generują lokalne straty ciśnienia.
        </td>
        <td>
          <strong>Znacznie niższe (20–30%).</strong><br>
          Łagodniejsze zakręty 90° i symetryczny układ.
        </td>
      </tr>

      <tr>
        <td>Zastosowanie</td>
        <td>
          Pomieszczenia wąskie i długie (korytarze),
          strefy brzegowe, okolice okien,
          gdzie gradient temperatury jest akceptowalny.
        </td>
        <td>
          <strong>Polecany w ~95% przypadków.</strong><br>
          Salony, sypialnie, pokoje dzienne –
          wszędzie tam, gdzie liczy się jednolity komfort cieplny.
        </td>
      </tr>

      <tr>
        <td>Zużycie rury</td>
        <td>
          Podobne dla tej samej powierzchni i rozstawu.
        </td>
        <td>
          Podobne, czasem nieznacznie mniejsze
          dzięki optymalizacji trasy.
        </td>
      </tr>
    </tbody>
  </table>
</div>




<p class="wp-block-paragraph"><strong>Wniosek praktyczny:</strong>&nbsp;Dla zapewnienia&nbsp;<strong>jednorodnej temperatury powierzchni grzewczej</strong>&nbsp;i minimalizacji oporów hydraulicznych (co pozwala na dłuższe pętle lub cichszą pracę pompy),&nbsp;<strong>układ ślimaczy jest rozwiązaniem zdecydowanie zalecanym i uznawanym za standard w nowoczesnych instalacjach.</strong></p>



<h2 class="wp-block-heading">Aspekt projektu ogrzewania podłogowego: nie tylko pętle.</h2>



<p class="wp-block-paragraph">Omawiając <strong>pętlę grzewczą</strong>, nie można zapomnieć o szerszym kontekście, jakim jest <strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">kompleksowy projekt ogrzewania podłogowego</a></strong>. Samo narysowanie wężownicy na planie to za mało. Profesjonalny projekt powinien być dokumentem zawierającym:</p>



<ol start="1" class="wp-block-list">
<li><strong>Obliczenia strat ciepła</strong>&nbsp;dla każdego pomieszczenia z uwzględnieniem konstrukcji budynku, lokalizacji i przeznaczenia.</li>



<li><strong>Schemat rozdzielaczy</strong>&nbsp;z dokładnym przypisaniem pętli, ich długością, obliczonym przepływem (l/h) i mocą (W).</li>



<li><strong>Obliczenia hydrauliczne</strong>&nbsp;– dobór pompy obiegowej na podstawie sumarycznego przepływu i najniekorzystniejszego spadku ciśnienia w najbardziej oporowej pętli.</li>



<li><strong>Specyfikację materiałową</strong>&nbsp;(typ i średnica rur, model rozdzielacza, izolacja, itp.).</li>



<li><strong>Schemat hydrauliczny źródła ciepła</strong>&nbsp;z zaworem mieszającym, pompami i automatiką.</li>



<li><strong>Instrukcję uruchomieniową</strong>, w tym parametry początkowej regulacji (ustawienia przepływów na zaworach nastawczych rozdzielacza).</li>
</ol>



<p class="wp-block-paragraph"><strong>Inwestycja w taki projekt się opłaca.</strong>&nbsp;Pozwala uniknąć kosztownych błędów: zimnych nóg w salonie, przegrzanych sypialni, wiecznie pracującej głośnej pompy czy zawyżonych rachunków za prąd. Jest to mapa, która prowadzi do celu, jakim jest&nbsp;<strong>energooszczędny dom</strong>&nbsp;o najwyższym komforcie cieplnym. Bez projektu wykonawczego montażysta działa „na oko”, co prawie zawsze prowadzi do niesprawności systemu.</p>



<h2 class="wp-block-heading">Realizacja i regulacja: od projektu do doskonałego działania.</h2>



<p class="wp-block-paragraph">Nawet najlepszy projekt można zepsuć podczas wykonania. Montaż&nbsp;<strong>pętli cieplnej</strong>&nbsp;wymaga precyzji i ścisłego trzymania się założeń projektowych.</p>



<h3 class="wp-block-heading">Kroki montażu kluczowe dla działania pętli.</h3>



<ol start="1" class="wp-block-list">
<li><strong>Izolacja:</strong> Warstwa izolacji termicznej pod rurą jest obowiązkowa. Minimum to 5 cm styropianu <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">EPS100</a> o lambdzie 0,040 W/mK, a lepiej 3-5 cm pianki PIR (lambda 0,022-0,026 W/mK). Jej brak oznacza ogrzewanie podłoża gruntowego lub stropu nad nieogrzewaną piwnicą, czyli straty rzędu 20-30% energii.</li>



<li><strong>Mocowanie rur:</strong>&nbsp;Stabilne, zgodne z planem układu. Należy unikać ostrych zagięć poniżej dopuszczalnego promienia gięcia (zwykle 5x średnica zewnętrznej rury). Rozstaw musi być zachowany w całym polu grzewczym.</li>



<li><strong>Zasada jednej pętli per jedno pomieszczenie/strefa:</strong>&nbsp;Nie łączymy w jednej pętli pomieszczeń o różnym przeznaczeniu (np. salon i sypialnia) lub różnej wymaganej temperaturze (łazienka i przedpokój). Każde pomieszczenie o powierzchni powyżej ~15 m² zazwyczaj wymaga własnej pętli.</li>



<li><strong>Zachowanie ciągłości rury:</strong>&nbsp;Pętla musi być wykonana z jednego odcinka rury, bez jakichkolwiek połączeń (złączek) w wylewce. Wyjątkiem są systemy suchej zabudowy z płytami prefabrykowanymi.</li>
</ol>



<h3 class="wp-block-heading">Równoważenie hydrauliczne – klucz do sukcesu systemu.</h3>



<p class="wp-block-paragraph">To najczęściej pomijany lub niedbale wykonany etap, a bez niego&nbsp;<strong>system z wieloma pętlami nie będzie działał poprawnie</strong>.&nbsp;<strong>Równoważenie</strong>&nbsp;polega na takim ustawieniu przepływu na każdym zaworze nastawczym rozdzielacza, aby każda&nbsp;<strong>pętla grzewcza</strong>&nbsp;otrzymała dokładnie tyle czynnika, ile wynika z jej zapotrzebowania mocy przy projektowym ΔT.</p>



<p class="wp-block-paragraph"><strong>Przykład praktyczny – regulacja:</strong>&nbsp;Mamy rozdzielacz z 4 pętlami zaprojektowanymi dla ΔT=8°C:</p>



<ul class="wp-block-list">
<li><strong>P1 (Salon):</strong>&nbsp;Moc 625 W → Przepływ projektowy: 625/(4,18*8) ≈&nbsp;<strong>18,7 l/h</strong></li>



<li><strong>P2 (Salon):</strong>&nbsp;Moc 625 W → Przepływ projektowy:&nbsp;<strong>18,7 l/h</strong></li>



<li><strong>P3 (Łazienka):</strong>&nbsp;Moc 850 W → Przepływ projektowy: 850/(4,18*8) ≈&nbsp;<strong>25,4 l/h</strong></li>



<li><strong>P4 (Sypialnia):</strong>&nbsp;Moc 450 W → Przepływ projektowy: 450/(4,18*8) ≈&nbsp;<strong>13,5 l/h</strong></li>
</ul>



<p class="wp-block-paragraph">Bez regulacji, najwięcej wody popłynie drogą o najmniejszym oporze (zazwyczaj najkrótszą pętlą – P4 sypialnia), która szybko przegrzeje pomieszczenie. Długie i oporowe pętle salonowe (P1, P2) pozostaną „głodne”, powodując niedogrzanie. Za pomocą przepływomierzy na rozdzielaczu&nbsp;<strong>ustawiamy przepływy na obliczonych wartościach</strong>. Wymaga to czasu, narzędzi (czasem manometrów) i cierpliwości, ale jest to&nbsp;<strong>inwestycja w bezawaryjność, komfort i oszczędność energii na lata</strong>.</p>



<h2 class="wp-block-heading">Nowoczesne trendy i optymalizacja systemu.</h2>



<p class="wp-block-paragraph">Współczesne <strong>systemy grzewcze</strong> coraz częściej łączą <strong>pętle ogrzewania podłogowego</strong> z niskotemperaturowymi źródłami ciepła, takimi jak <strong><a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a></strong>. To idealne połączenie – pompa ciepła osiąga najwyższą sprawność (COP) właśnie przy niskiej temperaturze zasilania (35-40°C), którą zapewnia poprawnie zaprojektowana podłogówka.</p>



<p class="wp-block-paragraph"><strong>Inteligentne sterowanie</strong>&nbsp;pozwala na dalszą optymalizację. Regulatory pogodowe, czujniki temperatury podłogi i algorytmy adaptacyjne sprawiają, że&nbsp;<strong>pętla grzewcza</strong>&nbsp;pracuje tylko wtedy, gdy jest to potrzebne, i z dokładnie taką intensywnością, jaka jest wymagana. W perspektywie lat różnice w kosztach eksploatacji między systemem „ustawionym na oko” a systemem precyzyjnie zaprojektowanym, wyregulowanym i sterowanym algorytmem pogodowym mogą sięgać&nbsp;<strong>15-25% rocznych kosztów ogrzewania</strong>.</p>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1767789603920"><strong class="schema-faq-question"><strong>Jaka jest maksymalna długość pętli grzewczej w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Dla rur Ø16 mm standardem jest 80–100 m. Przekraczanie tej długości powoduje duże opory hydrauliczne, problemy z regulacją i nierównomierne grzanie.</p> </div> <div class="schema-faq-section" id="faq-question-1767789619635"><strong class="schema-faq-question"><strong>Czy jedno pomieszczenie może mieć więcej niż jedną pętlę grzewczą?</strong></strong> <p class="schema-faq-answer">Tak. Przy większych powierzchniach lub małym rozstawie rur pomieszczenie należy podzielić na dwie lub więcej pętli, aby zachować prawidłową długość obiegu.</p> </div> <div class="schema-faq-section" id="faq-question-1767789631402"><strong class="schema-faq-question"><strong>Dlaczego układ ślimaczny jest lepszy od meandra?</strong></strong> <p class="schema-faq-answer">Układ ślimaczny zapewnia równomierny rozkład temperatury podłogi i mniejsze opory hydrauliczne, co przekłada się na stabilniejszą i cichszą pracę systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1767789643258"><strong class="schema-faq-question"><strong>Co się stanie, jeśli pętle nie zostaną wyregulowane na rozdzielaczu?</strong></strong> <p class="schema-faq-answer">Bez równoważenia hydraulicznego krótsze pętle będą przegrzane, a dłuższe niedogrzane. To jedna z najczęstszych przyczyn problemów z komfortem w podłogówce.</p> </div> <div class="schema-faq-section" id="faq-question-1767789655943"><strong class="schema-faq-question"><strong>Czy pętla grzewcza współpracuje dobrze z pompą ciepła?</strong></strong> <p class="schema-faq-answer">Tak, to jedno z najlepszych połączeń. Prawidłowo zaprojektowana pętla grzewcza pozwala pracować pompie ciepła na niskiej temperaturze zasilania, zwiększając jej sprawność i obniżając koszty ogrzewania.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Podsumowując, pętla grzewcza to nie jest zwykła rurka w podłodze.</strong>&nbsp;To precyzyjnie zaprojektowany, zamknięty obieg, który musi być traktowany jako integralna część skomplikowanego organizmu, jakim jest system ogrzewania budynku. Kluczowe parametry –&nbsp;<strong>długość (80-100 m dla Ø16 mm), rozstaw (10-20 cm) i hydrauliczna równowaga</strong>&nbsp;– są ze sobą nierozerwalnie powiązane. Zrozumienie tych zasad, ścisłe trzymanie się reguł projektowych oraz sumienne wykonanie i regulacja to trzy filary, na których opiera się&nbsp;<strong>trwały komfort, cisza i ekonomiczna praca</strong>&nbsp;wodnego ogrzewania podłogowego.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="YETMxPiziX"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">Projekt ogrzewania podłogowego &#8211; do 150 m2</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt ogrzewania podłogowego &#8211; do 150 m2&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/embed/#?secret=SCzDLto1wR#?secret=YETMxPiziX" data-secret="YETMxPiziX" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">Pętla grzewcza.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Sprzęgło hydrauliczne w instalacji ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 08 Dec 2025 19:46:25 +0000</pubDate>
				<category><![CDATA[Automatyka grzewcza]]></category>
		<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Sprzęgło hydrauliczne]]></category>
		<category><![CDATA[bufor ciepła]]></category>
		<category><![CDATA[instalacja co]]></category>
		<category><![CDATA[kocioł kondensacyjny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[pompy obiegowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[separator hydrauliczny]]></category>
		<category><![CDATA[sprzęgło hydrauliczne]]></category>
		<category><![CDATA[układ grzewczy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2909</guid>

					<description><![CDATA[<p>Nowoczesne instalacje grzewcze wymagają dziś nie tylko wydajnych źródeł ciepła, ale przede wszystkim perfekcyjnego zarządzania przepływem i temperaturą. Właśnie dlatego sprzęgło hydrauliczne w instalacji ogrzewania podłogowego odgrywa kluczową rolę w zapewnieniu stabilności, bezpieczeństwa i maksymalnej sprawności całego systemu. W artykule wyjaśniamy, jak działa separator hydrauliczny, kiedy jego montaż jest niezbędny oraz jak wpływa na trwałość kotła, sterowanie strefami i realne oszczędności energii.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">Sprzęgło hydrauliczne w instalacji ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-bg: #ffffff;
    --rk-intro-surface: #f8fafc;
    --rk-intro-dark: #0f172a;
    --rk-intro-slate: #334155;
    --rk-intro-gray: #94a3b8;
    --rk-intro-blue: #0284c7;
    --rk-intro-blue-light: #e0f2fe;
    --rk-intro-green: #10b981;
    --rk-intro-border: #e2e8f0;
}

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

/* Sekcja Hook / Tytuł */
.rk-intro-header {
    background: var(--rk-intro-dark);
    padding: 40px;
    position: relative;
    border-bottom: 4px solid var(--rk-intro-blue);
}

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

.rk-intro-header h2 {
    margin: 0;
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    line-height: 1.3;
    max-width: 800px;
}

.rk-intro-header h2 span {
    color: var(--rk-intro-blue-light);
}

/* Układ główny */
.rk-intro-workspace {
    display: grid;
    grid-template-columns: 1fr 380px;
    background: var(--rk-intro-bg);
}

/* Lewy Panel - Szybka odpowiedź i tekst */
.rk-intro-content {
    padding: 40px;
    border-right: 1px solid var(--rk-intro-border);
    display: flex;
    flex-direction: column;
}

.rk-quick-answer {
    background: #ecfdf5;
    border-left: 4px solid var(--rk-intro-green);
    padding: 20px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 30px;
}

.rk-quick-answer h3 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-intro-green);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-quick-answer p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-intro-dark);
    font-weight: 600;
}

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

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

/* Prawy Panel - Interaktywny Spis Treści (SVG + Tabs) + Long Tail */
.rk-intro-sidebar {
    background: var(--rk-intro-surface);
    display: flex;
    flex-direction: column;
}

.rk-sidebar-title {
    padding: 25px 30px;
    margin: 0;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    border-bottom: 1px solid var(--rk-intro-border);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-toc-nav {
    display: flex;
    flex-direction: column;
    padding: 20px 30px;
    gap: 10px;
}

.rk-toc-btn {
    background: var(--rk-intro-bg);
    border: 1px solid var(--rk-intro-border);
    padding: 15px;
    border-radius: 8px;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-intro-slate);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-toc-btn:hover {
    border-color: var(--rk-intro-gray);
}

.rk-toc-btn.active {
    background: var(--rk-intro-blue-light);
    border-color: var(--rk-intro-blue);
    color: var(--rk-intro-blue-dark);
}

.rk-toc-icon {
    width: 24px;
    height: 24px;
    color: inherit;
    flex-shrink: 0;
}

.rk-toc-content-area {
    padding: 0 30px 20px 30px;
}

.rk-toc-panel {
    display: none;
    background: var(--rk-intro-bg);
    border: 1px dashed var(--rk-intro-border);
    padding: 20px;
    border-radius: 8px;
}

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

.rk-toc-panel p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--rk-intro-slate);
}

/* Sekcja Długiego Ogona (Long-tail keywords) - Przeniesiona do Sidebara */
.rk-long-tail-box {
    margin-top: auto;
    padding: 25px 30px 30px 30px;
    border-top: 1px dashed var(--rk-intro-border);
}

.rk-long-tail-box h4 {
    margin: 0 0 12px 0;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-intro-gray);
    letter-spacing: 0.5px;
}

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

.rk-tag-pill {
    background: var(--rk-intro-bg);
    border: 1px solid var(--rk-intro-border);
    color: var(--rk-intro-slate);
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 20px;
    text-decoration: none;
}

.rk-tag-pill:hover {
    background: var(--rk-intro-blue-light);
    border-color: var(--rk-intro-blue);
    color: var(--rk-intro-blue-dark);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-intro-header { padding: 30px 20px; }
    .rk-intro-header h2 { font-size: 24px; }
    .rk-intro-workspace { grid-template-columns: 1fr; }
    .rk-intro-content { border-right: none; border-bottom: 1px solid var(--rk-intro-border); padding: 30px 20px; }
    .rk-toc-nav { padding: 20px; }
    .rk-toc-content-area { padding: 0 20px 10px 20px; }
    .rk-long-tail-box { padding: 20px; }
}
</style>

<div class="rk-intro-module" id="rk-wstep-sprzeglo">
    <div class="rk-intro-header">
        <span class="rk-intro-badge">Budowa bez ściemy</span>
        <h2>Sprzęgło hydrauliczne w instalacji ogrzewania podłogowego – <span>zbędny wydatek czy technologiczna tarcza?</span></h2>
    </div>

    <div class="rk-intro-workspace">
        
        <div class="rk-intro-content">
            
            <div class="rk-quick-answer">
                <h3>
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Szybka odpowiedź instalatora
                </h3>
                <p>Sprzęgło hydrauliczne to separator oddzielający obieg źródła ciepła od instalacji podłogowej. Jego głównym zadaniem jest wyeliminowanie wzajemnych zakłóceń pracujących pomp (&#8222;walki pomp&#8221;) i zapewnienie optymalnych przepływów masowych, co krytycznie wydłuża żywotność sprężarki w pompie ciepła.</p>
            </div>

            <div class="rk-intro-text">
                <p>Jako inżynier HVAC i twórca portalu Projekt-Ogrzewania.pl, przeanalizowałem ponad tysiąc zrealizowanych projektów kotłowni. Wnioski są jednoznaczne: poprawna aplikacja separatora to nie jest kwestia wygody, lecz <strong>fundament ochrony najdroższych elementów systemu grzewczego</strong>.</p>
                <p>W nowoczesnych, niskotemperaturowych układach wielostrefowych, gdzie łączymy <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">rekuperację z ogrzewaniem podłogowym</a>, kocioł kondensacyjny czy pompa ciepła muszą pracować w warunkach idealnej stabilności hydraulicznej.</p>
                <p>W tym kompleksowym przewodniku odkładamy marketing na bok. Skupimy się na twardej fizyce, normach budowlanych i realnych obliczeniach kosztów.</p>
            </div>
            
        </div>

        <div class="rk-intro-sidebar">
            <h3 class="rk-sidebar-title">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-intro-blue)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line></svg>
                Odkryj interaktywne moduły:
            </h3>
            
            <div class="rk-toc-nav" id="rk-toc-controls">
                <button class="rk-toc-btn active" data-panel="narzedzia">
                    <svg class="rk-toc-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><line x1="4" y1="12" x2="20" y2="12"></line><line x1="12" y1="4" x2="12" y2="20"></line></svg>
                    Kalkulatory inżynierskie
                </button>
                <button class="rk-toc-btn" data-panel="symulacje">
                    <svg class="rk-toc-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                    Symulacje przepływów SVG
                </button>
                <button class="rk-toc-btn" data-panel="bledy">
                    <svg class="rk-toc-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                    Wizualna diagnostyka błędów
                </button>
            </div>

            <div class="rk-toc-content-area">
                <div class="rk-toc-panel active" id="panel-narzedzia">
                    <p>Skorzystasz z gotowego narzędzia do inżynierskiego doboru średnicy sprzęgła (DN) względem mocy źródła ciepła (kW) oraz różnicy temperatur.</p>
                </div>
                <div class="rk-toc-panel" id="panel-symulacje">
                    <p>Zobaczysz na interaktywnych modelach, jak dokładnie zachowuje się woda grzewcza w stanach równowagi i przeciążenia hydraulicznego (cykl defrost).</p>
                </div>
                <div class="rk-toc-panel" id="panel-bledy">
                    <p>Przeanalizujemy konkretne case study inwestycji (180 m²), w którym pozorna oszczędność na separacji doprowadziła do zatarcia sprężarki.</p>
                </div>
            </div>

            <div class="rk-long-tail-box">
                <h4>W tym artykule znajdziesz odpowiedzi na:</h4>
                <div class="rk-tags-wrapper">
                    <a href="#rk-zasada-dzialania" class="rk-tag-pill">Zasada działania sprzęgła</a>
                    <a href="#rk-dobor-sprzegla" class="rk-tag-pill">Dobór średnicy sprzęgła (Kalkulator)</a>
                    <a href="#rk-sprzeglo-vs-bufor" class="rk-tag-pill">Sprzęgło czy bufor ciepła?</a>
                    <a href="#rk-modul-pompa-sprzeglo" class="rk-tag-pill">Pompa ciepła bez sprzęgła</a>
                    <a href="#rk-wplyw-pomp-modul" class="rk-tag-pill">Zjawisko walki pomp (OZC)</a>
                </div>
            </div>

        </div>

    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Sprzęgło hydrauliczne w instalacji ogrzewania podłogowego – zbędny wydatek czy technologiczna tarcza?",
    "description": "Przewodnik inżynierski: Czym jest sprzęgło hydrauliczne? Poznaj szybką odpowiedź eksperta oraz zestaw interaktywnych narzędzi do diagnostyki i projektowania przepływów masowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-wstep",
    "name": "Definicja i Zastosowanie Sprzęgła Hydraulicznego (OZC)",
    "description": "Podstawowe informacje techniczne definiujące rolę separatora hydraulicznego jako elementu zabezpieczającego źródło ciepła przed zakłóceniami ze strony pomp obiegowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "sprzęgło hydrauliczne w instalacji ogrzewania podłogowego",
      "separator hydrauliczny",
      "przepływy masowe podłogówka",
      "ochrona pompy ciepła",
      "walka pomp obiegowych",
      "sprzęgło hydrauliczne a bufor",
      "pompa ciepła bez sprzęgła"
    ],
    "measurementTechnique": "Identyfikacja punktów krytycznych w układach wielostrefowych na podstawie analizy 1000+ zrealizowanych projektów kotłowni (OZC).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozdział obiegu pierwotnego (źródło) od wtórnego (instalacja).",
        "Zabezpieczenie przed uderzeniami hydraulicznymi i wahaniami ciśnienia.",
        "Wydłużenie żywotności sprężarek w pompach ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-przewodnik",
    "name": "Interaktywny Nawigator Artykułu",
    "description": "Moduł nawigacyjny UI wprowadzający czytelnika do zaawansowanych, interaktywnych sekcji artykułu (kalkulatory, wizualizacje SVG, diagnostyka błędów).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tocBtns = document.querySelectorAll('#rk-toc-controls .rk-toc-btn');
    const tocPanels = document.querySelectorAll('.rk-toc-content-area .rk-toc-panel');

    tocBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Natychmiastowy reset przycisków
            tocBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const targetPanel = 'panel-' + this.getAttribute('data-panel');

            // Natychmiastowe przełączenie widoczności paneli
            tocPanels.forEach(panel => {
                if(panel.id === targetPanel) {
                    panel.classList.add('active');
                } else {
                    panel.classList.remove('active');
                }
            });
        });
    });
});
</script>



<style>
:root {
    --rk-anat-bg: #ffffff;
    --rk-anat-surface: #f8fafc;
    --rk-anat-dark: #0f172a;
    --rk-anat-slate: #334155;
    --rk-anat-gray: #94a3b8;
    --rk-anat-blue: #0ea5e9;
    --rk-anat-copper: #d97706;
    --rk-anat-copper-light: #fef3c7;
    --rk-anat-border: #e2e8f0;
}

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

/* Nagłówek */
.rk-anat-header {
    padding: 40px 30px;
    background: var(--rk-anat-dark);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-anat-copper);
}

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

.rk-anat-header p {
    font-size: 16px;
    color: var(--rk-anat-gray);
    max-width: 750px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Układ obszaru roboczego */
.rk-anat-workspace {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    background: var(--rk-anat-surface);
}

/* Lewy Panel - Grafika */
.rk-anat-image-panel {
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-right: 1px solid var(--rk-anat-border);
}

.rk-anat-image-panel img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
}

.rk-anat-image-panel img:hover {
    transform: scale(1.02);
}

/* Prawy Panel - Interaktywny Akordeon */
.rk-anat-accordion-panel {
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-anat-item {
    background: var(--rk-anat-bg);
    border: 1px solid var(--rk-anat-border);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.rk-anat-item:hover {
    border-color: var(--rk-anat-copper);
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.08);
}

.rk-anat-item.active {
    border-color: var(--rk-anat-copper);
    box-shadow: 0 8px 20px rgba(217, 119, 6, 0.12);
}

.rk-anat-btn {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    cursor: pointer;
    transition: background 0.3s;
}

.rk-anat-item.active .rk-anat-btn {
    background: var(--rk-anat-copper-light);
}

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

.rk-anat-item.active .rk-anat-icon {
    background: var(--rk-anat-copper);
    color: #ffffff;
}

.rk-anat-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-anat-dark);
    flex-grow: 1;
}

.rk-anat-chevron {
    color: var(--rk-anat-gray);
    transition: transform 0.4s ease;
}

.rk-anat-item.active .rk-anat-chevron {
    transform: rotate(180deg);
    color: var(--rk-anat-copper);
}

/* Treść Akordeonu */
.rk-anat-content {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.3s ease;
}

.rk-anat-item.active .rk-anat-content {
    max-height: 400px;
    opacity: 1;
}

.rk-anat-desc {
    padding: 0 20px 20px 66px;
}

.rk-anat-desc p {
    margin: 0 0 10px 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-anat-slate);
}

.rk-anat-desc ul {
    margin: 0;
    padding-left: 18px;
    font-size: 14px;
    color: var(--rk-anat-slate);
}

.rk-anat-desc li {
    margin-bottom: 5px;
}

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-anat-header { padding: 30px 20px; }
    .rk-anat-workspace { grid-template-columns: 1fr; }
    .rk-anat-image-panel { border-right: none; border-bottom: 1px solid var(--rk-anat-border); padding: 20px; }
    .rk-anat-accordion-panel { padding: 20px; }
    .rk-anat-desc { padding: 0 20px 20px 20px; }
}
</style>

<div class="rk-anatomy-module" id="rk-budowa-sprzegla">
    <div class="rk-anat-header">
        <h2>Budowa sprzęgła hydraulicznego – anatomia urządzenia</h2>
        <p>Precyzyjna konstrukcja nie jest dziełem przypadku. Każdy element separatora pełni kluczową funkcję w stabilizacji, ochronie i oczyszczaniu Twojej instalacji grzewczej.</p>
    </div>

    <div class="rk-anat-workspace">
        
        <div class="rk-anat-image-panel">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Budowa-sprzegla-hydraulicznego-schemat.webp" alt="Szczegółowy schemat i budowa sprzęgła hydraulicznego" loading="lazy" width="800" height="800">
        </div>

        <div class="rk-anat-accordion-panel" id="rk-anat-accordion">
            
            <div class="rk-anat-item active">
                <button class="rk-anat-btn" aria-expanded="true">
                    <div class="rk-anat-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    </div>
                    <span class="rk-anat-title">Odpowietrznik automatyczny</span>
                    <svg class="rk-anat-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-anat-content">
                    <div class="rk-anat-desc">
                        <p>Zlokalizowany w najwyższym punkcie sprzęgła. Dzięki spadkowi prędkości przepływu wewnątrz korpusu, mikropęcherzyki powietrza swobodnie unoszą się ku górze.</p>
                        <ul>
                            <li><strong>Funkcja:</strong> Samoczynnie usuwa nagromadzone powietrze ze zładu.</li>
                            <li><strong>Ochrona:</strong> Zapobiega zjawisku kawitacji na wirnikach pomp obiegowych.</li>
                        </ul>
                    </div>
                </div>
            </div>

            <div class="rk-anat-item">
                <button class="rk-anat-btn" aria-expanded="false">
                    <div class="rk-anat-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                    </div>
                    <span class="rk-anat-title">Tuleja pomiarowa (Czujnik)</span>
                    <svg class="rk-anat-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-anat-content">
                    <div class="rk-anat-desc">
                        <p>Mosiężna tuleja zanurzeniowa pozwalająca na montaż czujnika temperatury (NTC/PT) dedykowanego do sterownika głównego układu (np. pompy ciepła).</p>
                        <ul>
                            <li><strong>Funkcja:</strong> Precyzyjny odczyt temperatury zasilania układu wtórnego.</li>
                            <li><strong>Kluczowe:</strong> Umożliwia automatyce prawidłowe zarządzanie krzywą grzewczą.</li>
                        </ul>
                    </div>
                </div>
            </div>

            <div class="rk-anat-item">
                <button class="rk-anat-btn" aria-expanded="false">
                    <div class="rk-anat-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><line x1="4" y1="12" x2="20" y2="12"></line></svg>
                    </div>
                    <span class="rk-anat-title">Komora separacji</span>
                    <svg class="rk-anat-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-anat-content">
                    <div class="rk-anat-desc">
                        <p>Rdzeń urządzenia. Gwałtowne poszerzenie przekroju względem przyłączy skutkuje niemal całkowitym zanikiem prędkości przepływu wody.</p>
                        <ul>
                            <li><strong>Funkcja:</strong> Tworzy strefę &#8222;zerowego ciśnienia&#8221; oddzielając obieg pierwotny od wtórnego.</li>
                            <li><strong>Efekt:</strong> Zapewnia absolutny brak wzajemnego wpływu pomp na siebie.</li>
                        </ul>
                    </div>
                </div>
            </div>

            <div class="rk-anat-item">
                <button class="rk-anat-btn" aria-expanded="false">
                    <div class="rk-anat-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v10"></path><path d="M12 22a4 4 0 0 0 4-4H8a4 4 0 0 0 4 4z"></path></svg>
                    </div>
                    <span class="rk-anat-title">Zawór spustowy z magnesem</span>
                    <svg class="rk-anat-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </button>
                <div class="rk-anat-content">
                    <div class="rk-anat-desc">
                        <p>Osadnik zlokalizowany w najniższym punkcie urządzenia. Wyposażony w silny neodymowy rdzeń magnetyczny.</p>
                        <ul>
                            <li><strong>Funkcja:</strong> Sedymentacja stałych zanieczyszczeń (piasek, szlam).</li>
                            <li><strong>Ochrona:</strong> Wychwytuje rdzę i opiłki metalu, chroniąc delikatne zawory trójdrogowe i rotametry.</li>
                        </ul>
                    </div>
                </div>
            </div>

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-budowa",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Budowa sprzęgła hydraulicznego – anatomia i komponenty",
    "description": "Szczegółowe omówienie budowy separatora hydraulicznego. Analiza funkcji odpowietrznika, tulei pomiarowej, komory separacji i zaworu magnetycznego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Budowa-sprzegla-hydraulicznego-schemat.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-budowa",
    "name": "Karta Techniczna: Komponenty Sprzęgła Hydraulicznego",
    "description": "Wykaz i specyfikacja funkcji poszczególnych elementów konstrukcyjnych sprzęgła hydraulicznego stosowanego w instalacjach grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "budowa sprzęgła hydraulicznego",
      "odpowietrznik automatyczny",
      "separator zanieczyszczeń",
      "zawór magnetyczny podłogówka",
      "tuleja czujnika temperatury"
    ],
    "measurementTechnique": "Identyfikacja i klasyfikacja kluczowych komponentów odpowiadających za separację faz (powietrze/woda/szlam) oraz równoważenie ciśnień.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Odpowietrznik automatyczny: górna strefa odgazowywania zładu.",
        "Komora separacyjna: strefa spowolnienia przepływu i punktu zerowego ciśnienia.",
        "Zawór magnetyczny: dolna strefa sedymentacji wyłapująca opiłki ferromagnetyczne."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-anatomia",
    "name": "Interaktywny Schemat Anatomii Sprzęgła",
    "description": "Interaktywna eksploracja budowy sprzęgła hydraulicznego bazująca na szczegółowym schemacie technicznym z podziałem na kluczowe sekcje.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const anatItems = document.querySelectorAll('#rk-anat-accordion .rk-anat-item');

    anatItems.forEach(item => {
        const btn = item.querySelector('.rk-anat-btn');
        
        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zwiń wszystkie sekcje
            anatItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-anat-btn').setAttribute('aria-expanded', 'false');
            });

            // Rozwiń klikniętą, jeśli była zwinięta
            if (!isActive) {
                item.classList.add('active');
                btn.setAttribute('aria-expanded', 'true');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-info-bg: #ffffff;
    --rk-info-surface: #f8fafc;
    --rk-info-dark: #0f172a;
    --rk-info-slate: #334155;
    --rk-info-gray: #94a3b8;
    --rk-info-blue: #0ea5e9;
    --rk-info-blue-dark: #0284c7;
    --rk-info-red: #ef4444;
    --rk-info-border: #e2e8f0;
}

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

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

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

.rk-info-header p {
    font-size: 16px;
    color: var(--rk-info-gray);
    max-width: 750px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Ekspozycja Infografiki */
.rk-info-image-box {
    padding: 30px;
    background: var(--rk-info-surface);
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid var(--rk-info-border);
}

.rk-info-image-box img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    transition: transform 0.3s ease;
}

.rk-info-image-box img:hover {
    transform: scale(1.01);
}

/* Interaktywny Dekoder (Panel nawigacyjny) */
.rk-info-nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: var(--rk-info-bg);
    border-bottom: 1px solid var(--rk-info-border);
}

.rk-info-btn {
    padding: 25px 20px;
    background: transparent;
    border: none;
    border-right: 1px solid var(--rk-info-border);
    border-bottom: 3px solid transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
}

.rk-info-btn:last-child {
    border-right: none;
}

.rk-info-btn:hover {
    background: var(--rk-info-surface);
}

.rk-info-btn.active {
    background: var(--rk-info-surface);
    border-bottom-color: var(--rk-info-blue);
}

.rk-info-btn-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--rk-info-slate);
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
    border-radius: 50%;
    transition: background 0.3s, transform 0.3s;
}

.rk-info-btn.active .rk-info-btn-num {
    background: var(--rk-info-blue);
    transform: scale(1.1);
}

.rk-info-btn-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-info-slate);
    line-height: 1.4;
}

.rk-info-btn.active .rk-info-btn-title {
    color: var(--rk-info-dark);
}

.rk-info-math {
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-info-dark);
    background: #e2e8f0;
    padding: 4px 10px;
    border-radius: 6px;
    margin-top: 5px;
}

.rk-info-btn.active .rk-info-math {
    background: #e0f2fe;
    color: var(--rk-info-blue-dark);
}

/* Panel Treści */
.rk-info-content-area {
    padding: 40px;
    background: var(--rk-info-surface);
}

.rk-info-card {
    display: none;
    animation: slideUpFade 0.4s ease forwards;
}

.rk-info-card.active {
    display: block;
}

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

.rk-info-card-inner {
    background: var(--rk-info-bg);
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-info-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

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

.rk-info-card p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-info-slate);
    margin: 0 0 15px 0;
}

.rk-info-list {
    margin: 20px 0 0 0;
    padding: 0;
    list-style: none;
}

.rk-info-list li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 12px;
    font-size: 15px;
    color: var(--rk-info-dark);
    font-weight: 600;
    line-height: 1.5;
}

.rk-info-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--rk-info-blue);
    font-weight: 900;
    font-size: 18px;
}

/* Responsywność - Układ Pionowy (Mobile) */
@media (max-width: 768px) {
    .rk-info-header { padding: 30px 20px; }
    .rk-info-image-box { padding: 20px 15px; }
    
    .rk-info-nav { 
        grid-template-columns: 1fr; 
        border-bottom: none; 
    }
    
    .rk-info-btn { 
        border-right: none; 
        border-bottom: 1px solid var(--rk-info-border); 
        border-left: 4px solid transparent; 
        flex-direction: row; 
        justify-content: flex-start; 
        padding: 15px 20px; 
        text-align: left;
    }
    
    .rk-info-btn.active { 
        border-bottom-color: var(--rk-info-border); 
        border-left-color: var(--rk-info-blue); 
    }

    .rk-info-btn > div:last-child {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .rk-info-math { margin-top: 0; }
    
    .rk-info-content-area { padding: 20px; }
    .rk-info-card-inner { padding: 20px; }
}
</style>

<div class="rk-info-module" id="rk-zasada-dzialania-sprzegla">
    <div class="rk-info-header">
        <h2>Zasada działania sprzęgła hydraulicznego</h2>
        <p>Szczegółowa analiza trzech podstawowych trybów pracy separatora w instalacji centralnego ogrzewania. Zobacz, jak rozkładają się przepływy masowe.</p>
    </div>

    <div class="rk-info-image-box">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Zasada-dzialania-sprzegla-hydraulicznego.webp" alt="Infografika: Zasada działania sprzęgła hydraulicznego, trzy tryby pracy, zabezpieczenie instalacji i źródła ciepła" loading="lazy" width="800" height="800">
    </div>

    <div class="rk-info-nav" id="rk-info-controls">
        <button class="rk-info-btn active" data-target="tryb1">
            <div class="rk-info-btn-num">1</div>
            <div>
                <div class="rk-info-btn-title">Równowaga przepływów</div>
                <div class="rk-info-math">Q_źródła = Q_instalacji</div>
            </div>
        </button>
        <button class="rk-info-btn" data-target="tryb2">
            <div class="rk-info-btn-num">2</div>
            <div>
                <div class="rk-info-btn-title">Zabezpieczenie instalacji</div>
                <div class="rk-info-math">Q_źródła > Q_instalacji</div>
            </div>
        </button>
        <button class="rk-info-btn" data-target="tryb3">
            <div class="rk-info-btn-num">3</div>
            <div>
                <div class="rk-info-btn-title">Zabezpieczenie źródła</div>
                <div class="rk-info-math">Q_instalacji > Q_źródła</div>
            </div>
        </button>
    </div>

    <div class="rk-info-content-area">
        
        <div class="rk-info-card active" data-content="tryb1">
            <div class="rk-info-card-inner">
                <h3>Stan idealny (Równowaga masowa)</h3>
                <p>Zjawisko występuje, gdy ilość czynnika tłoczonego przez pompę kotłową jest równa sumarycznemu przepływowi generowanemu przez pompy obiegowe poszczególnych stref grzewczych.</p>
                <p>W tym trybie woda przepływa przez sprzęgło w linii prostej (poziomo). Wewnątrz komory nie dochodzi do widocznego mieszania strumieni gorących i ochłodzonych. To stan pożądany, gwarantujący maksymalną wydajność.</p>
                <ul class="rk-info-list">
                    <li>Całkowity brak zakłóceń pomiędzy pracującymi pompami.</li>
                    <li>Utrzymanie nominalnej, stabilnej temperatury w obiegach.</li>
                    <li>Najwyższa sprawność energetyczna układu grzewczego.</li>
                </ul>
            </div>
        </div>

        <div class="rk-info-card" data-content="tryb2">
            <div class="rk-info-card-inner">
                <h3>Nadmiar ze źródła (Zabezpieczenie instalacji)</h3>
                <p>Ten tryb aktywuje się, gdy zawory strefowe (np. siłowniki podłogówki) zaczynają się zamykać po dogrzaniu pomieszczeń. Instalacja pobiera mniej ciepła, niż kocioł aktualnie produkuje.</p>
                <p>Zamiast tłoczyć czynnik pod wysokim ciśnieniem na siłę w przymknięte rury, sprzęgło kieruje nadmiar gorącej wody prosto w dół korpusu. Miesza się ona z chłodniejszym powrotem z instalacji i wraca bezpiecznie do źródła.</p>
                <ul class="rk-info-list">
                    <li>Eliminacja uderzeń hydraulicznych i szumów w zaworach.</li>
                    <li>Spokojna i cicha praca pozostałych otwartych obiegów.</li>
                    <li>Ochrona armatury przed przeciążeniem ciśnieniowym.</li>
                </ul>
            </div>
        </div>

        <div class="rk-info-card" data-content="tryb3">
            <div class="rk-info-card-inner">
                <h3>Nadmiar z instalacji (Zabezpieczenie źródła)</h3>
                <p>Sytuacja najczęściej spotykana podczas rozruchu zimnego systemu lub gdy wszystkie strefy grzewcze nagle zażądają ciepła. Instalacja próbuje &#8222;zassać&#8221; więcej wody, niż źródło jest w stanie dostarczyć.</p>
                <p>Sprzęgło zapobiega groźnemu wychłodzeniu wymiennika kotła. Zwiększony popyt instalacji jest rekompensowany poprzez zassanie własnej wody powrotnej w górę korpusu. Dochodzi do nieznacznego obniżenia temperatury zasilania, ale kocioł pracuje bez przeciążeń.</p>
                <ul class="rk-info-list">
                    <li>Zapewnienie minimalnego wymaganego przepływu przez parownik.</li>
                    <li>Absolutna ochrona kotła stałopalnego lub pompy ciepła.</li>
                    <li>Płynny start instalacji bez błędów sterownika.</li>
                </ul>
            </div>
        </div>

    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-zasada-dzialania-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Zasada działania sprzęgła hydraulicznego – 3 tryby pracy (Infografika)",
    "description": "Interaktywna analiza zasady działania sprzęgła hydraulicznego w instalacji centralnego ogrzewania. Zobacz bilans przepływów pomiędzy źródłem a instalacją.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Zasada-dzialania-sprzegla-hydraulicznego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-tryby-pracy-info",
    "name": "Analiza Trybów Pracy Separatora Hydraulicznego",
    "description": "Fizyczne modele dystrybucji ciśnień i mieszania się strumieni wody grzewczej w sprzęgle hydraulicznym w warunkach zmiennego obciążenia układu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zasada działania sprzęgła",
      "równowaga przepływów Q",
      "zabezpieczenie instalacji CO",
      "zabezpieczenie źródła ciepła",
      "schemat sprzęgła hydraulicznego"
    ],
    "measurementTechnique": "Analiza wizualna i wektorowa dystrybucji ciśnień i przepływów masowych pomiędzy obiegiem kotłowym a instalacyjnym.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Tryb 1: Przepływ poziomy, brak mieszania (zapotrzebowanie instalacji = podaż źródła).",
        "Tryb 2: Przepływ pionowy w dół, zawracanie gorącego zładu na powrót.",
        "Tryb 3: Przepływ pionowy w górę, dobieranie zimnego czynnika powrotnego w celu ochrony wymiennika."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-dekoder",
    "name": "Interaktywny Dekoder Infografiki Hydraulicznej",
    "description": "Narzędzie edukacyjne powiązane z grafiką schematyczną, pozwalające inwestorom na nawigację i zrozumienie zjawisk fizycznych wewnątrz separatora sprzęgła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const navBtns = document.querySelectorAll('#rk-info-controls .rk-info-btn');
    const contentCards = document.querySelectorAll('.rk-info-content-area .rk-info-card');

    navBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Pobranie celu
            const target = this.getAttribute('data-target');

            // Reset nawigacji
            navBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Reset i pokazanie odpowiedniej karty z treścią
            contentCards.forEach(card => {
                if(card.getAttribute('data-content') === target) {
                    card.classList.add('active');
                } else {
                    card.classList.remove('active');
                }
            });
        });
    });
});
</script>



<style>
:root {
    --rk-calc-bg: #ffffff;
    --rk-calc-surface: #f8fafc;
    --rk-calc-dark: #0f172a;
    --rk-calc-slate: #334155;
    --rk-calc-gray: #94a3b8;
    --rk-calc-blue: #0ea5e9;
    --rk-calc-blue-dark: #0284c7;
    --rk-calc-border: #e2e8f0;
    --rk-calc-accent: #f59e0b;
    --rk-calc-green: #10b981;
}

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

/* Sekcja Tytułowa */
.rk-calc-header {
    padding: 40px;
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-calc-blue);
}

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

.rk-calc-header p {
    font-size: 16px;
    color: var(--rk-calc-gray);
    max-width: 750px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Układ Kalkulatora */
.rk-calc-workspace {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    background: var(--rk-calc-surface);
}

/* Lewy Panel - Wprowadzanie Danych */
.rk-calc-inputs {
    padding: 40px;
    background: var(--rk-calc-bg);
    border-right: 1px solid var(--rk-calc-border);
}

.rk-calc-group {
    margin-bottom: 25px;
}

.rk-calc-group label {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin-bottom: 10px;
}

.rk-calc-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.rk-calc-input {
    width: 100%;
    padding: 15px 20px;
    font-size: 18px;
    font-weight: 700;
    color: var(--rk-calc-dark);
    background: var(--rk-calc-surface);
    border: 2px solid var(--rk-calc-border);
    border-radius: 12px;
    outline: none;
    transition: all 0.3s ease;
}

.rk-calc-input:focus {
    border-color: var(--rk-calc-blue);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.1);
}

.rk-calc-unit {
    position: absolute;
    right: 20px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-calc-gray);
    pointer-events: none;
}

/* Radio Buttons dla Źródła Ciepła */
.rk-source-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-radio-label {
    position: relative;
    cursor: pointer;
}

.rk-radio-input {
    position: absolute;
    opacity: 0;
}

.rk-radio-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 15px;
    background: var(--rk-calc-surface);
    border: 2px solid var(--rk-calc-border);
    border-radius: 12px;
    text-align: center;
    transition: all 0.3s ease;
}

.rk-radio-card span {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-calc-slate);
}

.rk-radio-card small {
    font-size: 12px;
    color: var(--rk-calc-gray);
    font-weight: 600;
}

.rk-radio-input:checked + .rk-radio-card {
    background: #f0f9ff;
    border-color: var(--rk-calc-blue);
}

.rk-radio-input:checked + .rk-radio-card span {
    color: var(--rk-calc-blue-dark);
}

/* Prawy Panel - Wyniki */
.rk-calc-results {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-result-card {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0,0,0,0.03);
    position: relative;
    overflow: hidden;
}

.rk-result-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: var(--rk-calc-green);
}

.rk-result-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-calc-gray);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.rk-result-value {
    font-size: 48px;
    font-weight: 900;
    color: var(--rk-calc-dark);
    margin-bottom: 5px;
    line-height: 1;
}

.rk-result-flow {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-calc-slate);
    margin-bottom: 25px;
}

/* Algorytm tekstowy */
.rk-algorytm-box {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px dashed var(--rk-calc-border);
    text-align: left;
}

.rk-algorytm-box h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-calc-dark);
    margin: 0 0 15px 0;
}

.rk-algorytm-step {
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
}

.rk-algorytm-step-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: var(--rk-calc-blue-dark);
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    border-radius: 50%;
    flex-shrink: 0;
}

.rk-algorytm-step p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-calc-slate);
    line-height: 1.6;
}

.rk-algorytm-step strong {
    color: var(--rk-calc-dark);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-calc-header { padding: 30px 20px; }
    .rk-calc-workspace { grid-template-columns: 1fr; }
    .rk-calc-inputs { border-right: none; border-bottom: 1px solid var(--rk-calc-border); padding: 30px 20px; }
    .rk-calc-results { padding: 30px 20px; }
    .rk-result-card { padding: 25px 20px; }
    .rk-result-value { font-size: 40px; }
}
</style>

<div class="rk-calc-module" id="rk-kalkulator-dn">
    <div class="rk-calc-header">
        <h2>Jak dobrać średnicę sprzęgła hydraulicznego do mocy instalacji?</h2>
        <p>Dobór opiera się na prędkości przepływu w koronie urządzenia (maks. 0,1 &#8211; 0,2 m/s). Wprowadź moc projektową swojej instalacji, a kalkulator wyznaczy optymalną średnicę nominalną (DN).</p>
    </div>

    <div class="rk-calc-workspace">
        <div class="rk-calc-inputs">
            
            <div class="rk-calc-group">
                <label for="rk-power-input">Całkowita moc instalacji (Q)</label>
                <div class="rk-calc-input-wrapper">
                    <input type="number" id="rk-power-input" class="rk-calc-input" value="20" min="1" max="150" step="1">
                    <span class="rk-calc-unit">kW</span>
                </div>
            </div>

            <div class="rk-calc-group">
                <label>Źródło ciepła (określa Delta T)</label>
                <div class="rk-source-grid">
                    <label class="rk-radio-label">
                        <input type="radio" name="rk-source" value="5" class="rk-radio-input" checked>
                        <div class="rk-radio-card">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                            <span>Pompa ciepła</span>
                            <small>Delta T = 5K</small>
                        </div>
                    </label>
                    <label class="rk-radio-label">
                        <input type="radio" name="rk-source" value="20" class="rk-radio-input">
                        <div class="rk-radio-card">
                            <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="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"></path></svg>
                            <span>Kocioł gazowy</span>
                            <small>Delta T = 20K</small>
                        </div>
                    </label>
                </div>
            </div>
            
        </div>

        <div class="rk-calc-results">
            <div class="rk-result-card">
                <div class="rk-result-title">Rekomendowana Średnica</div>
                <div class="rk-result-value" id="rk-result-dn">DN 40</div>
                <div class="rk-result-flow" id="rk-result-flow">Przepływ: 3.44 m³/h</div>
                
                <div class="rk-algorytm-box">
                    <h4>Algorytm doboru (Krok po kroku):</h4>
                    <div class="rk-algorytm-step">
                        <div class="rk-algorytm-step-num">1</div>
                        <p><strong>Zsumuj zapotrzebowanie:</strong> Wyznaczyliśmy moc Q na poziomie <span id="alg-q">20</span> kW.</p>
                    </div>
                    <div class="rk-algorytm-step">
                        <div class="rk-algorytm-step-num">2</div>
                        <p><strong>Wyznacz Delta T:</strong> Dla wybranego źródła różnica temperatur wynosi <span id="alg-dt">5</span>K.</p>
                    </div>
                    <div class="rk-algorytm-step">
                        <div class="rk-algorytm-step-num">3</div>
                        <p><strong>Oblicz przepływ (m):</strong> Wzór: m = Q / (1,163 * Delta T). Wynik to <span id="alg-m">3.44</span> m³/h.</p>
                    </div>
                    <div class="rk-algorytm-step">
                        <div class="rk-algorytm-step-num">4</div>
                        <p><strong>Wybierz DN:</strong> Dopasowanie przekroju, aby prędkość wody nie przekroczyła 0,1 m/s.</p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jak dobrać średnicę sprzęgła hydraulicznego do mocy instalacji?",
    "description": "Interaktywny kalkulator i algorytm doboru średnicy sprzęgła hydraulicznego. Obliczanie przepływu masowego dla pompy ciepła i kotła gazowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-kalkulator",
    "name": "Dane Obliczeniowe: Parametry Przepływowe Sprzęgieł Hydraulicznych",
    "description": "Zestawienie współczynników pojemności cieplnej wody, różnic temperatur Delta T dla pomp ciepła i kotłów, oraz wytyczne prędkości przepływu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator sprzęgła hydraulicznego",
      "dobór średnicy sprzęgła",
      "wzór na przepływ wody m3/h",
      "obliczenia OZC sprzęgło",
      "delta T pompy ciepła"
    ],
    "measurementTechnique": "Przekształcenie wzoru fizycznego m = Q / (cp * Delta T), gdzie stała cp = 1.163 kWh/(m3*K), z zachowaniem restrykcji prędkości <0.1 m/s.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wyznaczenie przepływu masowego w obwodzie pierwotnym.",
        "Matrycowanie wyników m3/h do znormalizowanych średnic DN20, DN25, DN32, DN40."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-kalkulator",
    "name": "Kalkulator Doboru Sprzęgła Hydraulicznego (DN)",
    "description": "Interaktywne narzędzie inżynierskie online służące do szybkiego przeliczania zapotrzebowania cieplnego budynku na przepływ objętościowy i średnicę separatora.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const inputPower = document.getElementById('rk-power-input');
    const radioSources = document.querySelectorAll('.rk-radio-input');
    
    // Pola wyników
    const resultDn = document.getElementById('rk-result-dn');
    const resultFlow = document.getElementById('rk-result-flow');
    const algQ = document.getElementById('alg-q');
    const algDt = document.getElementById('alg-dt');
    const algM = document.getElementById('alg-m');

    // Stała ciepła właściwego wody
    const cp = 1.163;

    function calculateDN() {
        let q = parseFloat(inputPower.value);
        if(isNaN(q) || q <= 0) q = 0;

        let deltaT = 5; // Domyślnie Pompa ciepła
        radioSources.forEach(radio => {
            if(radio.checked) {
                deltaT = parseInt(radio.value);
            }
        });

        // Obliczenie przepływu m = Q / (cp * dT)
        let flow = 0;
        if(q > 0) {
            flow = q / (cp * deltaT);
        }
        
        // Zaokrąglenie do 2 miejsc
        flow = Math.round(flow * 100) / 100;

        // Dobór DN na podstawie orientacyjnych progów dla prędkości ~0.1 m/s
        let dn = "DN 20";
        if(flow > 0.65 && flow <= 1.5) {
            dn = "DN 25";
        } else if (flow > 1.5 && flow <= 2.2) {
            dn = "DN 32";
        } else if (flow > 2.2 && flow <= 3.5) {
            dn = "DN 40";
        } else if (flow > 3.5) {
            dn = "DN 50+";
        }

        if(q === 0) {
            dn = "-";
            flow = 0;
        }

        // Aktualizacja UI
        resultDn.textContent = dn;
        resultFlow.textContent = `Przepływ: ${flow.toFixed(2)} m³/h`;
        
        // Aktualizacja algorytmu krok po kroku
        algQ.textContent = q;
        algDt.textContent = deltaT;
        algM.textContent = flow.toFixed(2);
    }

    // Nasłuchiwacze zdarzeń
    inputPower.addEventListener('input', calculateDN);
    radioSources.forEach(radio => {
        radio.addEventListener('change', calculateDN);
    });

    // Inicjalne przeliczenie
    calculateDN();
});
</script>



<style>
:root {
    --rk-hp-bg: #ffffff;
    --rk-hp-surface: #f8fafc;
    --rk-hp-dark: #0f172a;
    --rk-hp-slate: #334155;
    --rk-hp-gray: #94a3b8;
    --rk-hp-blue: #0ea5e9;
    --rk-hp-blue-dark: #0284c7;
    --rk-hp-red: #ef4444;
    --rk-hp-green: #10b981;
    --rk-hp-border: #e2e8f0;
}

.rk-heatpump-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-hp-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(14, 165, 233, 0.12);
    border: 1px solid var(--rk-hp-border);
    overflow: hidden;
}

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

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

.rk-hp-header p {
    font-size: 16px;
    color: var(--rk-hp-gray);
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Sekcja Sterowania (Przełącznik Suwakowy) */
.rk-hp-controls {
    padding: 30px 40px;
    background: var(--rk-hp-surface);
    border-bottom: 1px solid var(--rk-hp-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.rk-hp-controls h3 {
    margin: 0;
    font-size: 18px;
    color: var(--rk-hp-dark);
    font-weight: 800;
}

.rk-toggle-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
    background: var(--rk-hp-bg);
    padding: 10px 20px;
    border-radius: 50px;
    border: 1px solid var(--rk-hp-border);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.rk-toggle-lbl {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-hp-gray);
    cursor: pointer;
    transition: color 0.3s;
}

.rk-toggle-lbl.active-heat { color: var(--rk-hp-green); }
.rk-toggle-lbl.active-defrost { color: var(--rk-hp-blue-dark); }

.rk-hp-switch {
    position: relative;
    width: 64px;
    height: 32px;
}

.rk-hp-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.rk-hp-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--rk-hp-green);
    transition: .4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 32px;
}

.rk-hp-slider:before {
    position: absolute;
    content: "";
    height: 24px;
    width: 24px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

input:checked + .rk-hp-slider {
    background-color: var(--rk-hp-blue-dark);
}

input:checked + .rk-hp-slider:before {
    transform: translateX(32px);
}

/* Obszar Symulacji */
.rk-hp-workspace {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

.rk-hp-visual {
    padding: 40px;
    background: var(--rk-hp-bg);
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid var(--rk-hp-border);
}

.rk-hp-svg {
    width: 100%;
    max-width: 600px;
    height: auto;
}

/* Animacje SVG */
@keyframes fanSpin {
    100% { transform: rotate(360deg); }
}
@keyframes flowDash {
    to { stroke-dashoffset: -20; }
}
@keyframes pulseGlow {
    0% { filter: drop-shadow(0 0 2px rgba(14, 165, 233, 0.4)); }
    50% { filter: drop-shadow(0 0 10px rgba(14, 165, 233, 0.8)); }
    100% { filter: drop-shadow(0 0 2px rgba(14, 165, 233, 0.4)); }
}

.anim-fan {
    transform-origin: 20px 50px;
    animation: fanSpin 2s linear infinite;
}

/* Stany Wizualizacji */
.state-heating .flow-primary { stroke: var(--rk-hp-green); stroke-dasharray: 6 4; animation: flowDash 0.8s linear infinite; opacity: 1; }
.state-heating .flow-secondary { stroke: var(--rk-hp-green); stroke-dasharray: 6 4; animation: flowDash 1s linear infinite; opacity: 1; }
.state-heating .valve-indicator { fill: var(--rk-hp-green); }
.state-heating .sep-flow { opacity: 0; }

.state-defrost .flow-primary { stroke: var(--rk-hp-blue); stroke-dasharray: 6 4; animation: flowDash 0.5s linear infinite; opacity: 1; }
.state-defrost .flow-secondary { opacity: 0.1; stroke: var(--rk-hp-gray); }
.state-defrost .valve-indicator { fill: var(--rk-hp-red); }
.state-defrost .sep-flow { stroke: var(--rk-hp-blue); stroke-dasharray: 6 4; animation: flowDash 0.6s linear infinite; opacity: 1; }
.state-defrost .sep-core { animation: pulseGlow 2s infinite; fill: #e0f2fe; }

/* Panel Tekstowy */
.rk-hp-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    padding: 40px;
    background: var(--rk-hp-surface);
}

.rk-hp-card {
    background: var(--rk-hp-bg);
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-hp-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

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

.rk-hp-card p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-hp-slate);
    margin: 0 0 15px 0;
}

.rk-hp-card p:last-child {
    margin-bottom: 0;
}

.rk-hp-card strong {
    color: var(--rk-hp-dark);
}

.rk-hp-card a {
    color: var(--rk-hp-blue-dark);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.stat-box {
    background: #fef2f2;
    border-left: 4px solid var(--rk-hp-red);
    padding: 15px;
    border-radius: 0 8px 8px 0;
    margin-top: 15px;
}

.stat-box p {
    color: var(--rk-hp-red);
    font-weight: 700;
    font-size: 14px;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-hp-header { padding: 30px 20px; }
    .rk-hp-controls { padding: 25px 20px; text-align: center; }
    .rk-toggle-wrapper { flex-direction: column; border-radius: 16px; padding: 20px; width: 100%; gap: 15px; }
    .rk-hp-visual { padding: 30px 10px; }
    .rk-hp-content { grid-template-columns: 1fr; padding: 20px; gap: 20px; }
    .rk-hp-card { padding: 25px 20px; }
}
</style>

<div class="rk-heatpump-module" id="rk-modul-pompa-sprzeglo">
    <div class="rk-hp-header">
        <h2>Dlaczego sprzęgło hydrauliczne jest niezbędne w instalacji z pompą ciepła?</h2>
        <p>Brak buforowania przepływu w układzie zamkniętym to najczęstsza przyczyna przedwczesnych awarii sprężarek. Zobacz, jak sprzęgło ratuje urządzenie podczas zamykania stref i cyklu odszraniania.</p>
    </div>

    <div class="rk-hp-controls">
        <h3>Symulator stanu instalacji</h3>
        <div class="rk-toggle-wrapper">
            <span class="rk-toggle-lbl active-heat" id="lbl-heating" onclick="document.getElementById('hp-toggle').click()">Ogrzewanie (Pętle otwarte)</span>
            <label class="rk-hp-switch">
                <input type="checkbox" id="hp-toggle">
                <span class="rk-hp-slider"></span>
            </label>
            <span class="rk-toggle-lbl" id="lbl-defrost" onclick="document.getElementById('hp-toggle').click()">Cykl Defrost (Zamykanie stref)</span>
        </div>
    </div>

    <div class="rk-hp-workspace state-heating" id="hp-workspace">
        
        <div class="rk-hp-visual">
            <svg class="rk-hp-svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">
                <rect x="5" y="10" width="30" height="80" rx="4" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="1"/>
                <text text-anchor="middle" font-size="5" font-weight="bold" fill="#64748b">
                    <tspan x="20" y="82">POMPA</tspan>
                    <tspan x="20" y="88">CIEPŁA</tspan>
                </text>
                
                <rect x="65" y="10" width="30" height="80" rx="4" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="1"/>
                <text text-anchor="middle" font-size="5" font-weight="bold" fill="#64748b">
                    <tspan x="80" y="82">ROZDZIELACZ</tspan>
                    <tspan x="80" y="88">PODŁOGÓWKI</tspan>
                </text>

                <circle cx="20" cy="50" r="12" fill="#334155"/>
                <g class="anim-fan">
                    <path d="M20 50 L20 38 A12 12 0 0 1 28 42 Z" fill="#cbd5e1"/>
                    <path d="M20 50 L30 55 A12 12 0 0 1 20 62 Z" fill="#cbd5e1"/>
                    <path d="M20 50 L10 55 A12 12 0 0 1 12 42 Z" fill="#cbd5e1"/>
                </g>
                <circle cx="20" cy="50" r="3" fill="#0f172a"/>

                <rect class="sep-core" x="46" y="25" width="8" height="50" rx="4" fill="#ffffff" stroke="#0ea5e9" stroke-width="2"/>
                <text x="50" y="20" text-anchor="middle" font-size="5" font-weight="bold" fill="#0284c7">SPRZĘGŁO</text>

                <path d="M30 35 L46 35" stroke="#e2e8f0" stroke-width="4"/>
                <path d="M54 35 L70 35" stroke="#e2e8f0" stroke-width="4"/>
                <path class="flow-primary" d="M30 35 L46 35" stroke-width="2" stroke-linecap="round"/>
                <path class="flow-secondary" d="M54 35 L70 35" stroke-width="2" stroke-linecap="round"/>

                <path d="M46 65 L30 65" stroke="#e2e8f0" stroke-width="4"/>
                <path d="M70 65 L54 65" stroke="#e2e8f0" stroke-width="4"/>
                <path class="flow-primary" d="M46 65 L30 65" stroke-width="2" stroke-linecap="round"/>
                <path class="flow-secondary" d="M70 65 L54 65" stroke-width="2" stroke-linecap="round"/>

                <path class="sep-flow" d="M48 38 L48 62" stroke-width="2" stroke-linecap="round"/>

                <rect x="70" y="30" width="4" height="10" fill="#94a3b8"/> <rect x="70" y="60" width="4" height="10" fill="#94a3b8"/> <rect class="valve-indicator" x="75" y="28" width="6" height="4" rx="1"/>
                <rect class="valve-indicator" x="83" y="28" width="6" height="4" rx="1"/>

                <path class="flow-secondary" d="M72 35 L78 35 L78 65 L72 65" fill="none" stroke-width="1.5" stroke-linecap="round"/>
                <path class="flow-secondary" d="M72 35 L86 35 L86 65 L72 65" fill="none" stroke-width="1.5" stroke-linecap="round"/>

            </svg>
        </div>

        <div class="rk-hp-content">
            
            <div class="rk-hp-card">
                <h4>
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-hp-blue)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                    Norma PN-EN 14511 a przepływ
                </h4>
                <p>Pompa ciepła wymaga do prawidłowej pracy bezwzględnego utrzymania minimalnego przepływu przez parownik (wymiennik). Zgodnie z wytycznymi producentów, przy pompie o mocy <strong>Q = 8 kW</strong> i parametrze Delta T = 5K, wymagany przepływ czynnika wynosi dokładnie <strong>1,38 m³/h</strong>.</p>
                <p>Gdy zastosujesz <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowanie strefowe</a> i termostaty zamkną zawory na <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielaczu</a>, instalacja odbiorcza traci przepustowość. Bez sprzęgła, przepływ drastycznie spada.</p>
            </div>

            <div class="rk-hp-card">
                <h4>
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-hp-red)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                    Cykl Defrost i ochrona sprężarki
                </h4>
                <p>Pompy typu powietrze-woda regularnie realizują tzw. cykl odszraniania (defrost). W tym czasie jednostka pobiera ciepło z instalacji, by rozmrozić parownik. Sprzęgło działa tu jako niezbędny <strong>bufor bezpieczeństwa</strong>.</p>
                <p>Nawet przy całkowitym zamknięciu <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a>, woda swobodnie cyrkuluje w tzw. "krótkim obiegu" pomiędzy <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompą ciepła</a> a sprzęgłem, chroniąc układ przed błędami przepływu i zamrożeniem wymiennika.</p>
                
                <div class="stat-box">
                    <p>Brak sprzęgła hydraulicznego i wymuszony spadek przepływu skraca żywotność sprężarki o nawet 40%.</p>
                </div>
            </div>

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-pompa-ciepla",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Dlaczego sprzęgło hydrauliczne jest niezbędne w instalacji z pompą ciepła?",
    "description": "Zabezpieczenie sprężarki pompy ciepła przed spadkiem przepływu w trakcie cyklu defrost i przy zamykaniu zaworów strefowych. Wymagania normy PN-EN 14511.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-pompa-ciepla",
    "name": "Wpływ przepływu zładu na żywotność sprężarki pompy ciepła",
    "description": "Dane z zakresu mechaniki płynów instalacji z pompami ciepła (norma PN-EN 14511) – zależność żywotności kompresora od braku stabilnego przepływu przy zamkniętych strefach.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "żywotność sprężarki pompy ciepła",
      "cykl defrost pompy ciepła",
      "przepływ minimalny pompy ciepła",
      "norma PN-EN 14511",
      "ochrona pompy ciepła sprzęgło"
    ],
    "measurementTechnique": "Określenie przepływu minimalnego (np. 1,38 m3/h dla 8kW przy Delta T=5K) i analiza spadku żywotności sprężarki (do 40%) w warunkach braku buforowania hydraulicznego (zamknięte rotametry).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymóg stałego odbioru energii dla jednostek powietrze-woda podczas odszraniania parownika.",
        "Ryzyko krytycznych błędów sterownika (błąd przepływu) po odcięciu wężownic przez siłowniki termoelektryczne.",
        "Krótki obieg hydrauliczny przez sprzęgło jako mechanizm pasywnego zabezpieczenia urządzenia."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-symulator-defrost",
    "name": "Symulator Cyklu Defrost i Ochrony Sprężarki",
    "description": "Aplikacja interaktywna symulująca trasy przepływu czynnika chłodniczego w układzie CO w trakcie zamykania siłowników strefowych. Wizualizuje działanie krótkiego obiegu przez sprzęgło.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggleInput = document.getElementById('hp-toggle');
    const workspace = document.getElementById('hp-workspace');
    const lblHeating = document.getElementById('lbl-heating');
    const lblDefrost = document.getElementById('lbl-defrost');

    toggleInput.addEventListener('change', function() {
        if(this.checked) {
            // Stan: Defrost / Zamknięte pętle
            workspace.classList.remove('state-heating');
            workspace.classList.add('state-defrost');
            
            lblDefrost.classList.add('active-defrost');
            lblHeating.classList.remove('active-heat');
        } else {
            // Stan: Ogrzewanie / Otwarte pętle
            workspace.classList.remove('state-defrost');
            workspace.classList.add('state-heating');
            
            lblHeating.classList.add('active-heat');
            lblDefrost.classList.remove('active-defrost');
        }
    });
});
</script>



<style>
:root {
    --rk-comp-bg: #ffffff;
    --rk-comp-surface: #f8fafc;
    --rk-comp-dark: #0f172a;
    --rk-comp-slate: #334155;
    --rk-comp-gray: #94a3b8;
    --rk-comp-blue: #0ea5e9;
    --rk-comp-blue-dark: #0284c7;
    --rk-comp-green: #10b981;
    --rk-comp-red: #ef4444;
    --rk-comp-border: #e2e8f0;
}

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

/* Nagłówek */
.rk-comp-header {
    padding: 40px 30px;
    background: var(--rk-comp-dark);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-comp-blue);
}

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

.rk-comp-header p {
    font-size: 16px;
    color: var(--rk-comp-gray);
    max-width: 750px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Sekcja Wprowadzenia */
.rk-comp-intro {
    padding: 30px 40px;
    background: var(--rk-comp-surface);
    border-bottom: 1px solid var(--rk-comp-border);
    text-align: center;
}

.rk-comp-intro p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-comp-slate);
    margin: 0;
    max-width: 800px;
    margin: 0 auto;
}

/* Obszar Porównania - Desktop Tabela */
.rk-comp-table-area {
    padding: 40px;
}

.rk-comp-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    border: 1px solid var(--rk-comp-border);
}

.rk-comp-table th, 
.rk-comp-table td {
    padding: 18px 20px;
    text-align: center;
    border-bottom: 1px solid var(--rk-comp-border);
}

.rk-comp-table th:first-child, 
.rk-comp-table td:first-child {
    text-align: left;
    font-weight: 800;
    color: var(--rk-comp-slate);
    background: var(--rk-comp-surface);
    width: 30%;
}

.rk-comp-table th {
    background: var(--rk-comp-dark);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-comp-table th:not(:first-child) {
    width: 35%;
}

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

.rk-val-yes, .rk-val-no, .rk-val-mid {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 8px;
}

.rk-val-yes { background: #ecfdf5; color: var(--rk-comp-green); }
.rk-val-no { background: #fef2f2; color: var(--rk-comp-red); }
.rk-val-mid { background: #f1f5f9; color: var(--rk-comp-slate); }

.rk-comp-svg-icon {
    width: 18px;
    height: 18px;
}

/* Moduł Odsyłacza (CTA) */
.rk-comp-link-box {
    padding: 30px 40px;
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--rk-comp-border);
}

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

.rk-comp-link-text p {
    margin: 0;
    font-size: 15px;
    color: var(--rk-comp-slate);
}

.rk-comp-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--rk-comp-blue-dark);
    color: #ffffff;
    padding: 15px 25px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 8px 15px rgba(2, 132, 199, 0.3);
    transition: all 0.3s ease;
}

.rk-comp-cta-btn:hover {
    transform: translateY(-2px);
    background: var(--rk-comp-blue);
    box-shadow: 0 12px 20px rgba(14, 165, 233, 0.4);
}

/* Responsywność - Układ Kart (Mobile) */
.rk-comp-cards {
    display: none;
    padding: 20px;
    gap: 20px;
}

.rk-device-card {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 16px;
    overflow: hidden;
}

.rk-device-card-header {
    background: var(--rk-comp-dark);
    color: #ffffff;
    padding: 15px;
    text-align: center;
    font-size: 18px;
    font-weight: 900;
}

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

.rk-device-row:last-child { border-bottom: none; }
.rk-device-label { font-size: 14px; font-weight: 700; color: var(--rk-comp-slate); }

@media (max-width: 768px) {
    .rk-comp-header { padding: 30px 20px; }
    .rk-comp-intro { padding: 25px 20px; text-align: left; }
    .rk-comp-table-area { display: none; } /* Ukrywamy tabelę na mobile */
    
    .rk-comp-cards { display: flex; flex-direction: column; } /* Pokazujemy układ kart */
    
    .rk-comp-link-box { flex-direction: column; text-align: center; gap: 20px; padding: 30px 20px; }
    .rk-comp-cta-btn { width: 100%; justify-content: center; }
}
</style>

<div class="rk-compare-module" id="rk-sprzeglo-vs-bufor">
    <div class="rk-comp-header">
        <h2>Sprzęgło hydrauliczne czy bufor ciepła?</h2>
        <p>Najczęściej zadawane pytanie przez inwestorów na etapie projektowania kotłowni. Zobacz, które urządzenie jest Ci faktycznie potrzebne.</p>
    </div>

    <div class="rk-comp-intro">
        <p>Choć z zewnątrz oba urządzenia wyglądają jak stalowe zbiorniki i pełnią rolę węzła hydraulicznego, ich funkcjonalność w instalacji ogrzewania podłogowego jest zupełnie inna. Wybór zależy wprost od wybranego <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">bilansu cieplnego</a> i rodzaju źródła ciepła.</p>
    </div>

    <div class="rk-comp-table-area">
        <table class="rk-comp-table">
            <thead>
                <tr>
                    <th>Cecha / Funkcja</th>
                    <th>Sprzęgło hydrauliczne</th>
                    <th>Bufor ciepła</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>Rozdział hydrauliczny pomp</td>
                    <td>
                        <div class="rk-val-yes">
                            <svg class="rk-comp-svg-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Tak
                        </div>
                    </td>
                    <td>
                        <div class="rk-val-yes">
                            <svg class="rk-comp-svg-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Tak
                        </div>
                    </td>
                </tr>
                <tr>
                    <td>Magazynowanie energii (Zład)</td>
                    <td>
                        <div class="rk-val-no">
                            <svg class="rk-comp-svg-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> Nie
                        </div>
                    </td>
                    <td>
                        <div class="rk-val-yes">
                            <svg class="rk-comp-svg-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Tak
                        </div>
                    </td>
                </tr>
                <tr>
                    <td>Ochrona przepływu zasilania</td>
                    <td>
                        <div class="rk-val-yes">
                            <svg class="rk-comp-svg-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Tak
                        </div>
                    </td>
                    <td>
                        <div class="rk-val-yes">
                            <svg class="rk-comp-svg-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg> Tak
                        </div>
                    </td>
                </tr>
                <tr>
                    <td>Stabilizacja temperatury</td>
                    <td>
                        <div class="rk-val-mid">Ograniczona</div>
                    </td>
                    <td>
                        <div class="rk-val-yes">Bardzo dobra</div>
                    </td>
                </tr>
                <tr>
                    <td>Nakład inwestycyjny (Koszt)</td>
                    <td>
                        <div class="rk-val-yes">Niski (Kilkaset PLN)</div>
                    </td>
                    <td>
                        <div class="rk-val-no">Wyższy (Tysiące PLN)</div>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="rk-comp-cards">
        
        <div class="rk-device-card">
            <div class="rk-device-card-header">Sprzęgło hydrauliczne</div>
            <div class="rk-device-row">
                <span class="rk-device-label">Rozdział hydrauliczny</span>
                <span class="rk-val-yes">Tak</span>
            </div>
            <div class="rk-device-row">
                <span class="rk-device-label">Magazynowanie energii</span>
                <span class="rk-val-no">Nie</span>
            </div>
            <div class="rk-device-row">
                <span class="rk-device-label">Ochrona przepływu</span>
                <span class="rk-val-yes">Tak</span>
            </div>
            <div class="rk-device-row">
                <span class="rk-device-label">Stabilizacja temperatury</span>
                <span class="rk-val-mid">Ograniczona</span>
            </div>
            <div class="rk-device-row">
                <span class="rk-device-label">Koszty</span>
                <span class="rk-val-yes">Niskie</span>
            </div>
        </div>

        <div class="rk-device-card">
            <div class="rk-device-card-header">Bufor ciepła</div>
            <div class="rk-device-row">
                <span class="rk-device-label">Rozdział hydrauliczny</span>
                <span class="rk-val-yes">Tak</span>
            </div>
            <div class="rk-device-row">
                <span class="rk-device-label">Magazynowanie energii</span>
                <span class="rk-val-yes">Tak</span>
            </div>
            <div class="rk-device-row">
                <span class="rk-device-label">Ochrona przepływu</span>
                <span class="rk-val-yes">Tak</span>
            </div>
            <div class="rk-device-row">
                <span class="rk-device-label">Stabilizacja temperatury</span>
                <span class="rk-val-yes">Bardzo dobra</span>
            </div>
            <div class="rk-device-row">
                <span class="rk-device-label">Koszty</span>
                <span class="rk-val-no">Wyższe</span>
            </div>
        </div>

    </div>

    <div class="rk-comp-link-box">
        <div class="rk-comp-link-text">
            <h3>Kiedy zamontować zbiornik buforowy?</h3>
            <p>Sprawdź pojemności, schematy wpięcia i zasady współpracy z pompą ciepła.</p>
        </div>
        <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" class="rk-comp-cta-btn">
            CZYTAJ O BUFORZE CIEPŁA
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-porownanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Sprzęgło hydrauliczne czy bufor ciepła? Różnice i zastosowanie",
    "description": "Szczegółowe porównanie funkcjonalności sprzęgła hydraulicznego i bufora ciepła. Analiza podziału hydraulicznego, magazynowania energii, kosztów i stabilizacji temperatury.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-porownanie",
    "name": "Zestawienie Komponentów: Sprzęgło Hydrauliczne vs Bufor Ciepła",
    "description": "Techniczne porównanie kluczowych parametrów dystrybucji czynnika grzewczego w instalacjach HVAC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "sprzęgło hydrauliczne czy bufor",
      "różnica między sprzęgłem a buforem",
      "zład wody pompa ciepła",
      "magazynowanie energii podłogówka",
      "rozdział hydrauliczny kotłowni"
    ],
    "measurementTechnique": "Weryfikacja parametrów fizycznych w oparciu o pojemność zładu, zdolność do absorpcji uderzeń hydraulicznych oraz analizę bilansu kosztów instalacji CO.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Sprzęgło: zapewnia rozdział pomp i ochronę przepływu, nie magazynuje energii, charakteryzuje się niskim kosztem.",
        "Bufor: zapewnia pełny rozdział i ochronę, magazynuje energię termiczną, gwarantuje najwyższą stabilność temperatury kosztem większej inwestycji początkowej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-porownanie-modul",
    "name": "Moduł Porównawczy Węzłów Hydraulicznych",
    "description": "Responsywne narzędzie UI (Tabela / Kafelki na mobile) ułatwiające zestawienie kluczowych parametrów decyzyjnych dla inwestorów stojących przed wyborem zabezpieczenia kotłowni.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5/CSS3",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-pump-bg: #ffffff;
    --rk-pump-surface: #f8fafc;
    --rk-pump-dark: #0f172a;
    --rk-pump-slate: #334155;
    --rk-pump-gray: #94a3b8;
    --rk-pump-blue: #0ea5e9;
    --rk-pump-blue-dark: #0284c7;
    --rk-pump-red: #ef4444;
    --rk-pump-green: #10b981;
    --rk-pump-border: #e2e8f0;
}

.rk-pump-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pump-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(14, 165, 233, 0.12);
    border: 1px solid var(--rk-pump-border);
    overflow: hidden;
}

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

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

.rk-pump-header p {
    font-size: 16px;
    color: var(--rk-pump-gray);
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Interfejs wyboru stanu */
.rk-pump-controls {
    display: flex;
    justify-content: center;
    gap: 15px;
    padding: 30px 40px;
    background: var(--rk-pump-surface);
    border-bottom: 1px solid var(--rk-pump-border);
}

.rk-pump-btn {
    flex: 1;
    max-width: 300px;
    padding: 16px 20px;
    background: var(--rk-pump-bg);
    border: 2px solid var(--rk-pump-border);
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-pump-slate);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

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

.rk-pump-btn[data-state="danger"].active {
    border-color: var(--rk-pump-red);
    background: #fef2f2;
    color: var(--rk-pump-red);
    box-shadow: 0 8px 20px rgba(239, 68, 68, 0.15);
}

.rk-pump-btn[data-state="safe"].active {
    border-color: var(--rk-pump-green);
    background: #ecfdf5;
    color: var(--rk-pump-green);
    box-shadow: 0 8px 20px rgba(16, 185, 129, 0.15);
}

/* Obszar wyświetlania */
.rk-pump-workspace {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    padding: 40px;
    align-items: center;
}

/* Wizualizacja SVG */
.rk-pump-visual {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    background: var(--rk-pump-surface);
    border-radius: 20px;
    border: 1px solid var(--rk-pump-border);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.rk-svg-scene {
    position: absolute;
    width: 90%;
    height: 90%;
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.5s ease, transform 0.5s ease;
    pointer-events: none;
}

.rk-svg-scene.active {
    opacity: 1;
    transform: scale(1);
}

/* Animacje SVG */
@keyframes pumpRotate {
    100% { transform: rotate(360deg); }
}
@keyframes turbulentFlow {
    0% { stroke-dashoffset: 20; transform: translate(0, 0); }
    50% { transform: translate(2px, -2px); }
    100% { stroke-dashoffset: 0; transform: translate(0, 0); }
}
@keyframes smoothFlow {
    100% { stroke-dashoffset: -20; }
}

.anim-impeller {
    transform-origin: center;
    animation: pumpRotate 1s linear infinite;
}
.scene-danger .anim-flow {
    stroke-dasharray: 4 4;
    animation: turbulentFlow 0.5s linear infinite;
}
.scene-safe .anim-flow {
    stroke-dasharray: 8 4;
    animation: smoothFlow 1s linear infinite;
}

/* Treść opisowa */
.rk-pump-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-info-box {
    display: none;
    animation: slideInRight 0.4s ease forwards;
}

.rk-info-box.active {
    display: block;
}

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

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

.rk-info-box[data-content="danger"] h3 { color: var(--rk-pump-red); }
.rk-info-box[data-content="safe"] h3 { color: var(--rk-pump-green); }

.rk-info-box p {
    margin: 0 0 15px 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-pump-slate);
}

.rk-info-box a {
    color: var(--rk-pump-blue-dark);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(2, 132, 199, 0.3);
    transition: border-color 0.3s;
}

.rk-info-box a:hover {
    border-bottom-color: var(--rk-pump-blue-dark);
}

.rk-highlight-pill {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 800;
    margin-top: 10px;
}

.pill-danger { background: #fef2f2; color: var(--rk-pump-red); border: 1px solid rgba(239, 68, 68, 0.2); }
.pill-safe { background: #ecfdf5; color: var(--rk-pump-green); border: 1px solid rgba(16, 185, 129, 0.2); }

/* Responsywność */
@media (max-width: 768px) {
    .rk-pump-header { padding: 30px 20px; }
    .rk-pump-controls { flex-direction: column; padding: 20px; }
    .rk-pump-btn { max-width: 100%; width: 100%; }
    .rk-pump-workspace { grid-template-columns: 1fr; padding: 20px; gap: 20px; }
    .rk-pump-visual { max-width: 300px; margin: 0 auto; }
}
</style>

<div class="rk-pump-module" id="rk-wplyw-pomp-modul">
    <div class="rk-pump-header">
        <h2>Jaki jest wpływ sprzęgła hydraulicznego na pracę pomp obiegowych?</h2>
        <p>Zjawisko "walki pomp" to jeden z najdroższych błędów w hydraulice. Zobacz, jak wyeliminowanie wzajemnego zakłócania się charakterystyk QH stabilizuje układy wielostrefowe.</p>
    </div>

    <div class="rk-pump-controls">
        <button class="rk-pump-btn active" data-state="danger">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Układ bez sprzęgła
        </button>
        <button class="rk-pump-btn" data-state="safe">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
            Zastosowanie sprzęgła
        </button>
    </div>

    <div class="rk-pump-workspace">
        <div class="rk-pump-visual">
            
            <svg class="rk-svg-scene scene-danger active" viewBox="0 0 100 100">
                <rect x="10" y="40" width="80" height="20" fill="#e2e8f0" rx="4"></rect>
                
                <circle cx="30" cy="50" r="12" fill="#334155"></circle>
                <polygon class="anim-impeller" points="30,42 36,54 24,54" fill="#cbd5e1" style="transform-origin: 30px 50px;"></polygon>
                
                <circle cx="70" cy="50" r="12" fill="#334155"></circle>
                <polygon class="anim-impeller" points="70,42 76,54 64,54" fill="#cbd5e1" style="transform-origin: 70px 50px;"></polygon>
                
                <path class="anim-flow" d="M45 45 L55 45" stroke="#ef4444" stroke-width="3" stroke-linecap="round"></path>
                <path class="anim-flow" d="M55 55 L45 55" stroke="#ef4444" stroke-width="3" stroke-linecap="round"></path>
                
                <circle cx="50" cy="50" r="8" fill="#ef4444" opacity="0.4"></circle>
                
                <text text-anchor="middle" font-size="8" font-weight="800" fill="#ef4444">
                    <tspan x="50" y="82">ZAKŁÓCENIE</tspan>
                    <tspan x="50" y="93">KRZYWEJ QH</tspan>
                </text>
            </svg>

            <svg class="rk-svg-scene scene-safe" viewBox="0 0 100 100">
                <rect x="42" y="15" width="16" height="70" fill="#0ea5e9" rx="4" opacity="0.2"></rect>
                <rect x="42" y="15" width="16" height="70" fill="none" stroke="#0ea5e9" stroke-width="2" rx="4"></rect>
                
                <path d="M10 30 L42 30 M10 70 L42 70" stroke="#e2e8f0" stroke-width="6"></path>
                <path d="M90 30 L58 30 M90 70 L58 70" stroke="#e2e8f0" stroke-width="6"></path>

                <circle cx="25" cy="30" r="8" fill="#334155"></circle>
                <polygon class="anim-impeller" points="25,25 29,33 21,33" fill="#cbd5e1" style="transform-origin: 25px 30px;"></polygon>
                
                <circle cx="75" cy="30" r="8" fill="#334155"></circle>
                <polygon class="anim-impeller" points="75,25 79,33 71,33" fill="#cbd5e1" style="transform-origin: 75px 30px;"></polygon>

                <path class="anim-flow" d="M15 30 L38 30" stroke="#10b981" stroke-width="3" stroke-linecap="round"></path>
                <path class="anim-flow" d="M85 30 L62 30" stroke="#0ea5e9" stroke-width="3" stroke-linecap="round"></path>
                
                <text text-anchor="middle" font-size="8" font-weight="800" fill="#0284c7">
                    <tspan x="50" y="86">STREFA ZEROWEGO</tspan>
                    <tspan x="50" y="96">OPORU</tspan>
                </text>
            </svg>

        </div>

        <div class="rk-pump-content">
            
            <div class="rk-info-box active" data-content="danger">
                <h3>Zjawisko "Walki Pomp"</h3>
                <p>Brak sprzęgła w instalacjach z <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">wieloma obiegami grzewczymi</a> (np. osobne rozdzielacze na parterze i piętrze) prowadzi do katastrofalnych skutków hydraulicznych.</p>
                <p>Gdy pompa kotłowa i <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa podłogówki</a> pracują na wspólnym odcinku rury, zakłócają swoje punkty pracy. Prowadzi to do <strong>niekontrolowanych przepływów wstecznych</strong> przez <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zawory mieszające</a>.</p>
                <p>W efekcie, nawet przy w pełni otwartych siłownikach, temperatura w pomieszczeniach będzie skrajnie niestabilna.</p>
                <div class="rk-highlight-pill pill-danger">Skutek: Niestabilna temperatura i szybsze zużycie pomp</div>
            </div>

            <div class="rk-info-box" data-content="safe">
                <h3>Strefa Zerowego Oporu</h3>
                <p>Zastosowanie sprzęgła hydraulicznego tworzy bufor o rozszerzonym przekroju, w którym zgodnie z zasadami dynamiki płynów ciśnienie różnicowe spada niemal do zera.</p>
                <p>Eliminuje to zjawisko wzajemnego „ściągania się” pomp. Każda z pomp układu tłoczy czynnik grzewczy <strong>zgodnie ze swoją indywidualną charakterystyką QH</strong> narzuconą przez producenta, bez odczuwania oporów z innych stref.</p>
                <p>Jest to wymóg absolutnie kluczowy w nowoczesnych budynkach o zróżnicowanej powierzchni grzewczej wymagającej pomp o odmiennych parametrach tłoczenia.</p>
                <div class="rk-highlight-pill pill-safe">Efekt: 100% stabilności hydraulicznej i niezależność stref</div>
            </div>

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-wplyw-pomp",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jaki jest wpływ sprzęgła hydraulicznego na pracę pomp obiegowych?",
    "description": "Techniczne wyjaśnienie eliminacji zjawiska walki pomp. Zobacz jak strefa zerowego oporu stabilizuje charakterystykę QH pomp i zapobiega przepływom wstecznym w zaworach mieszających.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-charakterystyka-qh",
    "name": "Analiza Hydrauliczna: Zjawisko Walki Pomp a Charakterystyka QH",
    "description": "Parametry przepływu, oporów hydraulicznych i dystrybucji ciśnień w instalacjach CO w układach bez separacji i ze strefą zerowego oporu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "walka pomp obiegowych",
      "charakterystyka pompy QH",
      "przepływy wsteczne",
      "opory hydrauliczne podłogówki",
      "strefa zerowego oporu"
    ],
    "measurementTechnique": "Porównanie wektorów ciśnień i przepływów masowych wymuszanych przez równolegle pracujące pompy obiegowe na wspólnym kolektorze bez sprzęgła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wykrywanie niekontrolowanych przepływów wstecznych przez strefowe zawory mieszające przy braku odsprzężenia.",
        "Weryfikacja warunków powstawania strefy o niemal zerowym spadku ciśnienia w koronie sprzęgła.",
        "Utrzymanie niezależności krzywych wydajności pomp (QH) w układach wielostrefowych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-symulator-przeplywow",
    "name": "Symulator Dynamiki Przepływów i Oporów Pomp",
    "description": "Interaktywny model wizualizujący mechanikę płynów: zjawisko kolizji ciśnień pomp obiegowych w układzie zwartym oraz stabilizację przepływów po wpięciu separatora hydraulicznego.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-pump-btn');
    const scenes = document.querySelectorAll('.rk-svg-scene');
    const infos = document.querySelectorAll('.rk-info-box');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            const state = this.getAttribute('data-state');

            // Aktualizacja przycisków
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Aktualizacja scen SVG
            scenes.forEach(scene => {
                if(scene.classList.contains('scene-' + state)) {
                    scene.classList.add('active');
                } else {
                    scene.classList.remove('active');
                }
            });

            // Aktualizacja treści tekstowej
            infos.forEach(info => {
                if(info.getAttribute('data-content') === state) {
                    info.classList.add('active');
                } else {
                    info.classList.remove('active');
                }
            });
        });
    });
});
</script>



<style>
:root {
    --rk-tbl-bg: #ffffff;
    --rk-tbl-surface: #f8fafc;
    --rk-tbl-dark: #0f172a;
    --rk-tbl-slate: #334155;
    --rk-tbl-gray: #94a3b8;
    --rk-tbl-blue: #0ea5e9;
    --rk-tbl-blue-dark: #0284c7;
    --rk-tbl-border: #e2e8f0;
    --rk-tbl-highlight: #e0f2fe;
}

.rk-params-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-tbl-bg);
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(14, 165, 233, 0.15);
    border: 1px solid var(--rk-tbl-border);
    overflow: hidden;
}

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

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

.rk-params-header p {
    font-size: 16px;
    color: var(--rk-tbl-gray);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

.rk-params-header strong {
    color: var(--rk-tbl-blue);
}

/* Interfejs Suwaka */
.rk-slider-container {
    padding: 35px 40px 20px 40px;
    background: var(--rk-tbl-surface);
    text-align: center;
    border-bottom: 1px solid var(--rk-tbl-border);
}

.rk-slider-label {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-tbl-dark);
    margin-bottom: 20px;
    display: block;
}

.rk-range-input {
    -webkit-appearance: none;
    width: 100%;
    max-width: 600px;
    height: 8px;
    background: var(--rk-tbl-border);
    border-radius: 4px;
    outline: none;
    margin: 0 auto;
    display: block;
}

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

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

.rk-range-input::-moz-range-thumb {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-tbl-blue-dark);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.4);
    border: 4px solid #ffffff;
    transition: transform 0.2s ease;
}

.rk-slider-ticks {
    display: flex;
    justify-content: space-between;
    max-width: 600px;
    margin: 15px auto 0 auto;
    padding: 0 10px;
    color: var(--rk-tbl-gray);
    font-size: 13px;
    font-weight: 700;
}

/* Kafelki / Tabela */
.rk-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 40px;
    background: var(--rk-tbl-bg);
}

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

.rk-card.active {
    border-color: var(--rk-tbl-blue);
    background: var(--rk-tbl-highlight);
    transform: translateY(-8px);
    box-shadow: 0 15px 30px -10px rgba(2, 132, 199, 0.25);
    z-index: 2;
}

.rk-card-icon {
    width: 50px;
    height: 50px;
    margin: 0 auto 15px auto;
    background: var(--rk-tbl-surface);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-tbl-slate);
    transition: all 0.3s ease;
}

.rk-card.active .rk-card-icon {
    background: var(--rk-tbl-blue-dark);
    color: #ffffff;
}

.rk-card-dn {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-tbl-dark);
    margin-bottom: 5px;
}

.rk-card-power {
    display: inline-block;
    font-size: 13px;
    font-weight: 800;
    color: #ffffff;
    background: var(--rk-tbl-slate);
    padding: 4px 10px;
    border-radius: 6px;
    margin-bottom: 15px;
    transition: background 0.3s ease;
}

.rk-card.active .rk-card-power {
    background: var(--rk-tbl-blue-dark);
}

.rk-card-flow {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-tbl-slate);
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px dashed var(--rk-tbl-border);
}

.rk-card.active .rk-card-flow {
    border-bottom-color: rgba(2, 132, 199, 0.2);
}

.rk-card-desc {
    font-size: 13px;
    color: var(--rk-tbl-gray);
    line-height: 1.5;
    font-weight: 500;
}

.rk-card.active .rk-card-desc {
    color: var(--rk-tbl-dark);
}

/* Responsywność - Mobile (Kafelki pionowo) */
@media (max-width: 900px) {
    .rk-cards-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .rk-params-header { padding: 30px 20px; }
    .rk-params-header h2 { font-size: 24px; }
    .rk-slider-container { padding: 25px 20px; display: none; /* Na małych ekranach ukrywamy suwak, zostawiamy czystą listę kafelków */ }
    
    .rk-cards-grid { 
        grid-template-columns: 1fr; 
        gap: 15px; 
        padding: 20px; 
    }
    
    .rk-card { 
        display: grid; 
        grid-template-columns: auto 1fr; 
        gap: 15px; 
        text-align: left; 
        align-items: center;
        padding: 20px;
    }
    
    .rk-card.active { transform: none; box-shadow: 0 8px 20px rgba(0,0,0,0.05); }
    .rk-card-icon { margin: 0; }
    .rk-card-power { margin-bottom: 8px; }
    .rk-card-flow { border-bottom: none; padding-bottom: 0; margin-bottom: 5px; }
}
</style>

<div class="rk-params-module" id="rk-dobor-sprzegla">
    <div class="rk-params-header">
        <h2>Sprzęgło hydrauliczne – porównanie parametrów technicznych</h2>
        <p>Poniższe interaktywne zestawienie przedstawia orientacyjne parametry doboru separatora w zależności od maksymalnej mocy instalacji grzewczej (przy różnicy temperatur <strong>Delta T = 20K</strong>). Narzędzie ułatwia określenie odpowiedniej <a href="https://projekt-ogrzewania.pl/jaka-srednica-rury-zasilajacej-rozdzielacz-w-ukladzie-ogrzewania-podlogowego-kalkulator/" style="color:#38bdf8;">średnicy rur zasilających</a>.</p>
    </div>

    <div class="rk-slider-container">
        <label for="rk-power-range" class="rk-slider-label">Moc Twojej instalacji (kW)</label>
        <input type="range" id="rk-power-range" class="rk-range-input" min="0" max="3" step="1" value="1" aria-label="Suwak wyboru mocy instalacji w kW">
        <div class="rk-slider-ticks">
            <span>15 kW</span>
            <span>35 kW</span>
            <span>50 kW</span>
            <span>75 kW</span>
        </div>
    </div>

    <div class="rk-cards-grid" id="rk-cards-container">
        <div class="rk-card" data-index="0">
            <div class="rk-card-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle></svg>
            </div>
            <div class="rk-card-dn">DN 20 <span style="font-size:14px; color:#94a3b8;">(3/4")</span></div>
            <div class="rk-card-power">do 15 kW</div>
            <div class="rk-card-flow">Przepływ: 0,65 m³/h</div>
            <div class="rk-card-desc">Idealne rozwiązanie dla małych domów oraz układów z jednym, prostym obiegiem grzewczym.</div>
        </div>

        <div class="rk-card active" data-index="1">
            <div class="rk-card-icon">
                <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="5"></circle></svg>
            </div>
            <div class="rk-card-dn">DN 25 <span style="font-size:14px; color:#94a3b8;">(1")</span></div>
            <div class="rk-card-power">do 35 kW</div>
            <div class="rk-card-flow">Przepływ: 1,50 m³/h</div>
            <div class="rk-card-desc">Standard inżynierski dla typowych domów jednorodzinnych ze strefową podłogówką.</div>
        </div>

        <div class="rk-card" data-index="2">
            <div class="rk-card-icon">
                <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle></svg>
            </div>
            <div class="rk-card-dn">DN 32 <span style="font-size:14px; color:#94a3b8;">(1 1/4")</span></div>
            <div class="rk-card-power">do 50 kW</div>
            <div class="rk-card-flow">Przepływ: 2,15 m³/h</div>
            <div class="rk-card-desc">Przeznaczone dla dużych obiektów, pensjonatów i bardzo rozbudowanych stref grzewczych.</div>
        </div>

        <div class="rk-card" data-index="3">
            <div class="rk-card-icon">
                <svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="8"></circle></svg>
            </div>
            <div class="rk-card-dn">DN 40 <span style="font-size:14px; color:#94a3b8;">(1 1/2")</span></div>
            <div class="rk-card-power">do 75 kW</div>
            <div class="rk-card-flow">Przepływ: 3,20 m³/h</div>
            <div class="rk-card-desc">Specjalistyczne instalacje komercyjne oraz kaskady wysokiej mocy.</div>
        </div>
    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-parametry-techniczne",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Sprzęgło hydrauliczne – porównanie parametrów technicznych",
    "description": "Zestawienie i interaktywny dobór sprzęgła hydraulicznego (DN 20, DN 25, DN 32, DN 40) na podstawie przepływu i mocy instalacji dla Delta T = 20K.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-parametry",
    "name": "Tabela doboru sprzęgła hydraulicznego wg mocy (kW)",
    "description": "Techniczne dane przepływowe (m3/h) i wymiary nominalne (DN) separatorów hydraulicznych dla układów grzewczych przy parametrze Delta T = 20K.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dobór sprzęgła hydraulicznego",
      "średnica sprzęgła DN25",
      "przepływ m3/h podłogówka",
      "moc instalacji grzewczej",
      "parametry techniczne separatora"
    ],
    "measurementTechnique": "Przeliczenie masowego natężenia przepływu dla wiodących źródeł ciepła przy różnicy temperatur zasilania i powrotu wynoszącej 20 Kelwinów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Średnica DN 20 (3/4 cala) - przepływ nominalny 0,65 m3/h dla mocy do 15 kW.",
        "Średnica DN 25 (1 cal) - przepływ nominalny 1,50 m3/h dla mocy do 35 kW.",
        "Średnica DN 32 (1 1/4 cala) - przepływ nominalny 2,15 m3/h dla mocy do 50 kW.",
        "Średnica DN 40 (1 1/2 cala) - przepływ nominalny 3,20 m3/h dla mocy do 75 kW."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-kalkulator-doboru",
    "name": "Interaktywny symulator doboru wielkości sprzęgła",
    "description": "Aplikacja (suwak interaktywny) pozwalająca instalatorom i inwestorom na szybkie dopasowanie średnicy DN sprzęgła hydraulicznego do generowanej mocy w kW.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rk-power-range');
    const cards = document.querySelectorAll('#rk-cards-container .rk-card');

    if(slider && cards.length > 0) {
        slider.addEventListener('input', function() {
            const selectedIndex = parseInt(this.value, 10);
            
            // Usunięcie podświetlenia ze wszystkich kafelków
            cards.forEach(card => {
                card.classList.remove('active');
            });
            
            // Podświetlenie odpowiedniego kafelka na podstawie suwaka
            if(cards[selectedIndex]) {
                cards[selectedIndex].classList.add('active');
            }
        });

        // Opcjonalnie: kliknięcie w kafelek (na desktopie) przesuwa suwak
        cards.forEach((card, index) => {
            card.addEventListener('click', () => {
                slider.value = index;
                cards.forEach(c => c.classList.remove('active'));
                card.classList.add('active');
            });
        });
    }
});
</script>



<style>
:root {
    --rk-exc-bg: #ffffff;
    --rk-exc-surface: #f8fafc;
    --rk-exc-dark: #0f172a;
    --rk-exc-slate: #334155;
    --rk-exc-gray: #94a3b8;
    --rk-exc-blue: #0ea5e9;
    --rk-exc-indigo: #4f46e5;
    --rk-exc-indigo-light: #e0e7ff;
    --rk-exc-green: #10b981;
    --rk-exc-border: #e2e8f0;
}

.rk-exceptions-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-exc-bg);
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(79, 70, 229, 0.15);
    border: 1px solid var(--rk-exc-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-exc-header {
    padding: 40px 30px;
    background: var(--rk-exc-dark);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-exc-indigo);
}

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

.rk-exc-header p {
    font-size: 16px;
    color: var(--rk-exc-gray);
    max-width: 750px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Przełącznik Scenariuszy */
.rk-exc-tabs-container {
    background: var(--rk-exc-surface);
    padding: 20px 40px;
    border-bottom: 1px solid var(--rk-exc-border);
}

.rk-exc-tabs {
    display: flex;
    background: var(--rk-exc-bg);
    border: 1px solid var(--rk-exc-border);
    border-radius: 12px;
    overflow: hidden;
    max-width: 600px;
    margin: 0 auto;
}

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

.rk-exc-tab-btn:first-child { border-right: 1px solid var(--rk-exc-border); }
.rk-exc-tab-btn:hover { background: #f1f5f9; }

.rk-exc-tab-btn.active {
    background: var(--rk-exc-indigo-light);
    color: var(--rk-exc-indigo);
}

/* Główny obszar roboczy */
.rk-exc-workspace {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--rk-exc-bg);
}

/* Wizualizacja SVG */
.rk-exc-visual {
    padding: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 1px solid var(--rk-exc-border);
    background: #fafafa;
}

.rk-exc-svg-box {
    width: 100%;
    max-width: 320px;
    position: relative;
}

.rk-svg-view {
    display: none;
    width: 100%;
    height: auto;
    animation: fadeIn 0.4s ease;
}

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

@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes flowDirect {
    to { stroke-dashoffset: -20; }
}

.anim-direct-flow {
    stroke-dasharray: 8 4;
    animation: flowDirect 1s linear infinite;
}

/* Treść Warunków */
.rk-exc-content-area {
    padding: 40px;
}

.rk-exc-panel {
    display: none;
    animation: fadeInSlideUp 0.4s ease;
}

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

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

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

.rk-exc-panel p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-exc-slate);
    margin: 0 0 20px 0;
}

/* Lista warunków */
.rk-condition-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-condition-item {
    display: flex;
    gap: 15px;
    background: var(--rk-exc-surface);
    padding: 15px;
    border-radius: 12px;
    border: 1px solid var(--rk-exc-border);
}

.rk-condition-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    color: var(--rk-exc-indigo);
}

.rk-condition-text h4 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-exc-dark);
}

.rk-condition-text p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--rk-exc-gray);
}

.rk-condition-text a {
    color: var(--rk-exc-indigo);
    font-weight: 700;
    text-decoration: none;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-exc-header { padding: 30px 20px; }
    .rk-exc-tabs-container { padding: 20px; }
    .rk-exc-tabs { flex-direction: column; }
    .rk-exc-tab-btn:first-child { border-right: none; border-bottom: 1px solid var(--rk-exc-border); }
    .rk-exc-workspace { grid-template-columns: 1fr; }
    .rk-exc-visual { border-right: none; border-bottom: 1px solid var(--rk-exc-border); padding: 30px 20px; }
    .rk-exc-content-area { padding: 30px 20px; }
}
</style>

<div class="rk-exceptions-module" id="rk-wyjatki-bez-sprzegla">
    <div class="rk-exc-header">
        <h2>Czy każda pompa ciepła wymaga sprzęgła hydraulicznego?</h2>
        <p>W inżynierii słowo "zawsze" bywa złudne. Poznaj parametry układu, w których pompa ciepła może bezpiecznie i efektywnie pracować wpięta bezpośrednio w obieg grzewczy, redukując koszty inwestycji.</p>
    </div>

    <div class="rk-exc-tabs-container">
        <div class="rk-exc-tabs" id="rk-exc-controls">
            <button class="rk-exc-tab-btn active" data-view="direct">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 12h14"></path><path d="M12 5l7 7-7 7"></path></svg>
                Układ bezpośredni (Bez sprzęgła)
            </button>
            <button class="rk-exc-tab-btn" data-view="separated">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="9" y="5" width="6" height="14" rx="2"></rect><path d="M4 12h5"></path><path d="M15 12h5"></path></svg>
                Układ rozbudowany (Sprzęgło konieczne)
            </button>
        </div>
    </div>

    <div class="rk-exc-workspace">
        
        <div class="rk-exc-visual">
            <div class="rk-exc-svg-box">
                
                <svg class="rk-svg-view active" id="view-direct" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">
                    <rect x="10" y="35" width="25" height="30" rx="3" fill="#334155" />
                    <circle cx="22.5" cy="50" r="8" fill="#cbd5e1" />
                    <text x="22.5" y="75" text-anchor="middle" font-size="5" font-weight="bold" fill="#64748b">POMPA CIEPŁA</text>

                    <rect x="75" y="20" width="10" height="60" rx="2" fill="#94a3b8" />
                    <text x="80" y="90" text-anchor="middle" font-size="5" font-weight="bold" fill="#64748b">JEDEN OBIEG</text>

                    <path class="anim-direct-flow" d="M 35 40 L 75 40" stroke="#10b981" stroke-width="3" fill="none" stroke-linecap="round"/>
                    <path class="anim-direct-flow" d="M 75 60 L 35 60" stroke="#0ea5e9" stroke-width="3" fill="none" stroke-linecap="round"/>
                    
                    <path d="M85 25 L95 25 L95 45 L85 45" stroke="#10b981" stroke-width="1.5" fill="none"/>
                    <path d="M85 55 L95 55 L95 75 L85 75" stroke="#0ea5e9" stroke-width="1.5" fill="none"/>
                </svg>

                <svg class="rk-svg-view" id="view-separated" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">
                    <rect x="5" y="35" width="20" height="30" rx="3" fill="#334155" />
                    
                    <rect x="42" y="20" width="8" height="60" rx="4" fill="none" stroke="#4f46e5" stroke-width="2"/>
                    <text x="46" y="15" text-anchor="middle" font-size="5" font-weight="bold" fill="#4f46e5">SPRZĘGŁO</text>

                    <rect x="75" y="10" width="8" height="35" rx="1" fill="#94a3b8" />
                    <rect x="75" y="55" width="8" height="35" rx="1" fill="#94a3b8" />

                    <path class="anim-direct-flow" d="M 25 40 L 42 40" stroke="#10b981" stroke-width="2" fill="none"/>
                    <path class="anim-direct-flow" d="M 42 60 L 25 60" stroke="#0ea5e9" stroke-width="2" fill="none"/>

                    <path class="anim-direct-flow" d="M 50 30 L 75 30" stroke="#10b981" stroke-width="2" fill="none"/>
                    <path class="anim-direct-flow" d="M 75 40 L 50 40" stroke="#0ea5e9" stroke-width="2" fill="none"/>
                    <path class="anim-direct-flow" d="M 50 70 L 75 70" stroke="#10b981" stroke-width="2" fill="none"/>
                    <path class="anim-direct-flow" d="M 75 80 L 50 80" stroke="#0ea5e9" stroke-width="2" fill="none"/>
                </svg>

            </div>
        </div>

        <div class="rk-exc-content-area">
            
            <div class="rk-exc-panel active" id="panel-direct">
                <h3>Kiedy nie stosować sprzęgła hydraulicznego?</h3>
                <p>Istnieją rygorystyczne warunki, w których podłączenie pompy ciepła bezpośrednio do instalacji podłogowej jest nie tylko możliwe, ale wręcz pożądane hydraulicznie.</p>
                
                <div class="rk-condition-list">
                    <div class="rk-condition-item">
                        <svg class="rk-condition-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 11 12 14 22 4"></polyline><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"></path></svg>
                        <div class="rk-condition-text">
                            <h4>Odpowiedni zład wody</h4>
                            <p>Instalacja musi zagwarantować bezwzględny przepływ i zład wody do realizacji cyklu odszraniania (tzw. zład czynny). Sprawdź nasz <a href="https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/">kalkulator zładu wody</a>.</p>
                        </div>
                    </div>
                    <div class="rk-condition-item">
                        <svg class="rk-condition-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 11 12 14 22 4"></polyline><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"></path></svg>
                        <div class="rk-condition-text">
                            <h4>Brak sterowania strefowego</h4>
                            <p>Pompa ciepła bezpośrednio zasila <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacze</a> bez siłowników odcinających. Pętle są wyregulowane na stałe rotametrami.</p>
                        </div>
                    </div>
                    <div class="rk-condition-item">
                        <svg class="rk-condition-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 11 12 14 22 4"></polyline><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"></path></svg>
                        <div class="rk-condition-text">
                            <h4>Pokrycie oporów</h4>
                            <p>Wewnętrzna pompa obiegowa w pompie ciepła ma wystarczającą wysokość podnoszenia, by samodzielnie pokonać opory wszystkich <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a>.</p>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-exc-panel" id="panel-separated">
                <h3>Kiedy sprzęgło jest absolutnie konieczne?</h3>
                <p>Niestety, w nowoczesnych, komfortowych budynkach układ bezpośredni to rzadkość. Jeśli Twoja instalacja posiada którąkolwiek z poniższych cech, separator jest wymagany.</p>
                
                <div class="rk-condition-list">
                    <div class="rk-condition-item">
                        <svg class="rk-condition-icon" style="color:var(--rk-exc-red);" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                        <div class="rk-condition-text">
                            <h4>Różne strefy temperaturowe</h4>
                            <p>Łączysz ogrzewanie podłogowe z tradycyjnymi grzejnikami, co wymaga zastosowania <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zaworów mieszających</a> w celu obniżenia parametru zasilania dla podłogówki.</p>
                        </div>
                    </div>
                    <div class="rk-condition-item">
                        <svg class="rk-condition-icon" style="color:var(--rk-exc-red);" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                        <div class="rk-condition-text">
                            <h4>Automatyka pokojowa</h4>
                            <p>Używasz <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowania strefowego</a>. Termostaty zamykające poszczególne pętle drastycznie i nagle zmieniają opory hydrauliczne instalacji, wymuszając montaż sprzęgła lub <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufora</a>.</p>
                        </div>
                    </div>
                </div>
            </div>

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-wyjatki",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Czy każda pompa ciepła wymaga sprzęgła hydraulicznego? Wyjątki i reguły",
    "description": "Szczegółowa analiza warunków (zład wody, opory przepływu, brak automatyki strefowej), w których pompa ciepła bez sprzęgła hydraulicznego może pracować bezpiecznie w układzie bezpośrednim.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-wyjatki",
    "name": "Warunki rezygnacji ze sprzęgła hydraulicznego w układach HVAC",
    "description": "Zbiór rygorystycznych parametrów technicznych i projektowych dopuszczających wpięcie pompy ciepła bezpośrednio w układ podłogowy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa ciepła bez sprzęgła hydraulicznego",
      "czy sprzęgło hydrauliczne jest konieczne",
      "kiedy nie stosować sprzęgła hydraulicznego",
      "zład wody w podłogówce",
      "układ bezpośredni pompy ciepła"
    ],
    "measurementTechnique": "Weryfikacja możliwości pokrycia oporów hydraulicznych pętli przez wewnętrzną pompę obiegową źródła ciepła przy zagwarantowanym minimalnym, nieodcinanym zładzie czynnym na potrzeby cyklu defrost.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Układ Bezpośredni: dopuszczalny przy odpowiednim zładzie wody, braku siłowników strefowych (stałe przepływy) i wystarczającej wysokości podnoszenia pompy obiegowej źródła.",
        "Układ Rozdzielony: bezwzględnie wymagany przy strefach o różnych temperaturach (mieszacze) oraz automatyce pokojowej drastycznie zmieniającej opory instalacji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-skaner-wymagan",
    "name": "Skaner Wymagań Hydraulicznych",
    "description": "Interaktywne drzewo decyzyjne i wizualizator układów (bezpośredni vs separowany) pomagający zweryfikować czy w danej instalacji można bezpiecznie pominąć sprzęgło.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('#rk-exc-controls .rk-exc-tab-btn');
    const views = document.querySelectorAll('.rk-exc-visual .rk-svg-view');
    const panels = document.querySelectorAll('.rk-exc-content-area .rk-exc-panel');

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            const target = this.getAttribute('data-view');

            // Aktualizacja przycisków
            tabs.forEach(t => t.classList.remove('active'));
            this.classList.add('active');

            // Aktualizacja SVG
            views.forEach(v => {
                if(v.id === 'view-' + target) {
                    v.classList.add('active');
                } else {
                    v.classList.remove('active');
                }
            });

            // Aktualizacja treści
            panels.forEach(p => {
                if(p.id === 'panel-' + target) {
                    p.classList.add('active');
                } else {
                    p.classList.remove('active');
                }
            });
        });
    });
});
</script>



<style>
:root {
    --rk-prj-bg: #ffffff;
    --rk-prj-surface: #f8fafc;
    --rk-prj-dark: #0f172a;
    --rk-prj-slate: #334155;
    --rk-prj-blue: #0ea5e9;
    --rk-prj-blue-dark: #0284c7;
    --rk-prj-blue-light: #e0f2fe;
    --rk-prj-border: #e2e8f0;
    --rk-prj-accent: #f59e0b;
}

.rk-project-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-prj-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.1);
    border: 1px solid var(--rk-prj-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-prj-header {
    padding: 40px;
    background: var(--rk-prj-dark);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-prj-blue);
}

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

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

.rk-prj-header a {
    color: var(--rk-prj-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Interaktywny Dashboard */
.rk-prj-dashboard {
    display: grid;
    grid-template-columns: 300px 1fr;
    background: var(--rk-prj-surface);
}

/* Lewy panel - Zakładki */
.rk-prj-tabs {
    padding: 30px 0 30px 30px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-prj-tab-btn {
    background: transparent;
    border: 2px solid transparent;
    text-align: left;
    padding: 20px;
    border-radius: 12px 0 0 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
}

.rk-prj-tab-btn::after {
    content: '';
    position: absolute;
    right: -2px;
    top: 0;
    bottom: 0;
    width: 4px;
    background: transparent;
    border-radius: 4px 0 0 4px;
    transition: background 0.3s;
}

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

.rk-prj-tab-btn.active {
    background: var(--rk-prj-bg);
    border: 1px solid var(--rk-prj-border);
    border-right-color: var(--rk-prj-bg);
    box-shadow: -10px 0 20px rgba(0,0,0,0.02);
    z-index: 2;
}

.rk-prj-tab-btn.active::after {
    background: var(--rk-prj-blue);
}

.rk-tab-icon {
    width: 28px;
    height: 28px;
    color: var(--rk-prj-slate);
    transition: color 0.3s;
}

.rk-prj-tab-btn.active .rk-tab-icon {
    color: var(--rk-prj-blue);
}

.rk-tab-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-prj-slate);
    transition: color 0.3s;
}

.rk-prj-tab-btn.active .rk-tab-title {
    color: var(--rk-prj-dark);
}

.rk-tab-subtitle {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

/* Prawy panel - Wyświetlacz */
.rk-prj-display {
    padding: 40px;
    background: var(--rk-prj-bg);
    border-left: 1px solid var(--rk-prj-border);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-display-content {
    animation: fadeIn 0.4s ease-in-out;
}

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

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

.rk-display-svg {
    width: 70px;
    height: 70px;
    background: var(--rk-prj-blue-light);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-display-svg svg {
    width: 40px;
    height: 40px;
    color: var(--rk-prj-blue-dark);
}

.rk-display-title h3 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-prj-dark);
}

.rk-display-title span {
    font-size: 13px;
    font-weight: 800;
    color: #ffffff;
    background: var(--rk-prj-accent);
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

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

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

/* CTA Blok */
.rk-prj-cta {
    padding: 40px;
    background: linear-gradient(135deg, var(--rk-prj-bg) 0%, #f0f9ff 100%);
    text-align: center;
    border-top: 1px solid var(--rk-prj-border);
}

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

.rk-prj-cta p {
    font-size: 16px;
    color: var(--rk-prj-slate);
    margin: 0 auto 25px auto;
    max-width: 600px;
}

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

.rk-btn-premium:hover {
    transform: translateY(-3px);
    background: var(--rk-prj-blue);
    box-shadow: 0 15px 30px -5px rgba(14, 165, 233, 0.5);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-prj-header, .rk-prj-display, .rk-prj-cta { padding: 30px 20px; }
    .rk-prj-header h2 { font-size: 24px; }
    
    .rk-prj-dashboard {
        grid-template-columns: 1fr;
    }
    
    .rk-prj-tabs {
        padding: 20px;
        flex-direction: column;
        border-bottom: 1px solid var(--rk-prj-border);
    }
    
    .rk-prj-tab-btn {
        border-radius: 12px;
        padding: 15px;
        border: 1px solid var(--rk-prj-border);
    }
    
    .rk-prj-tab-btn.active {
        border-color: var(--rk-prj-blue);
        box-shadow: 0 4px 15px rgba(2, 132, 199, 0.1);
    }
    
    .rk-prj-tab-btn::after { display: none; }
    
    .rk-prj-display { border-left: none; }
    
    .rk-display-header { flex-direction: column; text-align: center; gap: 15px; }
    
    .rk-btn-premium { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<div class="rk-project-module" id="rk-wplyw-na-projekt">
    <div class="rk-prj-header">
        <h2>Jak sprzęgło hydrauliczne wpływa na projekt ogrzewania podłogowego?</h2>
        <p>W profesjonalnym projekcie, uwzględnienie sprzęgła całkowicie zmienia sposób wyliczeń <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obciążenia cieplnego (OZC)</a>. W naszych projektach traktujemy je jako absolutny <strong>węzeł graniczny</strong> układu.</p>
    </div>

    <div class="rk-prj-dashboard">
        <div class="rk-prj-tabs">
            <button class="rk-prj-tab-btn active" data-target="rozstaw">
                <svg class="rk-tab-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 6h16M4 12h16M4 18h16"></path></svg>
                <div>
                    <div class="rk-tab-title">Rozstaw rur (Pętle)</div>
                    <div class="rk-tab-subtitle">Niezależność od kotłowni</div>
                </div>
            </button>
            
            <button class="rk-prj-tab-btn" data-target="pompa">
                <svg class="rk-tab-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4M12 8h.01"></path></svg>
                <div>
                    <div class="rk-tab-title">Dobór pompy obiegowej</div>
                    <div class="rk-tab-subtitle">Uproszczona hydraulika</div>
                </div>
            </button>

            <button class="rk-prj-tab-btn" data-target="krzywa">
                <svg class="rk-tab-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3v18h18"></path><path d="M18.7 8l-5.1 5.2-2.8-2.7L7 14.3"></path></svg>
                <div>
                    <div class="rk-tab-title">Krzywa grzewcza</div>
                    <div class="rk-tab-subtitle">Optymalizacja strefowa</div>
                </div>
            </button>
        </div>

        <div class="rk-prj-display" id="rk-prj-display-area">
            </div>
    </div>

    <div class="rk-prj-cta">
        <h3>Nie zgaduj. Zbuduj instalację na twardych danych.</h3>
        <p>Zabezpiecz swoją pompę ciepła i uzyskaj gwarancję ciepłego domu. Zamów dokumentację inżynierską, w której każdy węzeł hydrauliczny jest rzetelnie przeliczony.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-premium">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-wplyw-na-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Jak sprzęgło hydrauliczne wpływa na projekt ogrzewania podłogowego?",
    "description": "Szczegółowa analiza wpływu węzła granicznego (sprzęgła hydraulicznego) na obliczenia OZC, dobór pompy obiegowej, rozstaw rur i optymalizację krzywej grzewczej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-wplyw-projekt",
    "name": "Wpływ Węzła Granicznego na Obliczenia OZC i Hydraulikę",
    "description": "Zestawienie zmian w algorytmach obliczeniowych dla instalacji podłogowej po zastosowaniu sprzęgła hydraulicznego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego",
      "obliczenia OZC",
      "dobór pompy obiegowej",
      "rozstaw rur podłogówki",
      "krzywa grzewcza"
    ],
    "measurementTechnique": "Analiza porównawcza algorytmów obliczeniowych oporów hydraulicznych (węzeł graniczny) dla obiegów wtórnych i pierwotnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw rur liczony dla pętli wtórnej z pominięciem oporów źródła ciepła.",
        "Dobór pompy dedykowany wyłącznie do pokonania oporów rozdzielacza i wężownic.",
        "Niezależna optymalizacja krzywej grzewczej dla różnych stref budynku."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-symulator-węzła",
    "name": "Kalkulator Optymalizacji Projektowej (Symulator Węzła)",
    "description": "Interaktywne narzędzie edukacyjne wizualizujące wpływ zastosowania sprzęgła hydraulicznego na trzy kluczowe parametry projektu instalacji podłogowej.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const displayArea = document.getElementById('rk-prj-display-area');
    const tabBtns = document.querySelectorAll('.rk-prj-tab-btn');

    // Baza danych treści do wstrzyknięcia
    const contentData = {
        rozstaw: `
            <div class="rk-display-content">
                <div class="rk-display-header">
                    <div class="rk-display-svg">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 6h16M4 12h16M4 18h16"></path></svg>
                    </div>
                    <div class="rk-display-title">
                        <span>Parametr Projektowy</span>
                        <h3>Precyzyjny rozstaw rur</h3>
                    </div>
                </div>
                <div class="rk-display-text">
                    <p>Traktując sprzęgło jako węzeł graniczny, inżynier projektujący <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw rur w ogrzewaniu podłogowym</a> odcina się od zakłóceń ciśnienia po stronie kotłowni.</p>
                    <p><strong>Efekt:</strong> Długość każdej pętli oraz odstępy układania rur (np. co 10 cm w strefach brzegowych) są przeliczane wyłącznie dla rzeczywistego zapotrzebowania konkretnego pomieszczenia. Eliminujemy ryzyko niedogrzania spowodowane wahaniami przepływu na źródle ciepła.</p>
                </div>
            </div>
        `,
        pompa: `
            <div class="rk-display-content">
                <div class="rk-display-header">
                    <div class="rk-display-svg">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4M12 8h.01"></path></svg>
                    </div>
                    <div class="rk-display-title">
                        <span>Hydraulika Strefy</span>
                        <h3>Uproszczony dobór pompy</h3>
                    </div>
                </div>
                <div class="rk-display-text">
                    <p>Obliczenia oporów układu to klucz do sukcesu. Ze sprzęgłem, <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">dobór pompy obiegowej</a> staje się bezbłędny.</p>
                    <p><strong>Efekt:</strong> Projektant dobiera wydajność pompy obiegowej tylko i wyłącznie w oparciu o opory instalacji wtórnej (opory wężownic w posadzce + opory rozdzielacza). Nie trzeba sumować oporów głównego pionu i wymiennika kotła. To gwarantuje, że pompa będzie pracować w optymalnym punkcie swojej charakterystyki, pobierając ułamek energii elektrycznej.</p>
                </div>
            </div>
        `,
        krzywa: `
            <div class="rk-display-content">
                <div class="rk-display-header">
                    <div class="rk-display-svg">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3v18h18"></path><path d="M18.7 8l-5.1 5.2-2.8-2.7L7 14.3"></path></svg>
                    </div>
                    <div class="rk-display-title">
                        <span>Zarządzanie Energią</span>
                        <h3>Indywidualna krzywa grzewcza</h3>
                    </div>
                </div>
                <div class="rk-display-text">
                    <p>Bez sprzęgła, cała instalacja jest skazana na uśrednione parametry dyktowane przez źródło ciepła. Separator to zmienia.</p>
                    <p><strong>Efekt:</strong> Umożliwia to zdefiniowanie niezależnej <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywej grzewczej</a> z użyciem zaworów mieszających. Kocioł może pracować na wyższych parametrach dostarczając ciepło np. do zasobnika CWU, a obieg podłogowy pobiera idealnie wymieszaną wodę o niskim parametrze, zapewniając stały i łagodny komfort cieplny domowników.</p>
                </div>
            </div>
        `
    };

    // Załaduj domyślną treść
    displayArea.innerHTML = contentData['rozstaw'];

    // Obsługa kliknięć zakładek
    tabBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Usuń active ze wszystkich
            tabBtns.forEach(b => b.classList.remove('active'));
            // Dodaj active do klikniętego
            this.classList.add('active');
            
            // Pobierz klucz docelowy i zaktualizuj HTML
            const targetKey = this.getAttribute('data-target');
            displayArea.innerHTML = contentData[targetKey];
        });
    });
});
</script>



<style>
:root {
    --rk-err-bg: #ffffff;
    --rk-err-dark: #0f172a;
    --rk-err-slate: #334155;
    --rk-err-gray: #94a3b8;
    --rk-err-red: #ef4444;
    --rk-err-red-light: #fef2f2;
    --rk-err-border: #e2e8f0;
}

.rk-errors-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(239, 68, 68, 0.15);
    border: 1px solid var(--rk-err-border);
    overflow: hidden;
}

/* Nagłówek modułu */
.rk-errors-header {
    padding: 40px 30px;
    background: var(--rk-err-dark);
    color: #ffffff;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-err-red);
}

.rk-errors-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    letter-spacing: -0.5px;
    color: #ffffff;
}

.rk-errors-header p {
    font-size: 16px;
    color: var(--rk-err-gray);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Kontener akordeonu */
.rk-err-list {
    padding: 30px;
    background: #f8fafc;
}

.rk-err-item {
    background: var(--rk-err-bg);
    border: 1px solid var(--rk-err-border);
    border-radius: 12px;
    margin-bottom: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    border-left: 4px solid transparent;
}

.rk-err-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.rk-err-item.active {
    border-left-color: var(--rk-err-red);
    box-shadow: 0 8px 20px rgba(239, 68, 68, 0.1);
    border-top-color: #f1f5f9;
    border-right-color: #f1f5f9;
    border-bottom-color: #f1f5f9;
}

/* Przycisk akordeonu */
.rk-err-btn {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 20px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: background 0.3s;
}

.rk-err-item.active .rk-err-btn {
    background: var(--rk-err-red-light);
}

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

.rk-err-badge {
    background: var(--rk-err-dark);
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-err-item.active .rk-err-badge {
    background: var(--rk-err-red);
}

.rk-err-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-err-slate);
}

.rk-err-icon {
    color: var(--rk-err-gray);
    transition: transform 0.4s ease;
}

.rk-err-item.active .rk-err-icon {
    transform: rotate(180deg);
    color: var(--rk-err-red);
}

/* Zawartość (Grid: SVG + Tekst) */
.rk-err-content {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out, opacity 0.3s ease-in-out;
}

.rk-err-item.active .rk-err-content {
    max-height: 500px;
    opacity: 1;
}

.rk-err-grid {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 25px;
    padding: 0 25px 25px 25px;
    align-items: center;
}

.rk-err-svg-box {
    width: 100%;
    aspect-ratio: 1;
    background: var(--rk-err-red-light);
    border-radius: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px dashed rgba(239, 68, 68, 0.3);
}

.rk-err-svg {
    width: 80%;
    height: 80%;
}

/* Animacje SVG */
@keyframes heatRadiate {
    0% { stroke-dashoffset: 20; opacity: 1; }
    100% { stroke-dashoffset: 0; opacity: 0.2; }
}
.anim-heat { stroke-dasharray: 5 5; animation: heatRadiate 1.5s linear infinite; }

@keyframes dropDown {
    0% { transform: translateY(-10px); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateY(20px); opacity: 0; }
}
.anim-drop { animation: dropDown 2s infinite; }

@keyframes pulseWave {
    0% { transform: scale(0.8); opacity: 1; }
    100% { transform: scale(1.5); opacity: 0; }
}
.anim-wave { transform-origin: center; animation: pulseWave 1.5s infinite; }

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

.rk-err-desc strong {
    color: var(--rk-err-red);
    font-weight: 800;
}

.rk-err-desc a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--rk-err-dark);
    font-weight: 700;
    text-decoration: none;
    font-size: 14px;
    border-bottom: 2px solid var(--rk-err-red);
    padding-bottom: 2px;
    transition: all 0.3s;
}

.rk-err-desc a:hover {
    color: var(--rk-err-red);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-errors-header { padding: 30px 20px; }
    .rk-err-list { padding: 15px; }
    .rk-err-btn { padding: 15px; flex-wrap: wrap; }
    .rk-err-title-box { width: 100%; margin-bottom: 10px; justify-content: space-between; }
    .rk-err-icon { display: none; } /* Ukrywamy strzałkę na mobile dla czystości */
    .rk-err-grid { grid-template-columns: 1fr; gap: 15px; padding: 0 15px 20px 15px; text-align: center; }
    .rk-err-svg-box { width: 100px; margin: 0 auto; }
}
</style>

<div class="rk-errors-module" id="rk-bledy-diagnostyka">
    <div class="rk-errors-header">
        <h2>Najczęstsze błędy montażowe sprzęgła hydraulicznego</h2>
        <p>Panel diagnostyczny instalatora. Zobacz wizualizację krytycznych błędów, które drastycznie obniżają wydajność instalacji ogrzewania podłogowego i prowadzą do uszkodzeń pomp.</p>
    </div>

    <div class="rk-err-list" id="rk-err-accordion">
        
        <div class="rk-err-item active">
            <button class="rk-err-btn" aria-expanded="true">
                <div class="rk-err-title-box">
                    <span class="rk-err-badge">Błąd 01</span>
                    <span class="rk-err-title">Brak izolacji termicznej</span>
                </div>
                <svg class="rk-err-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-err-content">
                <div class="rk-err-grid">
                    <div class="rk-err-svg-box">
                        <svg class="rk-err-svg" viewBox="0 0 100 100">
                            <rect x="40" y="20" width="20" height="60" rx="3" fill="#334155"/>
                            <path class="anim-heat" d="M30 30 Q10 30 10 20" stroke="#ef4444" stroke-width="3" fill="none"/>
                            <path class="anim-heat" d="M70 50 Q90 50 90 40" stroke="#ef4444" stroke-width="3" fill="none"/>
                            <path class="anim-heat" d="M30 70 Q10 70 10 60" stroke="#ef4444" stroke-width="3" fill="none"/>
                        </svg>
                    </div>
                    <div class="rk-err-desc">
                        <p>Sprzęgło niezaizolowane oddaje ciepło bezpośrednio do kotłowni. W ujęciu całego sezonu grzewczego zwiększa to koszty eksploatacji o nawet <strong>5-8% rocznie</strong>.</p>
                        <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">
                            Oblicz straty ciepła budynku
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
                        </a>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-err-item">
            <button class="rk-err-btn" aria-expanded="false">
                <div class="rk-err-title-box">
                    <span class="rk-err-badge">Błąd 02</span>
                    <span class="rk-err-title">Niewłaściwa orientacja (poziom)</span>
                </div>
                <svg class="rk-err-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-err-content">
                <div class="rk-err-grid">
                    <div class="rk-err-svg-box">
                        <svg class="rk-err-svg" viewBox="0 0 100 100">
                            <rect x="20" y="40" width="60" height="20" rx="3" fill="#94a3b8"/>
                            <line x1="10" y1="10" x2="90" y2="90" stroke="#ef4444" stroke-width="6"/>
                            <line x1="90" y1="10" x2="10" y2="90" stroke="#ef4444" stroke-width="6"/>
                        </svg>
                    </div>
                    <div class="rk-err-desc">
                        <p>Montaż w poziomie zamiast pionu całkowicie uniemożliwia fizyczną separację powietrza i zanieczyszczeń, co wprost narusza inżynierskie zasady <strong>normy PN-EN 12828</strong>.</p>
                        <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">
                            Sprawdź objawy zapowietrzenia układu
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
                        </a>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-err-item">
            <button class="rk-err-btn" aria-expanded="false">
                <div class="rk-err-title-box">
                    <span class="rk-err-badge">Błąd 03</span>
                    <span class="rk-err-title">Zbyt mała średnica sprzęgła</span>
                </div>
                <svg class="rk-err-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-err-content">
                <div class="rk-err-grid">
                    <div class="rk-err-svg-box">
                        <svg class="rk-err-svg" viewBox="0 0 100 100">
                            <rect x="45" y="10" width="10" height="80" fill="#334155"/>
                            <path class="anim-wave" d="M35 50 Q20 30 20 50 Q20 70 35 50" stroke="#ef4444" stroke-width="3" fill="none"/>
                            <path class="anim-wave" d="M65 50 Q80 30 80 50 Q80 70 65 50" stroke="#ef4444" stroke-width="3" fill="none"/>
                        </svg>
                    </div>
                    <div class="rk-err-desc">
                        <p>Źle dobrana średnica powoduje wzrost prędkości przepływu. Skutkuje to nieznośnym hałasem (szumy i świsty w rurach) grubo powyżej dopuszczalnych <strong>30-35 dB</strong>.</p>
                        <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">
                            Zasady doboru średnic rur
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
                        </a>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-err-item">
            <button class="rk-err-btn" aria-expanded="false">
                <div class="rk-err-title-box">
                    <span class="rk-err-badge">Błąd 04</span>
                    <span class="rk-err-title">Brak separatora zanieczyszczeń</span>
                </div>
                <svg class="rk-err-icon" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-err-content">
                <div class="rk-err-grid">
                    <div class="rk-err-svg-box">
                        <svg class="rk-err-svg" viewBox="0 0 100 100">
                            <path d="M30 20 L30 80 Q50 90 70 80 L70 20" fill="none" stroke="#334155" stroke-width="4"/>
                            <circle class="anim-drop" cx="40" cy="40" r="3" fill="#ef4444"/>
                            <circle class="anim-drop" cx="50" cy="30" r="2.5" fill="#ef4444" style="animation-delay: 0.5s"/>
                            <circle class="anim-drop" cx="60" cy="50" r="3.5" fill="#ef4444" style="animation-delay: 1s"/>
                            <path d="M35 75 Q50 80 65 75 L65 80 Q50 85 35 80 Z" fill="#ef4444"/>
                        </svg>
                    </div>
                    <div class="rk-err-desc">
                        <p>Brak elementu filtrującego (magnesu/siatki) powoduje, że zanieczyszczenia i szlam zalegają w dnie sprzęgła, znacząco obniżając jego sprawność cieplną i zagrażając pompom.</p>
                        <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">
                            Zabezpiecz jakość zładu wody
                            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
                        </a>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-bledy-montazowe",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Najczęstsze błędy montażowe sprzęgła hydraulicznego",
    "description": "Szczegółowa analiza krytycznych błędów instalacyjnych sprzęgła hydraulicznego, takich jak brak izolacji, zła orientacja (norma PN-EN 12828) i błędy średnicy powodujące hałas.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-bledy-montazowe",
    "name": "Wpływ Błędów Montażowych na Wydajność Sprzęgła",
    "description": "Zestawienie parametrów technicznych obrazujących skutki nieprawidłowego montażu węzła hydraulicznego (straty ciepła w %, emisja hałasu w dB, zgodność z normami).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy montażowe sprzęgła",
      "straty ciepła sprzęgła",
      "hałas w instalacji co",
      "norma PN-EN 12828",
      "sprawność sprzęgła hydraulicznego"
    ],
    "measurementTechnique": "Analiza numeryczna i akustyczna odchyleń od normy w przypadku niedowymiarowania średnic (emisja >35dB) oraz strat energii cieplnej (5-8%) przy braku izolacji otuliny.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Utrata 5-8% energii z powodu braku płaszcza izolacyjnego.",
        "Naruszenie wytycznych PN-EN 12828 przy montażu w poziomie uniemożliwiające odgazowanie układu.",
        "Generowanie szumów powyżej 30 dB przy zawyżonej prędkości przepływu.",
        "Spadek sprawności przez zamulenie dłużnego odcinka separacyjnego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-diagnostyka",
    "name": "Kalkulator Błędów i Diagnostyka Sprzęgła",
    "description": "Interaktywny panel diagnostyczny pozwalający zidentyfikować wizualnie i technicznie błędy montażu sprzęgła hydraulicznego (izolacja, orientacja, średnica, separacja).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const errorItems = document.querySelectorAll('#rk-err-accordion .rk-err-item');

    errorItems.forEach(item => {
        const btn = item.querySelector('.rk-err-btn');
        
        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zwiń wszystkie sekcje
            errorItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-err-btn').setAttribute('aria-expanded', 'false');
            });

            // Rozwiń klikniętą, jeśli była zwinięta
            if (!isActive) {
                item.classList.add('active');
                btn.setAttribute('aria-expanded', 'true');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-auth-bg: #ffffff;
    --rk-auth-surface: #f8fafc;
    --rk-auth-dark: #0f172a;
    --rk-auth-slate: #334155;
    --rk-auth-gray: #94a3b8;
    --rk-auth-blue: #0284c7;
    --rk-auth-border: #e2e8f0;
    --rk-auth-gold: #fbbf24;
}

.rk-authority-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-auth-bg);
    border-radius: 16px;
    box-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-auth-border);
    overflow: hidden;
}

/* Nagłówek Autorytetu */
.rk-auth-header {
    padding: 30px 40px;
    background: var(--rk-auth-dark);
    border-bottom: 4px solid var(--rk-auth-blue);
}

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

.rk-auth-badge {
    background: var(--rk-auth-blue);
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Układ główny */
.rk-auth-workspace {
    display: grid;
    grid-template-columns: 280px 1fr;
    background: var(--rk-auth-bg);
}

/* Lewy Panel - Profil */
.rk-auth-profile {
    padding: 40px 30px;
    background: var(--rk-auth-surface);
    border-right: 1px solid var(--rk-auth-border);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-auth-avatar {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

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

.rk-auth-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-auth-blue);
    margin: 0 0 20px 0;
}

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

.rk-auth-social-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 6px;
    color: #ffffff;
}

.rk-auth-social-btn.fb { background: #1877F2; }
.rk-auth-social-btn.fb:hover { background: #166fe5; }
.rk-auth-social-btn.li { background: #0A66C2; }
.rk-auth-social-btn.li:hover { background: #0958a8; }

/* Prawy Panel - Treść i Interakcja */
.rk-auth-content-area {
    padding: 40px;
    display: flex;
    flex-direction: column;
}

.rk-auth-quote-box {
    position: relative;
    margin-bottom: 30px;
}

.rk-auth-quote-mark {
    font-size: 60px;
    color: var(--rk-auth-surface);
    position: absolute;
    top: -20px;
    left: -15px;
    line-height: 1;
    font-family: Georgia, serif;
    z-index: 0;
}

.rk-auth-quote-text {
    font-size: 18px;
    line-height: 1.6;
    color: var(--rk-auth-slate);
    font-weight: 500;
    position: relative;
    z-index: 1;
    margin: 0;
    font-style: italic;
}

/* Interaktywne Zakładki (Bez animacji) */
.rk-auth-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--rk-auth-border);
}

.rk-auth-tab-btn {
    background: transparent;
    border: none;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-auth-gray);
    cursor: pointer;
    border-bottom: 4px solid transparent;
    margin-bottom: -2px;
}

.rk-auth-tab-btn:hover {
    color: var(--rk-auth-slate);
}

.rk-auth-tab-btn.active {
    color: var(--rk-auth-blue);
    border-bottom-color: var(--rk-auth-blue);
}

.rk-auth-tab-content {
    display: none;
    background: var(--rk-auth-surface);
    padding: 25px;
    border-radius: 8px;
    border: 1px solid var(--rk-auth-border);
}

.rk-auth-tab-content.active {
    display: block;
}

.rk-auth-tab-content h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-auth-dark);
}

.rk-auth-tab-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-auth-slate);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-auth-header { padding: 25px 20px; }
    .rk-auth-header h2 { font-size: 20px; flex-wrap: wrap; }
    
    .rk-auth-workspace { grid-template-columns: 1fr; }
    
    .rk-auth-profile { border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 30px 20px; }
    .rk-auth-content-area { padding: 30px 20px; }
    
    .rk-auth-tabs { flex-direction: column; gap: 0; border-bottom: none; }
    .rk-auth-tab-btn { border-bottom: none; border-left: 4px solid transparent; text-align: left; padding: 15px; background: var(--rk-auth-surface); margin-bottom: 5px; border-radius: 4px; }
    .rk-auth-tab-btn.active { border-left-color: var(--rk-auth-blue); background: #e0f2fe; }
}
</style>

<div class="rk-authority-module" id="rk-ekspert-modul">
    <div class="rk-auth-header">
        <h2>
            <span class="rk-auth-badge">Okiem Eksperta</span>
            Robert Kucharski o sprzęgle hydraulicznym
        </h2>
    </div>

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

        <!-- Prawy Panel: Wiedza Ekspercka -->
        <div class="rk-auth-content-area">
            
            <div class="rk-auth-quote-box">
                <div class="rk-auth-quote-mark">"</div>
                <p class="rk-auth-quote-text">Zbyt często spotykam się z przekonaniem, że sprzęgło hydrauliczne to tylko zbędny, drogi gadżet wciskany przez instalatorów. Nic bardziej mylnego. To technologiczna tarcza. Beton wybacza błędy, ale zablokowany przepływ potrafi zniszczyć sprężarkę pompy ciepła w jeden sezon. W profesjonalnym projekcie OZC sprzęgło to węzeł graniczny, który gwarantuje absolutny spokój inwestora.</p>
            </div>

            <!-- Interaktywne Zakładki Eksperckie -->
            <div class="rk-auth-tabs" id="rk-expert-tabs">
                <button class="rk-auth-tab-btn active" data-target="zlota-zasada">Złota zasada OZC</button>
                <button class="rk-auth-tab-btn" data-target="koszty-awarii">Koszty awarii</button>
                <button class="rk-auth-tab-btn" data-target="gwarancja">Kwestia gwarancji</button>
            </div>

            <div class="rk-auth-tab-content active" id="tab-zlota-zasada">
                <h4>Rozdzielenie hydrauliczne to podstawa</h4>
                <p>Nigdy nie dobieraj pompy obiegowej na oko. Zastosowanie separatora pozwala inżynierowi rozbić układ na dwa niezależne środowiska. Dzięki temu dokładnie wiemy, jaką oporność ma rozdzielacz i wężownice, co pozwala zoptymalizować zużycie prądu przez pompy obiegowe.</p>
            </div>

            <div class="rk-auth-tab-content" id="tab-koszty-awarii">
                <h4>Pozorna oszczędność</h4>
                <p>Pomijając sprzęgło przy kotle kondensacyjnym lub pompie ciepła, oszczędzasz na starcie około 800 PLN. Jednak koszty wymiany zatartej pompy lub uszkodzonego wymiennika na skutek ciągłego taktowania przewyższą tę kwotę wielokrotnie już w pierwszych latach eksploatacji.</p>
            </div>

            <div class="rk-auth-tab-content" id="tab-gwarancja">
                <h4>Wymogi autoryzowanych serwisów</h4>
                <p>Większość wiodących producentów pomp ciepła wymaga w instrukcji instalacji zapewnienia stałego przepływu nominalnego. Brak zładu buforowego w układach ze sterowaniem strefowym (gdzie siłowniki zamykają pętle) to najprostsza droga do odrzucenia roszczeń gwarancyjnych.</p>
            </div>

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Okiem eksperta: Robert Kucharski o sprzęgle hydraulicznym",
    "description": "Rekomendacje eksperckie Roberta Kucharskiego dotyczące stosowania sprzęgieł hydraulicznych. Znaczenie w projektowaniu OZC, koszty awarii oraz kwestie gwarancyjne producentów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-rekomendacje",
    "name": "Baza Wiedzy: Rekomendacje Eksperckie HVAC",
    "description": "Zestawienie twardych zaleceń inżynieryjnych dotyczących zabezpieczenia instalacji pomp ciepła, warunków utrzymania gwarancji producentów oraz optymalizacji pomp obiegowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "Robert Kucharski projekt ogrzewania",
      "ekspert ogrzewania podłogowego",
      "doradztwo sprzęgło hydrauliczne",
      "gwarancja pompy ciepła",
      "koszty awarii ogrzewania"
    ],
    "measurementTechnique": "Weryfikacja wytycznych producentów urządzeń grzewczych (DTR) w zestawieniu z praktyką instalacyjną i projektową (OZC).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymóg zapewnienia minimalnego przepływu przez parownik jako warunek utrzymania gwarancji na pompę ciepła.",
        "Separacja hydrauliczna pozwalająca na niezależne przeliczanie oporów rozdzielaczy od oporów źródła.",
        "Prewencja awaryjna: Zabezpieczenie przed uderzeniami hydraulicznymi przy odcięciu stref przez automatykę."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-panel-ekspercki",
    "name": "Interaktywny Panel Ekspercki: Wytyczne HVAC",
    "description": "Dynamiczny komponent interfejsu (Tabs) prezentujący skondensowane pigułki wiedzy inżynieryjnej: zasady projektowe, estymację kosztów awarii i rygory gwarancyjne.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
// Skrypt pozbawiony płynnych animacji zgodnie z wytycznymi
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('#rk-expert-tabs .rk-auth-tab-btn');
    const contents = document.querySelectorAll('.rk-auth-content-area .rk-auth-tab-content');

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Natychmiastowe usunięcie aktywnej klasy z przycisków
            tabs.forEach(t => t.classList.remove('active'));
            // Natychmiastowe przypisanie aktywnej klasy do klikniętego
            this.classList.add('active');

            const targetId = 'tab-' + this.getAttribute('data-target');

            // Natychmiastowe przełączenie treści (display: block/none z CSS)
            contents.forEach(content => {
                if(content.id === targetId) {
                    content.classList.add('active');
                } else {
                    content.classList.remove('active');
                }
            });
        });
    });
});
</script>



<style>
:root {
    --rk-case-bg: #ffffff;
    --rk-case-surface: #f8fafc;
    --rk-case-dark: #0f172a;
    --rk-case-slate: #334155;
    --rk-case-gray: #94a3b8;
    --rk-case-blue: #0ea5e9;
    --rk-case-blue-dark: #0284c7;
    --rk-case-red: #ef4444;
    --rk-case-green: #10b981;
    --rk-case-border: #e2e8f0;
}

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

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

.rk-case-badge {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--rk-case-blue);
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    padding: 4px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

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

.rk-case-header p {
    font-size: 16px;
    color: var(--rk-case-gray);
    max-width: 750px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Informacje o projekcie */
.rk-case-info-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: var(--rk-case-surface);
    border-bottom: 1px solid var(--rk-case-border);
}

.rk-case-info-item {
    padding: 20px 15px;
    text-align: center;
    border-right: 1px solid var(--rk-case-border);
}

.rk-case-info-item:last-child {
    border-right: none;
}

.rk-case-info-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-case-gray);
    margin-bottom: 5px;
    display: block;
}

.rk-case-info-value {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

/* Interaktywny Panel */
.rk-case-workspace {
    display: grid;
    grid-template-columns: 1fr;
}

.rk-case-controls {
    display: flex;
    padding: 30px;
    gap: 15px;
    justify-content: center;
    background: var(--rk-case-bg);
    border-bottom: 1px solid var(--rk-case-border);
}

.rk-case-btn {
    flex: 1;
    max-width: 350px;
    padding: 18px 20px;
    background: var(--rk-case-surface);
    border: 2px solid var(--rk-case-border);
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-case-slate);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 12px;
}

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

.rk-case-btn[data-scenario="bad"].active {
    background: #fef2f2;
    border-color: var(--rk-case-red);
    color: var(--rk-case-red);
    box-shadow: 0 8px 20px rgba(239, 68, 68, 0.15);
}

.rk-case-btn[data-scenario="good"].active {
    background: #ecfdf5;
    border-color: var(--rk-case-green);
    color: var(--rk-case-green);
    box-shadow: 0 8px 20px rgba(16, 185, 129, 0.15);
}

/* Widok Scenariusza (SVG + Tekst) */
.rk-case-view {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--rk-case-surface);
}

.rk-case-visual {
    padding: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 1px solid var(--rk-case-border);
    background: #ffffff;
}

.rk-case-svg {
    width: 100%;
    max-width: 350px;
    height: auto;
}

/* Animacje i Stany SVG */
.scenario-layer {
    opacity: 0;
    transition: opacity 0.4s ease;
}

.scenario-layer.active {
    opacity: 1;
}

@keyframes pulseRed {
    0% { filter: drop-shadow(0 0 2px rgba(239, 68, 68, 0.5)); }
    50% { filter: drop-shadow(0 0 12px rgba(239, 68, 68, 0.8)); }
    100% { filter: drop-shadow(0 0 2px rgba(239, 68, 68, 0.5)); }
}

@keyframes flowSmooth {
    to { stroke-dashoffset: -20; }
}

.active .anim-error { animation: pulseRed 1.5s infinite; }
.active .anim-flow-ok { stroke-dasharray: 8 4; animation: flowSmooth 1s linear infinite; }

/* Panel Tekstowy Scenariusza */
.rk-case-details {
    padding: 40px;
    overflow-wrap: break-word; /* Zabezpieczenie przed ucinaniem słów */
    word-wrap: break-word;
}

.rk-case-desc {
    display: none;
    animation: fadeInSlide 0.4s ease forwards;
}

.rk-case-desc.active {
    display: block;
}

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

.rk-case-desc h3 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 900;
}

.rk-case-desc[data-desc="bad"] h3 { color: var(--rk-case-red); }
.rk-case-desc[data-desc="good"] h3 { color: var(--rk-case-green); }

.rk-case-desc p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-case-slate);
    margin: 0 0 15px 0;
    word-break: break-word; /* Wymuszenie łamania długich ciągów */
    hyphens: auto; /* Opcjonalne dzielenie wyrazów na sylaby */
}

.rk-case-desc a {
    color: var(--rk-case-dark);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid var(--rk-case-blue);
    transition: color 0.3s;
    display: inline; /* Zapewnia naturalne zawijanie linków */
}

.rk-case-desc a:hover {
    color: var(--rk-case-blue-dark);
}

.rk-case-financials {
    margin-top: 25px;
    padding: 20px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px dashed var(--rk-case-border);
}

.rk-case-desc[data-desc="bad"] .rk-case-financials { border-color: rgba(239, 68, 68, 0.3); }
.rk-case-desc[data-desc="good"] .rk-case-financials { border-color: rgba(16, 185, 129, 0.3); }

.rk-case-fin-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 14px;
    gap: 15px; /* Odstęp między tekstem a kwotą */
}

.rk-case-fin-item span:first-child {
    flex: 1; /* Pozwala tekstowi zająć resztę miejsca i łamać wiersze */
}

.rk-case-fin-item span:last-child {
    white-space: nowrap; /* Zabezpiecza kwoty przed złamaniem w połowie */
    text-align: right;
}

.rk-case-fin-item:last-child {
    margin-bottom: 0;
    padding-top: 10px;
    border-top: 1px solid var(--rk-case-border);
    font-weight: 900;
    font-size: 16px;
}

.rk-case-desc[data-desc="bad"] .rk-case-fin-item:last-child { color: var(--rk-case-red); }
.rk-case-desc[data-desc="good"] .rk-case-fin-item:last-child { color: var(--rk-case-green); }

/* Responsywność */
@media (max-width: 900px) {
    .rk-case-view { grid-template-columns: 1fr; } /* Szybsze załamanie siatki na mniejszych ekranach chroni przed ucinaniem */
    .rk-case-visual { border-right: none; border-bottom: 1px solid var(--rk-case-border); padding: 30px 20px; }
}

@media (max-width: 768px) {
    .rk-case-header { padding: 35px 20px; }
    .rk-case-info-bar { grid-template-columns: 1fr 1fr; }
    .rk-case-info-item { border-bottom: 1px solid var(--rk-case-border); }
    .rk-case-info-item:nth-child(even) { border-right: none; }
    .rk-case-controls { flex-direction: column; padding: 20px; }
    .rk-case-btn { max-width: 100%; width: 100%; }
    .rk-case-details { padding: 30px 20px; }
}
</style>

<div class="rk-case-module" id="rk-case-study-bielsko">
    <div class="rk-case-header">
        <div class="rk-case-badge">Case Study</div>
        <h2>Instalacja w domu 180 m² – Jak błąd instalatora może kosztować 15 000 PLN?</h2>
        <p>Pan Dawid z Bielska-Białej buduje dom jednorodzinny. Zobaczmy, jak decyzja o zastosowaniu (lub pominięciu) sprzęgła hydraulicznego wpływa na pracę jego pompy ciepła i portfel.</p>
    </div>

    <div class="rk-case-info-bar">
        <div class="rk-case-info-item">
            <span class="rk-case-info-label">Inwestor</span>
            <span class="rk-case-info-value">Dawid (Bielsko-Biała)</span>
        </div>
        <div class="rk-case-info-item">
            <span class="rk-case-info-label">Powierzchnia</span>
            <span class="rk-case-info-value">180 m²</span>
        </div>
        <div class="rk-case-info-item">
            <span class="rk-case-info-label">Strefy grzewcze</span>
            <span class="rk-case-info-value">2 (Parter + Piętro)</span>
        </div>
        <div class="rk-case-info-item">
            <span class="rk-case-info-label">Źródło ciepła</span>
            <span class="rk-case-info-value">Pompa Ciepła 9 kW</span>
        </div>
    </div>

    <div class="rk-case-workspace">
        
        <div class="rk-case-controls">
            <button class="rk-case-btn active" data-scenario="bad">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                Wariant Amatorski (Brak sprzęgła)
            </button>
            <button class="rk-case-btn" data-scenario="good">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                Wariant Inżynierski (Ze sprzęgłem)
            </button>
        </div>

        <div class="rk-case-view">
            
            <div class="rk-case-visual">
                <svg class="rk-case-svg" viewBox="0 0 100 120" preserveAspectRatio="xMidYMid meet">
                    <path d="M10 50 L50 20 L90 50 L90 110 L10 110 Z" fill="none" stroke="#e2e8f0" stroke-width="2"/>
                    <line x1="10" y1="80" x2="90" y2="80" stroke="#e2e8f0" stroke-width="2" stroke-dasharray="4 4"/>
                    <text x="85" y="75" text-anchor="end" font-size="6" fill="#94a3b8">PIĘTRO</text>
                    <text x="85" y="105" text-anchor="end" font-size="6" fill="#94a3b8">PARTER</text>

                    <rect x="15" y="90" width="16" height="16" rx="2" fill="#334155"/>
                    <circle cx="23" cy="98" r="5" fill="#cbd5e1"/>
                    
                    <g class="scenario-layer active" id="svg-bad">
                        <path d="M31 96 L45 96 L45 65 L55 65" stroke="#ef4444" stroke-width="2" fill="none"/>
                        <path d="M45 96 L55 96" stroke="#ef4444" stroke-width="2" fill="none"/>
                        
                        <rect x="55" y="60" width="10" height="10" fill="#94a3b8"/>
                        <rect x="55" y="90" width="10" height="10" fill="#94a3b8"/>
                        
                        <circle class="anim-error" cx="45" cy="80" r="8" fill="#ef4444" opacity="0.8"/>
                        <path d="M42 77 L48 83 M48 77 L42 83" stroke="#ffffff" stroke-width="2"/>
                        <text x="45" y="70" text-anchor="middle" font-size="5" font-weight="bold" fill="#ef4444">KOLIZJA POMP</text>
                    </g>

                    <g class="scenario-layer" id="svg-good">
                        <rect x="42" y="70" width="8" height="30" rx="3" fill="#10b981"/>
                        <text x="46" y="65" text-anchor="middle" font-size="5" font-weight="bold" fill="#10b981">SPRZĘGŁO</text>
                        
                        <path class="anim-flow-ok" d="M31 90 L42 90" stroke="#10b981" stroke-width="2" fill="none"/>
                        <path class="anim-flow-ok" d="M42 95 L31 95" stroke="#0ea5e9" stroke-width="2" fill="none"/>
                        
                        <path class="anim-flow-ok" d="M50 75 L60 75" stroke="#10b981" stroke-width="2" fill="none"/>
                        <path class="anim-flow-ok" d="M50 90 L60 90" stroke="#10b981" stroke-width="2" fill="none"/>
                        
                        <rect x="60" y="70" width="8" height="10" rx="1" fill="#334155"/>
                        <rect x="60" y="85" width="8" height="10" rx="1" fill="#334155"/>
                    </g>
                </svg>
            </div>

            <div class="rk-case-details">
                
                <div class="rk-case-desc active" data-desc="bad">
                    <h3>Błąd w sztuce: Instalacja bezpośrednia</h3>
                    <p>Pan Dawid zatrudnił instalatora, który postanowił "zaoszczędzić" i podłączył rozdzielacze z parteru i piętra (180 m²) bezpośrednio do pompy ciepła, ignorując zasady dynamiki płynów.</p>
                    <p>Gdy automatyka strefowa na piętrze zamknęła pętle, pompa ciepła straciła <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">minimalny wymagany zład wody</a>. Doszło do drastycznego spadku przepływu i tak zwanej "walki pomp".</p>
                    
                    <div class="rk-case-financials">
                        <div class="rk-case-fin-item"><span>Koszt sprzęgła hydraulicznego (zaoszczędzony)</span> <span>+ 800 PLN</span></div>
                        <div class="rk-case-fin-item"><span>Zwiększone rachunki za prąd (taktowanie)</span> <span>- 1 200 PLN / rok</span></div>
                        <div class="rk-case-fin-item"><span>Wymiana zatartej sprężarki po 3 latach</span> <span>- 14 000 PLN</span></div>
                        <div class="rk-case-fin-item"><span>Bilans awarii:</span> <span>- 14 400 PLN</span></div>
                    </div>
                </div>

                <div class="rk-case-desc" data-desc="good">
                    <h3>Standard "Budowa bez ściemy": Odsprzężenie układu</h3>
                    <p>W profesjonalnym projekcie, pomiędzy pompą ciepła a dwoma obiegami grzewczymi (180 m² = ok. 15 pętli) zainstalowano sprzęgło hydrauliczne pełniące funkcję węzła granicznego.</p>
                    <p>Dzięki strefie zerowego oporu, pompa ciepła zawsze ma zapewniony stały, bezpieczny przepływ (<a href="https://projekt-ogrzewania.pl/kompleksowa-wycena-ogrzewania-podlogowego-wodnego-na-co-przygotowac-budzet/">zgodnie z DTR producenta</a>), nawet gdy rozdzielacz na piętrze zostanie całkowicie odcięty przez termostaty.</p>

                    <div class="rk-case-financials">
                        <div class="rk-case-fin-item"><span>Inwestycja w sprzęgło z separatorem</span> <span>- 800 PLN</span></div>
                        <div class="rk-case-fin-item"><span>Oszczędność prądu (optymalna krzywa grzewcza)</span> <span>+ 600 PLN / rok</span></div>
                        <div class="rk-case-fin-item"><span>Bezpieczna praca sprężarki</span> <span>Ponad 15 lat</span></div>
                        <div class="rk-case-fin-item"><span>Bilans inwestycji:</span> <span>Absolutny spokój</span></div>
                    </div>
                </div>

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Case Study: Instalacja w domu 180 m² – Jak błąd instalatora może kosztować 15 000 PLN?",
    "description": "Analiza przypadku inwestycji w instalację podłogową dla domu 180 mkw. Porównanie wariantu z pominięciem sprzęgła hydraulicznego (koszty awarii) ze standardem inżynierskim.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-case-study",
    "name": "Analiza Kosztów i Ryzyka Awarii dla Domu 180 m2",
    "description": "Zestawienie finansowe porównujące koszty prewencji hydraulicznej (zakup sprzęgła) z kosztami naprawczymi (wymiana sprężarki pompy ciepła) dla budynku wielostrefowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "koszt ogrzewania podłogowego 180m2",
      "awaria pompy ciepła koszty",
      "błędy instalatora podłogówka",
      "wycena instalacji grzewczej",
      "brak sprzęgła hydraulicznego"
    ],
    "measurementTechnique": "Symulacja kosztów zysków i strat (ROI) w perspektywie wieloletniej, uwzględniająca spadek sprawności urządzenia (taktowanie) oraz awarię mechaniczną sprężarki z powodu braku zładu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wariant amatorski: Pozorna oszczędność 800 PLN, ryzyko utraty 14 000 PLN z powodu uszkodzenia sprężarki.",
        "Wariant inżynierski: Inwestycja 800 PLN w sprzęgło skutkuje optymalizacją krzywej grzewczej i rocznymi oszczędnościami rzędu 600 PLN."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-scenariusze-awarii",
    "name": "Symulator Scenariuszy Inwestycyjnych",
    "description": "Interaktywny interfejs pozwalający na przełączanie się pomiędzy dwoma wariantami wykonawstwa (zgodnie ze sztuką vs błąd instalatora) i wizualizujący koszty na modelu domu 180 m2.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const scenarioBtns = document.querySelectorAll('.rk-case-btn');
    const svgLayers = document.querySelectorAll('.scenario-layer');
    const descBlocks = document.querySelectorAll('.rk-case-desc');

    scenarioBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            const scenario = this.getAttribute('data-scenario');

            // Reset przycisków
            scenarioBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Przełączanie warstw SVG
            svgLayers.forEach(layer => {
                if(layer.id === 'svg-' + scenario) {
                    layer.classList.add('active');
                } else {
                    layer.classList.remove('active');
                }
            });

            // Przełączanie opisów i finansów
            descBlocks.forEach(desc => {
                if(desc.getAttribute('data-desc') === scenario) {
                    desc.classList.add('active');
                } else {
                    desc.classList.remove('active');
                }
            });
        });
    });
});
</script>



<style>
:root {
    --rk-bg-white: #ffffff;
    --rk-bg-light: #f8fafc;
    --rk-text-main: #1e293b;
    --rk-text-secondary: #64748b;
    --rk-brand-blue: #0284c7;
    --rk-brand-blue-hover: #0369a1;
    --rk-brand-light-blue: #e0f2fe;
    --rk-border-color: #e2e8f0;
    --rk-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.1);
}

.rk-faq-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-bg-white);
    border-radius: 20px;
    box-shadow: var(--rk-shadow);
    border: 1px solid var(--rk-border-color);
    overflow: hidden;
}

.rk-faq-header {
    padding: 40px;
    background: linear-gradient(to right, #0f172a, #1e293b);
    text-align: center;
    color: #ffffff;
}

.rk-faq-header h2 {
    margin: 0 0 15px 0;
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -0.5px;
    color: #ffffff;
}

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

.rk-faq-container {
    padding: 40px;
    background: var(--rk-bg-light);
}

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

.rk-faq-item:hover {
    border-color: var(--rk-brand-light-blue);
    box-shadow: 0 4px 15px rgba(2, 132, 199, 0.05);
}

.rk-faq-item.active {
    border-color: var(--rk-brand-blue);
    box-shadow: 0 4px 20px rgba(2, 132, 199, 0.1);
}

.rk-faq-btn {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 20px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-text-main);
    transition: color 0.3s ease;
}

.rk-faq-item.active .rk-faq-btn {
    color: var(--rk-brand-blue);
    background: var(--rk-brand-light-blue);
}

.rk-faq-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-bg-light);
    color: var(--rk-brand-blue);
    flex-shrink: 0;
    margin-left: 15px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s ease;
}

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

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

.rk-faq-item.active .rk-faq-content {
    max-height: 500px;
    opacity: 1;
    padding: 0 25px 25px 25px;
}

.rk-faq-content p {
    margin: 0;
    padding-top: 20px;
    border-top: 1px solid var(--rk-border-color);
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-text-secondary);
}

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

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-container { padding: 25px 20px; }
    .rk-faq-header h2 { font-size: 24px; }
    .rk-faq-btn { font-size: 15px; padding: 15px 20px; }
    .rk-faq-content { padding: 0 20px; }
    .rk-faq-item.active .rk-faq-content { padding: 0 20px 20px 20px; }
    .rk-faq-content p { font-size: 15px; }
}
</style>

<div class="rk-faq-module" id="rk-faq-sprzeglo">
    <div class="rk-faq-header">
        <h2>FAQ – Najczęściej zadawane pytania</h2>
        <p>Zbiór technicznych odpowiedzi bazujących na moim inżynierskim doświadczeniu. Zero zgadywania, same konkrety dla Twojej instalacji.</p>
    </div>

    <div class="rk-faq-container">
        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <span>Czy sprzęgło hydrauliczne jest wymagane przy kotle gazowym?</span>
                <span class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </span>
            </button>
            <div class="rk-faq-content">
                <p>Tak, jest zalecane, jeśli instalacja posiada więcej niż jeden obieg grzewczy lub gdy sumaryczny przepływ przez wszystkie pętle podłogowe przekracza wydajność wymiennika <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kotła gazowego</a>.</p>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <span>Czy sprzęgło hydrauliczne to to samo co bufor ciepła?</span>
                <span class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </span>
            </button>
            <div class="rk-faq-content">
                <p>Nie, sprzęgło służy do rozdzielenia hydraulicznego obiegów, natomiast <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła</a> służy do magazynowania energii cieplnej. W nowoczesnych instalacjach z <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompą ciepła</a> często stosuje się oba te elementy.</p>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <span>Ile kosztuje profesjonalne sprzęgło hydrauliczne?</span>
                <span class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </span>
            </button>
            <div class="rk-faq-content">
                <p>Cena markowego sprzęgła (np. z separatorem magnetycznym) waha się od 400 PLN do 1200 PLN w zależności od dopasowanej mocy instalacji i wyposażenia dodatkowego chroniącego armaturę.</p>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <span>Jak często serwisować sprzęgło hydrauliczne?</span>
                <span class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </span>
            </button>
            <div class="rk-faq-content">
                <p>Zaleca się kontrolę stanu odpowietrznika oraz staranne czyszczenie filtra magnetycznego w dolnej części sprzęgła raz w roku, najlepiej tuż przed rozpoczęciem sezonu grzewczego.</p>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <span>Czy mogę zamontować sprzęgło samodzielnie?</span>
                <span class="rk-faq-icon">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </span>
            </button>
            <div class="rk-faq-content">
                <p>Montaż wymaga głębokiej wiedzy z zakresu hydrauliki oraz zachowania odpowiednich średnic przyłączeniowych. Jeśli zastanawiasz się, czy <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-czy-warto-robic-to-samemu/">instalację warto robić samemu</a>, zalecam powierzenie węzła kotłowni wykwalifikowanemu instalatorowi.</p>
            </div>
        </div>
    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania o sprzęgło hydrauliczne",
    "description": "Zbiór eksperckich odpowiedzi na najważniejsze pytania dotyczące doboru, ceny, montażu i działania sprzęgieł hydraulicznych w instalacjach z pompą ciepła i kotłem gazowym.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy sprzęgło hydrauliczne jest wymagane przy kotle gazowym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, jest zalecane, jeśli instalacja posiada więcej niż jeden obieg grzewczy lub gdy sumaryczny przepływ przez wszystkie pętle podłogowe przekracza wydajność wymiennika kotła."
        }
      },
      {
        "@type": "Question",
        "name": "Czy sprzęgło hydrauliczne to to samo co bufor ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, sprzęgło służy do rozdzielenia hydraulicznego obiegów, natomiast bufor służy do magazynowania energii cieplnej. W nowoczesnych instalacjach z pompą ciepła często stosuje się oba te elementy."
        }
      },
      {
        "@type": "Question",
        "name": "Ile kosztuje profesjonalne sprzęgło hydrauliczne?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Cena markowego sprzęgła (np. z separatorem magnetycznym) waha się od 400 PLN do 1200 PLN w zależności od mocy i wyposażenia dodatkowego."
        }
      },
      {
        "@type": "Question",
        "name": "Jak często serwisować sprzęgło hydrauliczne?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zaleca się kontrolę stanu odpowietrznika oraz czyszczenie filtra magnetycznego w dolnej części sprzęgła raz w roku, najlepiej przed sezonem grzewczym."
        }
      },
      {
        "@type": "Question",
        "name": "Czy mogę zamontować sprzęgło samodzielnie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Montaż wymaga wiedzy z zakresu hydrauliki oraz zachowania odpowiednich średnic przyłączeniowych, dlatego zalecamy powierzenie tej czynności wykwalifikowanemu instalatorowi."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-faq",
    "name": "Baza Wiedzy Instalatora - Najczęstsze Problemy Hydrauliczne",
    "description": "Zestawienie wytycznych technicznych i cenowych dotyczących montażu i konserwacji sprzęgieł hydraulicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "cena sprzęgła hydraulicznego",
      "serwis ogrzewania podłogowego",
      "bufor a sprzęgło hydrauliczne",
      "samodzielny montaż podłogówki",
      "zabezpieczenie kotła gazowego"
    ],
    "measurementTechnique": "Agregacja zapytań i problemów technicznych inwestorów na podstawie analizy projektowej układów grzewczych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Identyfikacja wymogów technicznych dla źródeł ciepła w układach zamkniętych.",
        "Zalecenia dotyczące prewencji serwisowej i optymalizacji kosztów armatury."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywny Przewodnik FAQ HVAC",
    "description": "Akordionowy moduł edukacyjny (interfejs użytkownika) ułatwiający szybkie wyszukiwanie rozwiązań najczęstszych problemów hydraulicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

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

    faqItems.forEach(item => {
        const btn = item.querySelector('.rk-faq-btn');
        
        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zamknij wszystkie pozostałe akordeony
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-faq-btn').setAttribute('aria-expanded', 'false');
            });

            // Otwórz kliknięty, chyba że był już otwarty (wtedy zostaje zamknięty z powyższego kodu)
            if (!isActive) {
                item.classList.add('active');
                btn.setAttribute('aria-expanded', 'true');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-bg-main: #ffffff;
    --rk-text-dark: #1e293b;
    --rk-text-muted: #64748b;
    --rk-accent-blue: #0ea5e9;
    --rk-accent-blue-hover: #0284c7;
    --rk-safe-green: #10b981;
    --rk-safe-bg: #ecfdf5;
    --rk-danger-red: #ef4444;
    --rk-danger-bg: #fef2f2;
    --rk-border: #cbd5e1;
}

.rk-summary-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-bg-main);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.1);
    border: 1px solid var(--rk-border);
    overflow: hidden;
}

/* Sekcja Tytułowa */
.rk-summary-header {
    padding: 40px;
    background: linear-gradient(145deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid var(--rk-border);
    text-align: center;
}

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

.rk-summary-header p {
    font-size: 16px;
    color: var(--rk-text-muted);
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

/* Kontroler / Przełącznik */
.rk-interactive-section {
    padding: 40px;
}

.rk-interactive-section h3 {
    text-align: center;
    font-size: 20px;
    margin: 0 0 30px 0;
    color: var(--rk-text-dark);
}

.rk-toggle-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
    background: #f8fafc;
    padding: 15px;
    border-radius: 100px;
    border: 1px solid var(--rk-border);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.rk-toggle-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-text-muted);
    cursor: pointer;
    transition: color 0.3s;
    user-select: none;
}

.rk-toggle-label.active-danger { color: var(--rk-danger-red); }
.rk-toggle-label.active-safe { color: var(--rk-safe-green); }

/* Switch design */
.rk-switch {
    position: relative;
    width: 80px;
    height: 40px;
}

.rk-switch input { 
    opacity: 0;
    width: 0;
    height: 0;
}

.rk-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--rk-danger-red);
    transition: .4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 40px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.rk-slider:before {
    position: absolute;
    content: "";
    height: 32px;
    width: 32px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

input:checked + .rk-slider {
    background-color: var(--rk-safe-green);
}

input:checked + .rk-slider:before {
    transform: translateX(40px);
}

/* Obszar wyników symulacji (Bez Grafiki) */
.rk-sim-display {
    padding: 30px;
    border-radius: 16px;
    transition: all 0.4s ease;
}

.rk-sim-display.state-safe {
    background: var(--rk-safe-bg);
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.rk-sim-display.state-danger {
    background: var(--rk-danger-bg);
    border: 1px solid rgba(239, 68, 68, 0.2);
}

.rk-sim-text-box h4 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 20px 0;
    text-align: center;
}

.state-safe .rk-sim-text-box h4 { color: var(--rk-safe-green); }
.state-danger .rk-sim-text-box h4 { color: var(--rk-danger-red); }

.rk-sim-text-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-sim-text-box li {
    position: relative;
    padding-left: 36px;
    font-size: 16px;
    color: var(--rk-text-dark);
    line-height: 1.6;
}

.rk-sim-text-box li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    color: white;
}

.state-safe .rk-sim-text-box li::before {
    content: '✓';
    background: var(--rk-safe-green);
}

.state-danger .rk-sim-text-box li::before {
    content: '✕';
    background: var(--rk-danger-red);
}

.rk-sim-text-box a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}

/* Sekcja CTA */
.rk-summary-cta {
    padding: 40px;
    background: var(--rk-text-dark);
    text-align: center;
}

.rk-summary-cta h3 {
    color: #ffffff;
    font-size: 24px;
    margin: 0 0 25px 0;
}

.rk-btn-solid {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-accent-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 18px 35px;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.rk-btn-solid:hover {
    background: var(--rk-accent-blue-hover);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.4);
}

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

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

/* Responsywność */
@media (max-width: 768px) {
    .rk-summary-header, .rk-interactive-section, .rk-summary-cta { padding: 25px 20px; }
    .rk-summary-header h2 { font-size: 24px; }
    
    .rk-toggle-container {
        flex-direction: column;
        gap: 15px;
        padding: 20px;
        border-radius: 20px;
    }
    
    .rk-sim-display { padding: 25px 20px; }
    .rk-sim-text-box h4 { font-size: 20px; text-align: left; }
    .rk-sim-text-box li { font-size: 15px; }
    
    .rk-btn-solid { width: 100%; font-size: 16px; padding: 16px 20px; }
}
</style>

<div class="rk-summary-module" id="rk-sprzeglo-symulator">
    <div class="rk-summary-header">
        <h2>Podsumowanie: Czy warto inwestować w sprzęgło hydrauliczne?</h2>
        <p>Sprzęgło hydrauliczne to bezpośrednia inwestycja w stabilność, cichą pracę i długowieczność systemu. Biorąc pod uwagę koszt pompy ciepła, wydatek rzędu kilkuset złotych na separator z wkładem magnetycznym jest znikomy w porównaniu do kosztów serwisu zatartej sprężarki.</p>
    </div>

    <div class="rk-interactive-section">
        <h3>Symulacja: Koszt ochrony vs Koszt awarii</h3>
        
        <div class="rk-toggle-container">
            <span class="rk-toggle-label active-danger" id="rk-lbl-danger" onclick="document.getElementById('rk-toggle-input').click()">Brak sprzęgła (Ryzyko)</span>
            <label class="rk-switch">
                <input type="checkbox" id="rk-toggle-input">
                <span class="rk-slider"></span>
            </label>
            <span class="rk-toggle-label" id="rk-lbl-safe" onclick="document.getElementById('rk-toggle-input').click()">Sprzęgło + Magnes (Standard Inżynierski)</span>
        </div>

        <div class="rk-sim-display state-danger" id="rk-sim-box">
            <div class="rk-sim-text-box" id="rk-sim-content">
                </div>
        </div>
    </div>

    <div class="rk-summary-cta">
        <h3>Projektuj z głową, grzej oszczędnie</h3>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-solid">
            CZYTAJ WIĘCEJ W BAZIE WIEDZY EKSKLUZYWNEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie: Czy warto inwestować w sprzęgło hydrauliczne?",
    "description": "Analiza opłacalności montażu sprzęgła hydraulicznego z separatorem magnetycznym w kontekście ochrony pompy ciepła i żywotności instalacji podłogowej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-podsumowanie",
    "name": "Wskaźnik Rentowności Sprzęgła Hydraulicznego (ROI)",
    "description": "Zestawienie techniczno-ekonomiczne: Koszt instalacji separatora hydraulicznego z magnesem kontra potencjalne koszty naprawy uszkodzonego źródła ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "koszt awarii pompy ciepła",
      "żywotność sprężarki",
      "czystość układu hydraulicznego",
      "opłacalność sprzęgła hydraulicznego",
      "zabezpieczenie instalacji podłogowej"
    ],
    "measurementTechnique": "Symulacja kosztów prewencji (zakup sprzęgła ~800 PLN) w stosunku do kosztów awaryjnej wymiany zatartej pompy obiegowej lub sprężarki.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Standard Inżynierski: Sprzęgło z separatorem magnetycznym chroni układ, wydłuża żywotność pomp obiegowych i stabilizuje przepływy.",
        "Ryzyko Instalacyjne: Brak sprzęgła prowadzi do zjawiska walki pomp, kawitacji i drastycznego spadku sprawności źródła ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-podsumowanie",
    "name": "Kalkulator Ryzyka Hydraulicznego",
    "description": "Interaktywny symulator przepływów demonstrujący zachowanie instalacji grzewczej i obciążeń finansowych w wariancie ze sprzęgłem i bez niego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggleInput = document.getElementById('rk-toggle-input');
    const simBox = document.getElementById('rk-sim-box');
    const simContent = document.getElementById('rk-sim-content');
    const lblDanger = document.getElementById('rk-lbl-danger');
    const lblSafe = document.getElementById('rk-lbl-safe');

    // Baza danych dla dwóch stanów
    const dataStates = {
        danger: `
            <h4>Walka pomp i utrata sprawności</h4>
            <ul>
                <li><strong>Ryzyko awarii:</strong> Częste taktowanie pompy ciepła i drastyczne obniżenie żywotności sprężarki.</li>
                <li><strong>Skutki hydrauliczne:</strong> Pompy obiegowe zakłócają swoją pracę, powodując szumy i nierównomierne grzanie pętli.</li>
                <li><strong>Błędy krytyczne:</strong> Pozorna oszczędność na etapie montażu prowadzi do najdroższych <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">błędów przy instalacji podłogówki</a>.</li>
            </ul>
        `,
        safe: `
            <h4>Stabilność i absolutna ochrona</h4>
            <ul>
                <li><strong>Inżynierska separacja:</strong> Sprzęgło tworzy punkt zerowego ciśnienia. Każda pompa pracuje na własnej krzywej wydajności.</li>
                <li><strong>Filtracja magnetyczna:</strong> Osady i szlam są wychwytywane na dnie, chroniąc drogie rotametry i zawory strefowe.</li>
                <li><strong>Fundament projektu:</strong> Umożliwia precyzyjny dobór podzespołów, np. rzetelne parametry dla <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">kalkulatora doboru pompy obiegowej</a>.</li>
            </ul>
        `
    };

    // Inicjalizacja domyślnego widoku
    simContent.innerHTML = dataStates.danger;

    toggleInput.addEventListener('change', function() {
        if(this.checked) {
            // Stan bezpieczny (zielony)
            simBox.classList.remove('state-danger');
            simBox.classList.add('state-safe');
            simContent.innerHTML = dataStates.safe;
            
            lblSafe.classList.add('active-safe');
            lblDanger.classList.remove('active-danger');
        } else {
            // Stan zagrożenia (czerwony)
            simBox.classList.remove('state-safe');
            simBox.classList.add('state-danger');
            simContent.innerHTML = dataStates.danger;
            
            lblDanger.classList.add('active-danger');
            lblSafe.classList.remove('active-safe');
        }
    });
});
</script>



<style>
:root {
    --rk-res-bg: #ffffff;
    --rk-res-surface: #f8fafc;
    --rk-res-dark: #0f172a;
    --rk-res-slate: #334155;
    --rk-res-gray: #94a3b8;
    --rk-res-blue: #0284c7;
    --rk-res-blue-light: #e0f2fe;
    --rk-res-border: #e2e8f0;
    --rk-res-accent: #f59e0b;
}

.rk-resource-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-res-bg);
    border-radius: 16px;
    box-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-res-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-res-header {
    background: var(--rk-res-dark);
    padding: 35px 40px;
    border-bottom: 4px solid var(--rk-res-blue);
    text-align: center;
}

.rk-res-header h2 {
    margin: 0 0 10px 0;
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    line-height: 1.3;
}

.rk-res-header p {
    font-size: 16px;
    color: var(--rk-res-gray);
    margin: 0 auto;
    max-width: 700px;
    line-height: 1.5;
}

/* Układ główny */
.rk-res-workspace {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    background: var(--rk-res-bg);
}

/* Lewy Panel - Podgląd */
.rk-res-preview {
    padding: 40px;
    background: var(--rk-res-surface);
    border-right: 1px solid var(--rk-res-border);
    display: flex;
    justify-content: center;
    align-items: center;
}

.rk-res-preview-img {
    width: 100%;
    max-width: 320px;
    height: auto;
    border-radius: 8px;
    border: 1px solid var(--rk-res-border);
    box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}

/* Prawy Panel - Akcje */
.rk-res-actions {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-res-actions p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-res-slate);
    margin: 0 0 25px 0;
}

/* Przyciski (bez animacji, ostre stany) */
.rk-res-btn-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 35px;
}

.rk-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 24px;
    font-size: 15px;
    font-weight: 800;
    border-radius: 8px;
    text-decoration: none;
    cursor: pointer;
}

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

.rk-btn-primary:hover {
    background: #0369a1;
    border-color: #0369a1;
}

.rk-btn-secondary {
    background: transparent;
    color: var(--rk-res-dark);
    border: 2px solid var(--rk-res-slate);
}

.rk-btn-secondary:hover {
    background: var(--rk-res-slate);
    color: #ffffff;
}

.rk-btn-icon {
    width: 20px;
    height: 20px;
}

/* Nota Prawna / Copyright */
.rk-res-copyright {
    background: var(--rk-res-blue-light);
    border-left: 4px solid var(--rk-res-blue);
    padding: 15px 20px;
    border-radius: 0 8px 8px 0;
}

.rk-res-copyright p {
    margin: 0 0 5px 0;
    font-size: 12px;
    line-height: 1.5;
    color: var(--rk-res-dark);
}

.rk-res-copyright p:last-child {
    margin-bottom: 0;
}

.rk-res-copyright strong {
    font-weight: 800;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-res-header { padding: 30px 20px; }
    .rk-res-header h2 { font-size: 22px; }
    
    .rk-res-workspace { grid-template-columns: 1fr; }
    
    .rk-res-preview { border-right: none; border-bottom: 1px solid var(--rk-res-border); padding: 30px 20px; }
    .rk-res-actions { padding: 30px 20px; }
    
    .rk-res-btn-group { flex-direction: column; }
    .rk-btn { width: 100%; }
}
</style>

<div class="rk-resource-module" id="rk-materialy-do-pobrania">
    <div class="rk-res-header">
        <h2>Kompendium wiedzy: Infografika i materiały PDF</h2>
        <p>Pobierz autorskie schematy na swoje urządzenie. Wydrukuj je i miej zawsze pod ręką podczas rozmów z instalatorami w Twojej kotłowni.</p>
    </div>

    <div class="rk-res-workspace">
        
        <div class="rk-res-preview">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego.webp" alt="Podgląd infografiki: Sprzęgło hydrauliczne w instalacji ogrzewania podłogowego" class="rk-res-preview-img" loading="lazy">
        </div>

        <div class="rk-res-actions">
            <h3>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                Centrum pobierania
            </h3>
            <p>Uzyskaj dostęp do materiałów w wysokiej rozdzielczości, zawierających szczegółową anatomię urządzenia oraz zasady przepływów masowych.</p>
            
            <div class="rk-res-btn-group">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego.pdf" target="_blank" download class="rk-btn rk-btn-primary">
                    <svg class="rk-btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><polyline points="9 15 12 18 15 15"></polyline></svg>
                    POBIERZ PLIK PDF
                </a>
                
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego.webp" target="_blank" class="rk-btn rk-btn-secondary">
                    <svg class="rk-btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>
                    ZOBACZ PEŁNY OBRAZ
                </a>
            </div>

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

    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#article-materialy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/"
    },
    "headline": "Kompendium wiedzy: Infografika i materiały PDF do pobrania",
    "description": "Zestaw autorskich materiałów edukacyjnych (PDF, WebP) przedstawiających budowę i zasadę działania sprzęgła hydraulicznego w układach HVAC.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-14",
    "dateModified": "2026-06-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#dataset-infografika",
    "name": "Paczka Informacyjna: Schematy i Parametry Sprzęgieł Hydraulicznych",
    "description": "Kompletna, skompilowana mapa wizualna (Infografika PDF) zjawisk termodynamicznych i hydraulicznych opisanych w artykule.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika sprzęgło hydrauliczne",
      "schemat kotłowni pdf",
      "zasada działania sprzęgła pdf",
      "Robert Kucharski materiały",
      "ogrzewanie podłogowe schemat"
    ],
    "measurementTechnique": "Wizualizacja wektorowa zjawisk termochemicznych i mechaniki płynów w postaci syntetycznej mapy inżynieryjnej i przekrojów CAD.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wysokiej rozdzielczości schemat anatomii separatora (format WebP).",
        "Dokument PDF dedykowany do wydruku technicznego na cele konsultacji inwestorskich."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/#webapp-centrum-pobierania",
    "name": "Centrum Pobierania Plików Technicznych",
    "description": "Moduł UI zapewniający bezpieczny i szybki dostęp do plików (Download/View) udostępnianych na licencji Projekt-Ogrzewania.pl.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">Sprzęgło hydrauliczne w instalacji ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rotametr (wskaźnik przepływu) w rozdzielaczu ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 29 Nov 2025 17:11:32 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Konserwacja systemów grzewczych]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Regulacja instalacji]]></category>
		<category><![CDATA[Rozdzielacz do podłogówki]]></category>
		<category><![CDATA[Rozdzielacze do podłogówki]]></category>
		<category><![CDATA[Rozdzielacze grzewcze]]></category>
		<category><![CDATA[Serwis i konserwacja]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[przepływomierz]]></category>
		<category><![CDATA[regulacja przepływu]]></category>
		<category><![CDATA[rotametr]]></category>
		<category><![CDATA[rozdzielacz]]></category>
		<category><![CDATA[wskaźnik przepływu]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2873</guid>

					<description><![CDATA[<p>Rotametr (wskaźnik przepływu) w rozdzielaczu ogrzewania podłogowego to jeden z tych elementów instalacji, które wyglądają niepozornie, ale mają ogromny wpływ na komfort cieplny całego domu. W artykule wyjaśniam, jak działa rotametr, dlaczego jest kluczowy dla równoważenia hydraulicznego oraz jak prawidłowo ustawić przepływy na każdej pętli podłogówki. Dzięki temu dowiesz się, jak uniknąć przegrzewania pomieszczeń, zimnych stref na podłodze i niepotrzebnych strat energii.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">Rotametr (wskaźnik przepływu) w rozdzielaczu ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --primary: #0f172a;
    --accent: #0284c7; /* Hydrauliczny, chłodny niebieski */
    --accent-hover: #0369a1;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f0f9ff;
    --border-color: #e2e8f0;
    --glass-bg: rgba(255, 255, 255, 0.9);
}

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

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

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

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

/* Wewnętrzne nagłówki SEO */
.hero-content h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary);
    line-height: 1.2;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.hero-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: #334155;
    margin-top: 35px;
    margin-bottom: 15px;
}

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

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

.hero-text a {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.hero-text a:hover {
    color: var(--accent-hover);
}

/* Interaktywne Zakładki (Tabs) eliminujące "ścianę tekstu" */
.hero-tabs-container {
    margin: 25px 0 35px 0;
    background: #f8fafc;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 10px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.hero-tab-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
    background: #ffffff;
    padding: 8px;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}

.hero-tab-btn {
    flex: 1;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.hero-tab-btn:hover {
    background: #f1f5f9;
    color: var(--primary);
}

.hero-tab-btn.active {
    background: var(--accent);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.25);
}

.hero-tab-panels {
    padding: 10px 20px 20px 20px;
    min-height: 140px; /* Zapobiega skakaniu wysokości przy krótkim tekście */
}

.hero-tab-panel {
    display: none;
    animation: fadeSlideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.hero-tab-panel.active {
    display: block;
}

.hero-tab-panel p.hero-text {
    margin-bottom: 0;
}

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

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

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

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

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

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

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

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

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

/* Responsywność */
@media (max-width: 900px) {
    .hero-content { padding: 35px 25px; }
    .hero-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 600px) {
    .hero-tab-buttons { flex-direction: column; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-card { display: flex; align-items: center; text-align: left; gap: 15px; padding: 15px; }
    .hero-card-icon { margin-bottom: 0; font-size: 24px; }
    .hero-content h2 { font-size: 24px; }
    .hero-tab-panels { padding: 10px 5px 10px 5px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Rotametr w ogrzewaniu podłogowym – jak działa wskaźnik przepływu i jak go ustawić?",
    "description": "Zrozum, jak działa rotametr w rozdzielaczu podłogówki. Poradnik regulacji wskaźników przepływu dla zapewnienia równowagi hydraulicznej i idealnego komfortu.",
    "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-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset",
    "name": "Zakresy przepływów hydraulicznych dla rotametrów w instalacjach płaszczyznowych",
    "description": "Zestawienie optymalnych oraz krytycznych wartości natężenia przepływu (w litrach na minutę) dla pętli ogrzewania podłogowego, służące do diagnozy i regulacji na rozdzielaczu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rotametr",
      "jak ustawić rotametr w podłogówce",
      "regulacja rotametrów ogrzewania podłogowego",
      "brak przepływu na rotametrze",
      "wskaźnik przepływu podłogówka"
    ],
    "measurementTechnique": "Bezpośredni odczyt wizualny przemieszczenia pływaka względem skali pomiarowej na stożkowym korpusie rotametru.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Wskaźnik natężenia przepływu cieczy"
    }
  }
]
</script>

<div class="premium-hero-box" id="hero-app-container">
    <div class="hero-content">
        
        <div class="hero-badge">
            <span>⚙️</span> Kompendium Hydrauliki
        </div>
        
        <h2>Rotametr: Serce Równowagi Twojej Podłogówki</h2>
        
        <div class="hero-tabs-container">
            <div class="hero-tab-buttons">
                <button class="hero-tab-btn active" data-tab="tab-definicja">
                    <span>📌</span> Czym jest rotametr?
                </button>
                <button class="hero-tab-btn" data-tab="tab-praktyka">
                    <span>💡</span> Dlaczego to ważne?
                </button>
            </div>
            
            <div class="hero-tab-panels">
                <div class="hero-tab-panel active" id="tab-definicja">
                    <p class="hero-text"><strong>Rotametr</strong>, często nazywany w profesjonalnej nomenklaturze wskaźnikiem przepływu, to niepozorne, przezroczyste urządzenie montowane na <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielaczu ogrzewania podłogowego</a>. Choć wydaje się tylko małą plastikową rurką ze skalą, bez niego <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">prawidłowe działanie nowoczesnej instalacji HVAC</a> byłoby procesem chaotycznym i opartym wyłącznie na zgadywaniu.</p>
                </div>
                
                <div class="hero-tab-panel" id="tab-praktyka">
                    <p class="hero-text">Zastanawiasz się, <strong>jak ustawić rotametr w podłogówce</strong>, aby uniknąć niedogrzanych stref lub zbyt wysokich rachunków za prąd z pompy obiegowej? Prawidłowa <strong>regulacja rotametrów ogrzewania podłogowego</strong> to ostateczny szlif, który łączy założenia <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalnego projektu OZC</a> z rzeczywistym zładem wody w Twoim domu. W tym wpisie pokażę Ci zasady działania tego elementu oraz sposób na rozwiązanie problemów, gdy zauważysz <strong>brak przepływu na rotametrze</strong>.</p>
                </div>
            </div>
        </div>

        <div class="hero-modules-title">W tym poradniku omówimy:</div>
        
        <div class="hero-grid">
            <div class="hero-card">
                <span class="hero-card-icon">🔍</span>
                <span class="hero-card-title">Fizyka działania rotametru w pigułce</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">⚖️</span>
                <span class="hero-card-title">Krok po kroku: Regulacja na rozdzielaczu</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🛠️</span>
                <span class="hero-card-title">Diagnoza: Dlaczego pływak wibruje?</span>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- LOGIKA ZAKŁADEK (TABS) ---
    const tabBtns = document.querySelectorAll('.hero-tab-btn');
    const tabPanels = document.querySelectorAll('.hero-tab-panel');

    tabBtns.forEach(btn => {
        btn.addEventListener('click', () => {
            // Usuń aktywną klasę z przycisków i paneli
            tabBtns.forEach(b => b.classList.remove('active'));
            tabPanels.forEach(p => p.classList.remove('active'));

            // Dodaj aktywną klasę do klikniętego przycisku i odpowiedniego panelu
            btn.classList.add('active');
            const targetId = btn.getAttribute('data-tab');
            document.getElementById(targetId).classList.add('active');
        });
    });

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



<style>
:root {
    --primary: #0f172a;
    --accent: #0ea5e9; /* Kolor niebieski z suwaka i wartości na obrazku */
    --accent-hover: #0284c7;
    --text-main: #334155;
    --text-muted: #64748b;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    
    /* Status Colors */
    --status-ok-bg: #dcfce7;
    --status-ok-text: #16a34a;
    --status-warn-bg: #ffedd5;
    --status-warn-text: #ea580c;
    --status-err-bg: #fee2e2;
    --status-err-text: #dc2626;
}

.article-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--text-main);
    line-height: 1.8;
}

.article-section h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.article-section h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 40px;
    margin-bottom: 15px;
}

.article-section p {
    font-size: 17px;
    margin-bottom: 20px;
}

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

.article-section a:hover {
    border-color: var(--accent);
}

.article-section ul {
    list-style-type: none;
    padding: 0;
    margin-bottom: 30px;
}

.article-section ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 12px;
    font-size: 16px;
}

.article-section ul li::before {
    content: "✔️";
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 14px;
    color: var(--accent);
}

/* Interaktywny Widget / Aplikacja */
.app-container {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 24px;
    padding: 40px;
    margin: 40px 0;
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
}

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

.app-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 8px;
}

.app-subtitle {
    font-size: 15px;
    color: var(--text-muted);
}

.app-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 500px;
}

/* Wizualizacja Rotametru */
.rotameter-mockup {
    position: relative;
    width: 100px;
    height: 300px;
    background: #f8fafc;
    border: 2px solid #cbd5e1;
    border-radius: 16px;
    box-shadow: inset 0 4px 10px rgba(0,0,0,0.03), 0 10px 25px -5px rgba(0,0,0,0.05);
    margin-bottom: 35px;
    display: flex;
    justify-content: center;
}

.rotameter-scale {
    position: absolute;
    left: 10px;
    top: 25px;
    bottom: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
}

.rotameter-glass {
    position: absolute;
    bottom: 25px;
    top: 25px;
    width: 32px;
    background: rgba(14, 165, 233, 0.08); /* Lekko niebieska woda */
    border-radius: 4px;
    border-bottom: 3px solid var(--accent);
}

.rotameter-float-wrapper {
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    transition: bottom 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.rotameter-float {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 26px;
    height: 22px;
    background: linear-gradient(to bottom, #ef4444 0%, #dc2626 100%); /* Czerwony grzybek */
    border-radius: 14px 14px 0 0;
    box-shadow: 0 4px 6px -1px rgba(220, 38, 38, 0.4);
}

/* Sekcja kontrolek */
.controls-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.status-badge {
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 30px;
    transition: all 0.3s ease;
    align-self: flex-start;
}

.status-ok { background: var(--status-ok-bg); color: var(--status-ok-text); }
.status-warn { background: var(--status-warn-bg); color: var(--status-warn-text); }
.status-err { background: var(--status-err-bg); color: var(--status-err-text); }

.slider-wrapper {
    width: 100%;
    margin-bottom: 25px;
}

.slider-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    font-weight: 700;
}

.slider-label {
    font-size: 16px;
    color: var(--primary);
}

.slider-value {
    font-size: 16px;
    color: var(--accent);
}

/* Custom Input Range */
input[type=range].custom-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
input[type=range].custom-slider:focus { outline: none; }
input[type=range].custom-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    background: #e2e8f0;
    border-radius: 4px;
}
input[type=range].custom-slider::-webkit-slider-thumb {
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background: var(--accent);
    border: 3px solid #ffffff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -8px;
    transition: transform 0.1s;
}
input[type=range].custom-slider::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

.dynamic-description {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.6;
    text-align: left;
    width: 100%;
    min-height: 60px;
}

@media (max-width: 600px) {
    .app-container { padding: 25px 15px; }
    .status-badge { align-self: center; text-align: center; }
    .dynamic-description { text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#article2",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Czym dokładnie jest rotametr i jak działa? Zasada fizyczna w pigułce.",
    "description": "Szczegółowa analiza budowy i zasady działania rotametru w instalacjach płaszczyznowych. Dowiedz się jak siły wyporu i oporu cieczy wpływają na regulację przepływu.",
    "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-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset2",
    "name": "Budowa i dynamika fizyczna rotametru grzewczego",
    "description": "Dane opisujące elementy składowe wskaźnika przepływu oraz zjawiska fizyczne odpowiedzialne za jego prawidłowe działanie w układzie hydraulicznym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak działa rotametr",
      "budowa rotametru",
      "wskaźnik przepływu zasada fizyczna",
      "rotametry na rozdzielaczu",
      "przepływomierz podłogówka"
    ],
    "measurementTechnique": "Wykorzystanie równowagi sił: wyporu, ciężkości i oporu cieczy w stożkowej rurce pomiarowej.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Elementy konstrukcyjne rotametru hydraulicznego"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp2",
    "name": "Aplikacja: Symulacja Działania Wskaźnika Przepływu (Rotametru)",
    "description": "Aplikacja edukacyjna pozwalająca wizualizować zmianę położenia pływaka rotametru w zależności od natężenia przepływu cieczy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="article-section" id="rotameter-module-container">
    <h2>Czym dokładnie jest rotametr i jak działa? Zasada fizyczna w pigułce.</h2>
    
    <p>W kontekście inżynierii instalacji grzewczych, <strong>rotametr</strong> zalicza się do grupy precyzyjnych przyrządów zwanych przepływomierzami o zmiennym przekroju. Jego zadanie z pozoru jest proste: ma wizualnie, w sposób ciągły, wskazywać ilość czynnika grzewczego (najczęściej jest to woda lub <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/">odpowiednio przygotowana woda demineralizowana</a>) przepływającą w danej chwili przez konkretny obwód grzewczy, czyli pętlę rury ukrytą w wylewce betonowej.</p>
    
    <p>Zasada działania opiera się na genialnych w swej prostocie prawach fizyki, a konkretnie na dynamicznej równowadze trzech sił działających na pływak znajdujący się w strumieniu płynącej cieczy:</p>
    <ul>
        <li><strong>Siła wyporu</strong> – zgodnie z prawem Archimedesa, zawsze skierowana ku górze, wypychająca pływak.</li>
        <li><strong>Siła ciężkości (grawitacji)</strong> – stała siła ciągnąca masę pływaka w dół.</li>
        <li><strong>Siła oporu hydrodynamicznego cieczy</strong> – to zmienna zależna od prędkości. Im szybszy przepływ generuje <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa</a>, tym większa siła działająca na pływak od dołu.</li>
    </ul>

    <p>Pływak porusza się wewnątrz stożkowej (rozszerzającej się ku górze), przezroczystej rurki. Gdy przepływ wynosi równe zero, pływak grawitacyjnie opada na sam dół. Kiedy system startuje i woda zaczyna płynąć, siła oporu unosi pływak do momentu, aż siły się zrównoważą. Im większe <strong>natężenie przepływu</strong>, tym wyżej pływak musi się unieść, by zwiększyć przekrój przepływu wokół siebie i zrównoważyć siły. Odczyt to po prostu zlokalizowanie, na jakiej wartości na nadrukowanej skali znajduje się jego krawędź.</p>

    <div class="app-container">
        <div class="app-header">
            <div class="app-title">Symulator Wskaźnika Przepływu (Rotametru)</div>
            <div class="app-subtitle">Ustaw natężenie przepływu dla pętli grzewczej</div>
        </div>

        <div class="app-content">
            <div class="rotameter-mockup">
                <div class="rotameter-scale">
                    <span>3.0</span>
                    <span>2.0</span>
                    <span>1.0</span>
                    <span>0.0</span>
                </div>
                <div class="rotameter-glass">
                    <div class="rotameter-float-wrapper" id="simFloatWrapper">
                        <div class="rotameter-float"></div>
                    </div>
                </div>
            </div>

            <div class="controls-section">
                <div id="simBadge" class="status-badge status-ok">Zakres optymalny</div>
                
                <div class="slider-wrapper">
                    <div class="slider-info">
                        <span class="slider-label">Przepływ:</span>
                        <span class="slider-value" id="simValue">1.6 l/min</span>
                    </div>
                    <input type="range" class="custom-slider" id="simSlider" min="0" max="3" step="0.1" value="1.6">
                </div>

                <div class="dynamic-description" id="simDesc">
                    Najczęstszy, optymalny zakres przepływu wg projektów. Zapewnia równomierne nagrzewanie przy optymalnym zużyciu energii przez pompę.
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- Logika Aplikacji ---
    const slider = document.getElementById('simSlider');
    const floatWrap = document.getElementById('simFloatWrapper');
    const valText = document.getElementById('simValue');
    const badge = document.getElementById('simBadge');
    const desc = document.getElementById('simDesc');

    function updateSimulator() {
        const val = parseFloat(slider.value);
        valText.innerText = val.toFixed(1) + ' l/min';
        
        // Zabezpieczenie przed wyjściem pływaka poza rurkę.
        // max to 100% wysokości kontenera szklanego
        const percent = (val / 3.0) * 100;
        floatWrap.style.bottom = percent + '%';

        // Warunki statusów i opisów na podstawie obrazka i wiedzy
        badge.className = 'status-badge';
        if (val === 0) {
            badge.classList.add('status-err');
            badge.innerText = 'Brak przepływu';
            desc.innerHTML = 'Obwód jest zamknięty. Brak wymiany ciepła. Jeśli zawór jest otwarty, wskazuje to na <strong>poważne zapowietrzenie</strong> lub zablokowanie pętli.';
        } else if (val > 0 && val < 0.6) {
            badge.classList.add('status-warn');
            badge.innerText = 'Niski przepływ';
            desc.innerHTML = 'Przepływ może być niewystarczający do usunięcia pęcherzyków powietrza z instalacji, co grozi niedogrzaniem strefy.';
        } else if (val >= 0.6 && val <= 2.2) {
            badge.classList.add('status-ok');
            badge.innerText = 'Zakres optymalny';
            desc.innerHTML = 'Najczęstszy, optymalny zakres przepływu wg projektów. Zapewnia równomierne nagrzewanie przy optymalnym zużyciu energii przez pompę.';
        } else {
            badge.classList.add('status-warn');
            badge.innerText = 'Zbyt wysoki przepływ';
            desc.innerHTML = 'Zbyt szybki obieg wody generuje <strong>szumy w instalacji</strong> i niepotrzebnie przeciąża pompę obiegową bez realnych korzyści cieplnych.';
        }
    }

    slider.addEventListener('input', updateSimulator);
    // Inicjalizacja startowa żeby zgadzało się z ustawieniem slidera
    updateSimulator();


    // --- Zabezpieczenie domenowe (Domain Lock) ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowed.includes(domain)) {
        const container = document.getElementById('rotameter-module-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; border: 2px solid #ef4444; border-radius: 16px; margin: 40px 0; font-family: sans-serif;">
                    <div style="font-size: 50px; margin-bottom: 15px;">⚠️</div>
                    <div style="font-size: 20px; font-weight: 800; color: #b91c1c; margin-bottom: 10px;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 16px; color: #7f1d1d; margin-bottom: 25px;">Treść i interaktywne narzędzia na tej stronie zostały skopiowane nielegalnie z serwisu <strong>Projekt-Ogrzewania.pl</strong>.</div>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 24px; background: #dc2626; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">Wróć do źródła</a>
                </div>
            `;
        }
    }
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #0284c7;
    --accent-hover: #0369a1;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    --glass-bg: rgba(255, 255, 255, 0.95);
    --brass: #d4af37;
    --plastic: #1e293b;
}

.anatomy-section {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: #334155;
    line-height: 1.8;
}

.anatomy-hero-box {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    position: relative;
    padding: 45px 50px;
}

.anatomy-hero-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.05) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    transform: translate(30%, -30%);
    z-index: 0;
}

.content-wrapper {
    position: relative;
    z-index: 1;
}

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

.anatomy-section h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.anatomy-section h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 35px;
    margin-bottom: 15px;
}

.anatomy-section p {
    font-size: 17px;
    margin-bottom: 20px;
}

.anatomy-section a {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.anatomy-section a:hover {
    color: var(--accent-hover);
}

/* Interaktywny Eksplorator Anatomii */
.anatomy-app {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    margin: 40px 0;
    display: flex;
    gap: 40px;
    align-items: flex-start;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
}

.anatomy-visual {
    flex: 0 0 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

/* SVG Styling */
.svg-rotameter {
    width: 120px;
    height: auto;
    overflow: visible;
}

.svg-part {
    transition: all 0.3s ease;
    cursor: pointer;
}

.svg-part:hover {
    filter: drop-shadow(0 0 8px rgba(2, 132, 199, 0.4));
}

.svg-part.active {
    filter: drop-shadow(0 0 12px rgba(2, 132, 199, 0.6));
    stroke: var(--accent);
    stroke-width: 2px;
}

.anatomy-controls {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.app-title-small {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.anatomy-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.part-btn {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.part-btn:hover {
    border-color: var(--accent);
    color: var(--accent);
}

.part-btn.active {
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

.info-card {
    background: #ffffff;
    border-left: 4px solid var(--accent);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    min-height: 160px;
}

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

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

@media (max-width: 800px) {
    .anatomy-hero-box { padding: 30px 20px; }
    .anatomy-app { flex-direction: column; align-items: center; gap: 25px; padding: 20px;}
    .anatomy-visual { width: 100%; max-width: 250px; }
    .anatomy-buttons { justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#budowa",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Budowa rotametru – z czego składa się wskaźnik przepływu?",
    "description": "Szczegółowa analiza komponentów rotametru: rurka pomiarowa, pływak, gwint mosiężny, uszczelka O-ring i filtr. Interaktywny model budowy urządzenia.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2025/11/Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-czesci",
    "name": "Specyfikacja techniczna i wykaz części rotametru do ogrzewania płaszczyznowego",
    "description": "Baza materiałowa i konstrukcyjna elementów wskaźnika przepływu: poliwęglan (rurka), mosiądz (gwint), EPDM (O-ring) oraz tworzywa sztuczne (pływak, obejma).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "budowa rotametru",
      "części rotametru ogrzewanie podłogowe",
      "wskaźnik przepływu podłogówka budowa",
      "uszczelka O-ring w rotametrze",
      "filtr siatkowy rotametru"
    ],
    "measurementTechnique": "Analiza inżynieryjna komponentów hydraulicznych rozdzielacza mosiężnego/nierdzewnego.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Komponenty budowy rotametru"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-budowa",
    "name": "Interaktywny Eksplorator Anatomii Rotametru",
    "description": "Aplikacja webowa z modułem SVG umożliwiająca interaktywne poznanie budowy wewnętrznej i zewnętrznej wskaźnika przepływu w ogrzewaniu podłogowym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, SVG, JavaScript"
  }
]
</script>

<div class="anatomy-section" id="anatomy-app-container">
    <div class="anatomy-hero-box">
        <div class="content-wrapper">
            
            <div class="anatomy-badge">
                <span>🔎</span> Anatomia Urządzenia
            </div>
            
            <h2>Budowa rotametru – z czego składa się wskaźnik przepływu?</h2>
            
            <p>Mimo prostej zasady działania opartej na fizyce, <strong>konstrukcja rotametru jest niezwykle przemyślana</strong>. To niewielkie urządzenie musi wytrzymywać stałe ciśnienie, wahania temperatur, a jednocześnie zapewniać wysoką przejrzystość przez wiele lat eksploatacji instalacji. Odpowiednia znajomość jego elementów to klucz nie tylko do regulacji, ale i do konserwacji – na przykład gdy zastanawiasz się, <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/">jaki wpływ ma jakość czynnika grzewczego</a> na żywotność wskaźnika.</p>
            
            <p>Poniżej przygotowałem dla Ciebie interaktywny model. Pozwoli Ci on zrozumieć, co dokładnie wkręcasz w belkę rozdzielacza i dlaczego każdy z tych drobnych detali – od gwintu po małą uszczelkę odpowiadającą za <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">pomyślne przejście próby szczelności</a> – ma tak ogromne znaczenie.</p>

            <div class="anatomy-app">
                <div class="anatomy-visual">
                    <svg class="svg-rotameter" viewBox="0 0 100 240" xmlns="http://www.w3.org/2000/svg">
                        <defs>
                            <linearGradient id="glassGrad" x1="0%" y1="0%" x2="100%" y2="0%">
                                <stop offset="0%" stop-color="#f8fafc" stop-opacity="0.8"/>
                                <stop offset="50%" stop-color="#ffffff" stop-opacity="0.4"/>
                                <stop offset="100%" stop-color="#e2e8f0" stop-opacity="0.9"/>
                            </linearGradient>
                            <linearGradient id="brassGrad" x1="0%" y1="0%" x2="100%" y2="0%">
                                <stop offset="0%" stop-color="#b8860b"/>
                                <stop offset="50%" stop-color="#ffd700"/>
                                <stop offset="100%" stop-color="#daa520"/>
                            </linearGradient>
                        </defs>
                        
                        <g id="part-rurka" class="svg-part active">
                            <path d="M 35 15 L 65 15 L 75 140 L 25 140 Z" fill="url(#glassGrad)" stroke="#cbd5e1" stroke-width="2"/>
                            <line x1="30" y1="30" x2="40" y2="30" stroke="#64748b" stroke-width="1.5"/>
                            <line x1="30" y1="55" x2="35" y2="55" stroke="#64748b" stroke-width="1"/>
                            <line x1="30" y1="80" x2="40" y2="80" stroke="#64748b" stroke-width="1.5"/>
                            <line x1="30" y1="105" x2="35" y2="105" stroke="#64748b" stroke-width="1"/>
                            <line x1="30" y1="130" x2="40" y2="130" stroke="#64748b" stroke-width="1.5"/>
                        </g>

                        <g id="part-plywak" class="svg-part">
                            <path d="M 40 100 L 60 100 L 55 120 L 45 120 Z" fill="#ef4444"/>
                            <path d="M 45 120 L 55 120 L 50 135 Z" fill="#dc2626"/>
                        </g>

                        <g id="part-pokretlo" class="svg-part">
                            <rect x="20" y="140" width="60" height="20" rx="3" fill="#dc2626"/>
                            <rect x="22" y="142" width="56" height="16" rx="2" fill="#ef4444"/>
                            <line x1="30" y1="140" x2="30" y2="160" stroke="#b91c1c" stroke-width="2"/>
                            <line x1="50" y1="140" x2="50" y2="160" stroke="#b91c1c" stroke-width="2"/>
                            <line x1="70" y1="140" x2="70" y2="160" stroke="#b91c1c" stroke-width="2"/>
                        </g>

                        <g id="part-gwint" class="svg-part">
                            <rect x="28" y="160" width="44" height="25" fill="#1e293b"/>
                            <rect x="32" y="185" width="36" height="20" fill="url(#brassGrad)"/>
                            <path d="M 32 188 L 68 188 M 32 194 L 68 194 M 32 200 L 68 200" stroke="#b8860b" stroke-width="1.5"/>
                            <rect x="30" y="183" width="40" height="4" rx="2" fill="#000000"/>
                        </g>

                        <g id="part-filtr" class="svg-part">
                            <path d="M 38 205 L 62 205 L 58 230 L 42 230 Z" fill="#e2e8f0" stroke="#94a3b8" stroke-width="1.5"/>
                            <line x1="42" y1="210" x2="58" y2="210" stroke="#cbd5e1" stroke-width="1"/>
                            <line x1="44" y1="215" x2="56" y2="215" stroke="#cbd5e1" stroke-width="1"/>
                            <line x1="46" y1="220" x2="54" y2="220" stroke="#cbd5e1" stroke-width="1"/>
                        </g>
                    </svg>
                </div>

                <div class="anatomy-controls">
                    <div class="app-title-small">Wybierz element, aby poznać jego funkcję:</div>
                    
                    <div class="anatomy-buttons">
                        <button class="part-btn active" data-target="part-rurka">
                            Szklana rurka i skala
                        </button>
                        <button class="part-btn" data-target="part-plywak">
                            Pływak pomiarowy
                        </button>
                        <button class="part-btn" data-target="part-pokretlo">
                            Czerwona obejma (Regulacja)
                        </button>
                        <button class="part-btn" data-target="part-gwint">
                            Gwint i uszczelka O-ring
                        </button>
                        <button class="part-btn" data-target="part-filtr">
                            Wewnętrzny filtr
                        </button>
                    </div>

                    <div class="info-card" id="anatomy-info-card">
                        <h4>Szklana rurka pomiarowa i skala (L/min)</h4>
                        <p>Przezroczysty korpus wykonany zazwyczaj ze wzmocnionego poliwęglanu, odpornego na wysokie temperatury. Umożliwia ciągłą, wizualną obserwację przepływu. Nadrukowana na nim podziałka pozwala precyzyjnie odczytać wartość w litrach na minutę (L/min).</p>
                    </div>
                </div>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Baza danych dla interaktywnego eksploratora
    const anatomyData = {
        'part-rurka': {
            title: 'Szklana rurka pomiarowa i skala (L/min)',
            desc: 'Przezroczysty korpus wykonany zazwyczaj ze wzmocnionego poliwęglanu, odpornego na wysokie temperatury. Umożliwia ciągłą, wizualną obserwację przepływu. Nadrukowana na nim podziałka pozwala precyzyjnie odczytać wartość w litrach na minutę (L/min).'
        },
        'part-plywak': {
            title: 'Pływak pomiarowy (stożkowy)',
            desc: 'Główny element pomiarowy. Unosi się w strumieniu cieczy pod wpływem oporu hydrodynamicznego wody z pompy obiegowej. To jego górna krawędź wyznacza odczyt przepływu na skali.'
        },
        'part-pokretlo': {
            title: 'Czerwona obejma (Regulacja przepływu)',
            desc: 'Pokrętło lub zintegrowany z korpusem zawór. Obracając je ręcznie, dławimy lub zwiększamy przekrój, ustawiając w ten sposób docelowy przepływ masowy dla konkretnej pętli ogrzewania podłogowego.'
        },
        'part-gwint': {
            title: 'Gwint montażowy (mosiądz) i uszczelka O-ring',
            desc: 'Metalowy element odpowiadający za mechaniczne i trwałe połączenie wskaźnika z mosiężną lub nierdzewną belką rozdzielacza. Czarny O-ring wykonany z gumy EPDM gwarantuje absolutną szczelność układu.'
        },
        'part-filtr': {
            title: 'Wewnętrzny filtr siatkowy',
            desc: 'Niezwykle ważny, lecz często niewidoczny z zewnątrz element. Zabezpiecza precyzyjny mechanizm pływaka przed mikrozanieczyszczeniami z instalacji, które mogłyby go zablokować na dnie lub przekłamać odczyt.'
        }
    };

    const buttons = document.querySelectorAll('.part-btn');
    const svgParts = document.querySelectorAll('.svg-part');
    const infoCard = document.getElementById('anatomy-info-card');

    function updateExplorer(targetId) {
        // Reset aktywnych stanów
        buttons.forEach(b => b.classList.remove('active'));
        svgParts.forEach(s => s.classList.remove('active'));

        // Aktywuj wybrane
        document.querySelector(`.part-btn[data-target="${targetId}"]`).classList.add('active');
        document.getElementById(targetId).classList.add('active');

        // Aktualizuj treść z małą animacją opacity
        infoCard.style.opacity = 0;
        setTimeout(() => {
            infoCard.innerHTML = `
                <p>${anatomyData[targetId].title}</p>
                <p>${anatomyData[targetId].desc}</p>
            `;
            infoCard.style.transition = 'opacity 0.3s ease';
            infoCard.style.opacity = 1;
        }, 150);
    }

    // Dodaj zdarzenia do przycisków
    buttons.forEach(btn => {
        btn.addEventListener('click', (e) => {
            updateExplorer(e.currentTarget.getAttribute('data-target'));
        });
    });

    // Dodaj zdarzenia do części SVG (umożliwia klikanie w rysunek)
    svgParts.forEach(part => {
        part.addEventListener('click', (e) => {
            updateExplorer(e.currentTarget.id);
        });
    });

    // --- ZABEZPIECZENIE DOMENOWE (Domain Lock) ---
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('anatomy-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #e0f2fe; color: #0284c7; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 48px; margin-bottom: 20px;">🔒</div>
                    <div style="font-size: 24px; font-weight: bold; margin-bottom: 10px;">Ochrona treści</div>
                    <p style="font-size: 16px; color: #0369a1; max-width: 500px; margin: 0 auto 25px auto;">
                        Ten interaktywny moduł edukacyjny stanowi własność intelektualną serwisu <strong>Projekt-Ogrzewania.pl</strong> i został osadzony bezprawnie.
                    </p>
                    <a href="https://projekt-ogrzewania.pl/" style="display:inline-block; padding: 12px 24px; background: #0284c7; color: #fff; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
        }
    }
});
</script>



<style>
:root {
    --mf-primary: #0f172a;
    --mf-panel: #ffffff;
    --mf-accent: #0ea5e9;
    --mf-accent-dark: #0284c7;
    --mf-text: #334155;
    --mf-muted: #64748b;
    --mf-border: #e2e8f0;
    --mf-danger: #ef4444;
    --mf-success: #10b981;
    --mf-brass: #d4af37;
    --mf-brass-dark: #b8860b;
}

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

/* FORMATOWANIE TEKSTU */
.mf-article-content {
    padding: 40px 50px 20px 50px;
}

.mf-article-content h2 {
    font-size: 28px;
    font-weight: 800;
    color: var(--mf-primary);
    margin-bottom: 25px;
    letter-spacing: -0.5px;
}

.mf-article-content h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--mf-primary);
    margin-top: 35px;
    margin-bottom: 20px;
}

.mf-article-content a {
    color: var(--mf-accent-dark);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: 0.2s;
}

.mf-article-content a:hover {
    color: #0c4a6e;
}

.mf-lead-text {
    font-size: 17px;
    line-height: 1.8;
    color: var(--mf-text);
    margin-bottom: 25px;
    border-left: 4px solid var(--mf-accent);
    padding-left: 20px;
}

.mf-info-box {
    background: #f8fafc;
    border: 1px solid var(--mf-border);
    border-radius: 16px;
    padding: 20px 25px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.mf-info-icon {
    font-size: 28px;
    flex-shrink: 0;
    line-height: 1;
}

.mf-info-box p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
}

.mf-compare-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 10px;
}

.mf-compare-card {
    padding: 25px;
    border-radius: 16px;
    border: 1px solid;
}

.mf-danger-card {
    background: #fef2f2;
    border-color: #fecaca;
}

.mf-success-card {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.mf-card-title {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 12px;
}

.mf-danger-card .mf-card-title { color: #991b1b; }
.mf-success-card .mf-card-title { color: #166534; }

.mf-compare-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #3f3f46;
}

/* APLIKACJA ROZDZIELACZA */
.mf-app {
    background: #f8fafc;
    border-top: 1px solid var(--mf-border);
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.mf-app-header {
    text-align: center;
}

.mf-app-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--mf-primary);
    margin-bottom: 8px;
}

.mf-app-subtitle {
    font-size: 14px;
    color: var(--mf-muted);
}

/* WIZUALIZACJA SVG */
.mf-visual-panel {
    background: #ffffff;
    border: 1px solid var(--mf-border);
    border-radius: 20px;
    padding: 30px 20px;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
    display: flex;
    justify-content: center;
}

.mf-manifold-svg {
    width: 100%;
    max-width: 700px;
    height: auto;
    overflow: visible;
}

.mf-glass { fill: #f1f5f9; stroke: #cbd5e1; stroke-width: 2; }
.mf-water { fill: #0ea5e9; transition: height 0.5s cubic-bezier(0.25, 1, 0.5, 1), y 0.5s cubic-bezier(0.25, 1, 0.5, 1); }
.mf-float { fill: #ef4444; transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1); }
.mf-scale-line { stroke: #94a3b8; stroke-width: 1; }

/* KONTROLKI */
.mf-controls-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.mf-zone-card {
    background: #ffffff;
    border: 1px solid var(--mf-border);
    padding: 15px 20px;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

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

.mf-zone-name {
    font-weight: 800;
    font-size: 14px;
    color: var(--mf-primary);
    display: flex;
    align-items: center;
    gap: 6px;
}

.mf-zone-value {
    background: #e0f2fe;
    color: var(--mf-accent-dark);
    padding: 4px 10px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 13px;
}

.mf-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
.mf-slider:focus { outline: none; }
.mf-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 6px;
    cursor: pointer;
    background: #cbd5e1;
    border-radius: 4px;
}
.mf-slider::-webkit-slider-thumb {
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: var(--mf-accent);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -7px;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* PANEL STATUSU I PRZYCISK */
.mf-action-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fffbeb;
    border: 1px solid #fde68a;
    padding: 20px 30px;
    border-radius: 16px;
    margin-top: 10px;
    transition: 0.4s;
}

.mf-action-panel.balanced {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.mf-status-text { max-width: 65%; }

.mf-status-title {
    font-size: 18px;
    font-weight: 900;
    color: #92400e;
    margin-bottom: 5px;
}
.mf-action-panel.balanced .mf-status-title { color: #166534; }

.mf-status-desc {
    font-size: 14px;
    color: #b45309;
    line-height: 1.5;
}
.mf-action-panel.balanced .mf-status-desc { color: #15803d; }

.mf-toggle-btn {
    background: var(--mf-primary);
    color: #ffffff;
    border: none;
    padding: 16px 28px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 15px;
    cursor: pointer;
    transition: 0.3s;
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.2);
}

.mf-toggle-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.3);
}

.mf-toggle-btn.active {
    background: var(--mf-success);
}

@media (max-width: 800px) {
    .mf-article-content { padding: 30px 25px 10px 25px; }
    .mf-compare-grid { grid-template-columns: 1fr; }
    .mf-app { padding: 30px 20px; }
    .mf-action-panel { flex-direction: column; text-align: center; gap: 20px; }
    .mf-status-text { max-width: 100%; }
    .mf-toggle-btn { width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#rownowazenie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Równoważenie hydrauliczne instalacji – najważniejsze zadanie rotametru",
    "description": "Zobacz na interaktywnym symulatorze rozdzielacza 5-obwodowego, jak rozregulowane przepływy niszczą wydajność układu oraz jak prawidłowo wyregulować rotametry.",
    "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-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-przeplywy",
    "name": "Rozkład przepływów hydraulicznych w 5-sekcyjnym rozdzielaczu ogrzewania podłogowego",
    "description": "Zestawienie zmian natężenia przepływu przed i po zastosowaniu kryzowania (regulacji rotametrami) dla typowych pomieszczeń domowych: Salon, Kuchnia, Łazienka, Sypialnia, Korytarz.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "równoważenie hydrauliczne",
      "jak wyregulować rotametry ogrzewanie podłogowe",
      "przepływ wody w podłogówce",
      "regulacja pętli ogrzewania",
      "opory hydrauliczne podłogówka"
    ],
    "measurementTechnique": "Symulacja obliczeniowa oporów przepływu (wielkość przepływu odwrotnie proporcjonalna do długości rury PEX/PERT) przy stałym wydatku pompy obiegowej.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Proces równoważenia hydraulicznego rozdzielacza"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-hydraulika",
    "name": "Zaawansowany Symulator Rozdzielacza 5-obwodowego",
    "description": "Aplikacja webowa symulująca przepływy w instalacji podłogowej. Wskazuje jak różnica w długości pętli w poszczególnych pomieszczeniach powoduje niedogrzanie jednych i przegrzanie innych stref.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, SVG"
  }
]
</script>

<div class="mf-container" id="app-manifold-balancing">
    <div class="mf-article-content">
        <h2>Rola rotametru: Równoważenie hydrauliczne całego domu</h2>
        
        <div class="mf-lead-text">
            Wielu inwestorów zastanawia się, czy rotametry są absolutnie konieczne, czy stanowią jedynie zbędny, podnoszący koszty dodatek. Prawda jest brutalna: <strong>bez rotametrów profesjonalne wyregulowanie ogrzewania podłogowego jest w 100% niemożliwe</strong>. To tak, jakby próbować nastroić fortepian bez zmysłu słuchu.
        </div>

        <div class="mf-info-box">
            <span class="mf-info-icon">💧</span>
            <p>W typowym domu pętle grzewcze rzadko są idealnie równe. Masz przecież rozległy <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">salon wymagający ogromnej ilości rur</a> (np. 110 metrów) i maleńki korytarz lub toaletę z pętlą zaledwie 30-metrową. Fizyka cieczy jest nieubłagana – woda w instalacji zachowuje się jak „leniwy uczeń”. Zawsze wybiera drogę o najmniejszym oporze hydraulicznym.</p>
        </div>

        <h3>Co się dzieje bez regulacji? (Zjawisko kradzieży przepływu)</h3>
        
        <div class="mf-compare-grid">
            <div class="mf-compare-card mf-danger-card">
                <div class="mf-card-title">❌ Brak regulacji (Szum i zimno)</div>
                <p>Gdybyś otworzył wszystkie obwody na rozdzielaczu na 100%, ciśnienie z pompy uciekłoby niemal w całości przez najkrótsze pętle. W efekcie w korytarzu i małej łazience miałbyś &#8222;piekarnik&#8221; i niepokojący szum wody, a w kluczowym dla komfortu salonie – <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">zimną podłogę</a>, ponieważ przez 100-metrową rurę woda po prostu nie miałaby siły popłynąć.</p>
            </div>
            
            <div class="mf-compare-card mf-success-card">
                <div class="mf-card-title">✅ Rotametr jako precyzyjny dławik</div>
                <p>To właśnie tutaj wkracza rotametr. Działa on jak precyzyjny dławik. Poprzez ręczne wkręcanie czerwonej obejmy <strong>sztucznie zwiększamy opór na krótkich pętlach</strong>. Zmuszamy w ten sposób wodę do pokonania dłuższego dystansu i zasilenia największych pomieszczeń, tak aby zrównać system z założeniami z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a>.</p>
            </div>
        </div>
    </div>

    <div class="mf-app">
        <div class="mf-app-header">
            <div class="mf-app-title">Symulator Równoważenia Rozdzielacza (5 Stref)</div>
            <div class="mf-app-subtitle">Ustaw długości pętli i zobacz, jak &#8222;leniwa&#8221; woda omija najdłuższe z nich.</div>
        </div>

        <div class="mf-visual-panel">
            <svg class="mf-manifold-svg" viewBox="0 0 600 250" xmlns="http://www.w3.org/2000/svg">
                <rect x="20" y="200" width="560" height="40" rx="5" fill="url(#brassGrad)"/>
                <path d="M 20 210 L 580 210 M 20 230 L 580 230" stroke="#b8860b" stroke-width="1" opacity="0.5"/>
                
                <defs>
                    <linearGradient id="brassGrad" x1="0%" y1="0%" x2="0%" y2="100%">
                        <stop offset="0%" stop-color="#ffd700"/>
                        <stop offset="50%" stop-color="#daa520"/>
                        <stop offset="100%" stop-color="#b8860b"/>
                    </linearGradient>
                </defs>

                <g transform="translate(70, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/><text x="-2" y="24" font-size="10" fill="#64748b">3.0</text>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/><text x="-2" y="69" font-size="10" fill="#64748b">2.0</text>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/><text x="-2" y="114" font-size="10" fill="#64748b">1.0</text>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/><text x="-2" y="159" font-size="10" fill="#64748b">0.0</text>
                    <rect id="water-1" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-1" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/> <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">SALON</text>
                    <text id="val-1" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(170, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-2" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-2" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">KUCHNIA</text>
                    <text id="val-2" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(270, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-3" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-3" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">ŁAZIENKA</text>
                    <text id="val-3" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(370, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-4" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-4" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">SYPIALNIA</text>
                    <text id="val-4" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>

                <g transform="translate(470, 20)">
                    <rect class="mf-glass" x="-20" y="0" width="40" height="170" rx="4"/>
                    <line class="mf-scale-line" x1="-15" y1="20" x2="-5" y2="20"/>
                    <line class="mf-scale-line" x1="-15" y1="65" x2="-5" y2="65"/>
                    <line class="mf-scale-line" x1="-15" y1="110" x2="-5" y2="110"/>
                    <line class="mf-scale-line" x1="-15" y1="155" x2="-5" y2="155"/>
                    <rect id="water-5" class="mf-water" x="-18" y="165" width="36" height="0"/>
                    <path id="float-5" class="mf-float" d="M -10 165 L 10 165 L 6 155 L -6 155 Z"/>
                    <rect x="-24" y="170" width="48" height="15" fill="#dc2626" rx="2"/>
                    <text x="0" y="-10" font-size="12" font-weight="bold" fill="#334155" text-anchor="middle">KORYTARZ</text>
                    <text id="val-5" x="0" y="260" font-size="14" font-weight="900" fill="#0284c7" text-anchor="middle">0.0 l/min</text>
                </g>
            </svg>
        </div>

        <div class="mf-action-panel" id="mf-status-box">
            <div class="mf-status-text">
                <div class="mf-status-title" id="mf-status-title">⚠️ System ROZREGULOWANY!</div>
                <div class="mf-status-desc" id="mf-status-desc">Wszystkie rotametry są całkowicie otwarte (0 dławienia). Ciśnienie z pompy ucieka z najmniejszym oporem przez krótkie pętle (Łazienka, Korytarz). Salon pozostaje lodowaty!</div>
            </div>
            <button class="mf-toggle-btn" id="mf-toggle-btn">
                <span>🔧</span> WŁĄCZ REGULACJĘ ROTAMETRAMI
            </button>
        </div>

        <div class="mf-controls-grid">
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">📺 Salon (Długa)</span>
                    <span class="mf-zone-value"><span id="l-val-1">110</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-1" min="40" max="130" step="5" value="110">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🍳 Kuchnia (Średnia)</span>
                    <span class="mf-zone-value"><span id="l-val-2">70</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-2" min="30" max="100" step="5" value="70">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🛁 Łazienka (Krótka)</span>
                    <span class="mf-zone-value"><span id="l-val-3">35</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-3" min="20" max="80" step="5" value="35">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🛏️ Sypialnia (Średnia)</span>
                    <span class="mf-zone-value"><span id="l-val-4">60</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-4" min="30" max="100" step="5" value="60">
            </div>
            <div class="mf-zone-card">
                <div class="mf-zone-header">
                    <span class="mf-zone-name">🚪 Korytarz (Bardzo krótka)</span>
                    <span class="mf-zone-value"><span id="l-val-5">25</span> m</span>
                </div>
                <input type="range" class="mf-slider" id="l-input-5" min="20" max="70" step="5" value="25">
            </div>
        </div>
        
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- DOMAIN LOCK ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-manifold-balancing');
        if (container) {
            container.innerHTML = `<div style="padding:40px;text-align:center;background:#0f172a;color:#fff;border-radius:24px;"><p>🔒 Narzędzie Chronione</p><p>Symulator Równoważenia 5-obwodowego należy do <strong>Projekt-Ogrzewania.pl</strong>.</p></div>`;
            return;
        }
    }

    let isBalanced = false;
    const totalPumpFlow = 10.0;
    const multipliers = [0.018, 0.020, 0.040, 0.015, 0.025]; 

    const inputs = [
        document.getElementById('l-input-1'),
        document.getElementById('l-input-2'),
        document.getElementById('l-input-3'),
        document.getElementById('l-input-4'),
        document.getElementById('l-input-5')
    ];
    
    const valDisplays = [
        document.getElementById('l-val-1'),
        document.getElementById('l-val-2'),
        document.getElementById('l-val-3'),
        document.getElementById('l-val-4'),
        document.getElementById('l-val-5')
    ];

    const waterRects = [
        document.getElementById('water-1'),
        document.getElementById('water-2'),
        document.getElementById('water-3'),
        document.getElementById('water-4'),
        document.getElementById('water-5')
    ];
    
    const floats = [
        document.getElementById('float-1'),
        document.getElementById('float-2'),
        document.getElementById('float-3'),
        document.getElementById('float-4'),
        document.getElementById('float-5')
    ];

    const flowReadouts = [
        document.getElementById('val-1'),
        document.getElementById('val-2'),
        document.getElementById('val-3'),
        document.getElementById('val-4'),
        document.getElementById('val-5')
    ];

    const toggleBtn = document.getElementById('mf-toggle-btn');
    const statusBox = document.getElementById('mf-status-box');
    const statusTitle = document.getElementById('mf-status-title');
    const statusDesc = document.getElementById('mf-status-desc');

    function calculateFlows() {
        const lengths = inputs.map(input => parseFloat(input.value));
        lengths.forEach((len, i) => { valDisplays[i].textContent = len; });

        let flows = [0,0,0,0,0];

        if (isBalanced) {
            flows = lengths.map((len, i) => {
                let optimal = len * multipliers[i];
                return Math.min(optimal, 3.2); 
            });
            
            statusBox.className = 'mf-action-panel balanced';
            statusTitle.innerHTML = '✅ UKŁAD IDEALNIE ZBILANSOWANY';
            statusDesc.innerHTML = 'Rotametry zostały prawidłowo zdławione według projektu. Największy opór stawiany jest krótkim pętlom (Korytarz, Łazienka), wymuszając przepływ w Salonie. Cały dom grzeje równomiernie.';
            toggleBtn.innerHTML = '<span>🔓</span> Otwórz zawory na 100% (Zepsuj)';
            toggleBtn.classList.add('active');

        } else {
            let conductances = lengths.map(len => 1 / len);
            let sumConductance = conductances.reduce((a, b) => a + b, 0);
            
            flows = conductances.map(c => totalPumpFlow * (c / sumConductance));
            
            statusBox.className = 'mf-action-panel';
            statusTitle.innerHTML = '⚠️ System ROZREGULOWANY!';
            statusDesc.innerHTML = 'Wszystkie rotametry są całkowicie otwarte (0 dławienia). Ciśnienie ucieka z najmniejszym oporem przez krótkie pętle (Łazienka, Korytarz). Salon pozostaje lodowaty!';
            toggleBtn.innerHTML = '<span>🔧</span> WŁĄCZ REGULACJĘ ROTAMETRAMI';
            toggleBtn.classList.remove('active');
        }

        flows.forEach((flow, i) => {
            let displayFlow = Math.min(flow, 3.2);
            let pxHeight = (displayFlow / 3.2) * 145; 
            
            waterRects[i].setAttribute('height', pxHeight);
            waterRects[i].setAttribute('y', 165 - pxHeight);
            floats[i].style.transform = `translateY(-${pxHeight}px)`;

            flowReadouts[i].textContent = `${flow.toFixed(1)} l/min`;
            if (!isBalanced && (flow > 2.5 || flow < 0.6)) {
                flowReadouts[i].setAttribute('fill', '#dc2626'); 
            } else {
                flowReadouts[i].setAttribute('fill', '#0284c7'); 
            }
        });
    }

    inputs.forEach(input => {
        input.addEventListener('input', () => {
            isBalanced = false;
            calculateFlows();
        });
    });

    toggleBtn.addEventListener('click', () => {
        isBalanced = !isBalanced;
        calculateFlows();
    });

    calculateFlows();
});
</script>



<style>
:root {
    --diag-primary: #0f172a;
    --diag-panel: #ffffff;
    --diag-accent: #0284c7;
    --diag-accent-light: #e0f2fe;
    --diag-text: #334155;
    --diag-muted: #64748b;
    --diag-border: #e2e8f0;
    --diag-danger: #ef4444;
    --diag-warning: #f59e0b;
    --diag-success: #10b981;
}

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

/* WSTĘP */
.diag-intro {
    background: linear-gradient(135deg, #ffffff, var(--diag-accent-light));
    padding: 35px 40px;
    border-radius: 24px;
    border: 1px solid var(--diag-border);
    margin-bottom: 30px;
    box-shadow: 0 10px 30px -10px rgba(2, 132, 199, 0.1);
}

.diag-intro h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--diag-primary);
    margin-bottom: 15px;
    letter-spacing: -0.5px;
    line-height: 1.3;
}

.diag-intro p {
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
}

/* KARTY FUNKCJI (Zamiast ściany tekstu) */
.diag-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.diag-card {
    background: var(--diag-panel);
    border: 1px solid var(--diag-border);
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: transform 0.3s, box-shadow 0.3s;
}

.diag-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px -5px rgba(0,0,0,0.05);
    border-color: #bae6fd;
}

.diag-card-icon {
    font-size: 32px;
    margin-bottom: 15px;
    display: block;
}

.diag-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--diag-primary);
    margin-top: 0;
    margin-bottom: 15px;
    line-height: 1.3;
}

.diag-card p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 15px;
}

.diag-card ul {
    padding-left: 20px;
    margin: 0;
    font-size: 14px;
    color: #475569;
}

.diag-card li { margin-bottom: 6px; }

.diag-link {
    color: var(--diag-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: 0.2s;
}
.diag-link:hover { border-color: var(--diag-accent); color: #0369a1; }

/* SYMULATOR DIAGNOSTYCZNY */
.diag-app {
    background: var(--diag-panel);
    border: 1px solid var(--diag-border);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.05);
    display: flex;
}

.diag-app-sidebar {
    width: 35%;
    background: #f8fafc;
    padding: 30px;
    border-right: 1px solid var(--diag-border);
}

.diag-app-main {
    width: 65%;
    padding: 30px 40px;
    display: flex;
    align-items: center;
    gap: 40px;
}

.diag-btn {
    width: 100%;
    text-align: left;
    background: #ffffff;
    border: 1px solid var(--diag-border);
    padding: 15px 20px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--diag-text);
    margin-bottom: 12px;
    cursor: pointer;
    transition: 0.2s;
    display: flex;
    align-items: center;
    gap: 10px;
}

.diag-btn:hover { border-color: var(--diag-accent); }
.diag-btn.active {
    background: var(--diag-accent);
    color: #ffffff;
    border-color: var(--diag-accent);
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

/* SVG ROTAMETR ANIMACJE */
.diag-svg-container {
    width: 120px;
    height: 280px;
    flex-shrink: 0;
}

.svg-glass { fill: #f1f5f9; stroke: #cbd5e1; stroke-width: 2; }
.svg-water { fill: rgba(14, 165, 233, 0.15); }
.svg-float { fill: #ef4444; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }

/* Animacje stanów */
.state-normal .svg-float { transform: translateY(-70px); }
.state-zero .svg-float { transform: translateY(0px); }
.state-jump .svg-float { animation: jumpAnim 0.8s infinite alternate ease-in-out; }
@keyframes jumpAnim {
    0% { transform: translateY(-40px); }
    100% { transform: translateY(-80px); }
}

/* Bąbelki powietrza */
.svg-bubble { fill: #ffffff; opacity: 0; }
.state-jump .svg-bubble { animation: bubbleRise 1.5s infinite linear; }
.state-jump .svg-bubble:nth-child(2) { animation-delay: 0.5s; }
.state-jump .svg-bubble:nth-child(3) { animation-delay: 1s; }
@keyframes bubbleRise {
    0% { transform: translateY(140px); opacity: 0; }
    20% { opacity: 0.8; }
    100% { transform: translateY(20px); opacity: 0; }
}

.diag-result {
    flex-grow: 1;
}

.diag-badge {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 15px;
}
.badge-ok { background: #dcfce7; color: #166534; }
.badge-warn { background: #fef3c7; color: #92400e; }
.badge-err { background: #fee2e2; color: #991b1b; }

.diag-result h4 {
    font-size: 20px;
    font-weight: 900;
    color: var(--diag-primary);
    margin: 0 0 10px 0;
}

.diag-result p {
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
}

@media (max-width: 900px) {
    .diag-grid { grid-template-columns: 1fr; }
    .diag-app { flex-direction: column; }
    .diag-app-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--diag-border); }
    .diag-app-main { width: 100%; flex-direction: column; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#diagnostyka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Rola rotametru: Równoważenie, kontrola i diagnostyka ogrzewania podłogowego",
    "description": "Zrozum 3 fundamentalne funkcje wskaźnika przepływu. Naucz się diagnozować awarię pompy, zapowietrzenie obiegów i brak przepływu na rotametrze dzięki interaktywnej aplikacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-03",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-symptomy",
    "name": "Symptomy i diagnoza pracy obiegów grzewczych na podstawie rotametrów",
    "description": "Wizualna obserwacja zachowania pływaka rotametru pod obciążeniem hydraulicznym. Baza danych objawów zapowietrzenia i awarii pompy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "brak przepływu na rotametrze",
      "skaczący rotametr podłogówka",
      "diagnoza ogrzewania podłogowego",
      "wskaźnik przepływu na zerze",
      "jak wyregulować podłogówkę rotametrami"
    ],
    "measurementTechnique": "Bezpośrednia obserwacja dynamiki wskaźnika pływakowego na belce rozdzielacza w stosunku do wydajności pompy obiegowej.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Diagnostyka hydrauliczna instalacji"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-diagnosta",
    "name": "Interaktywny Diagnosta Rotametrów",
    "description": "Narzędzie symulujące stany awaryjne wskaźnika przepływu. Pozwala wizualnie zidentyfikować zapowietrzenie pętli lub usterki mechaniczne systemu na podstawie zachowania rotametru.",
    "applicationCategory": "DiagnosticApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, SVG Animations"
  }
]
</script>

<div class="diag-wrapper" id="app-diagnostics-module">
    
    <div class="diag-intro">
        <h2>Więcej niż wskaźnik: Trzy filary rotametru</h2>
        <p>Wielu inwestorów zastanawia się, czy rotametr na rozdzielaczu to tylko zbędny gadżet podnoszący wycenę instalatora. Prawda jest taka, że bez nich <strong>profesjonalne i energooszczędne wyregulowanie instalacji jest po prostu fizycznie niemożliwe</strong>. To &#8222;oczy i uszy&#8221; Twojego systemu HVAC, pełniące 3 fundamentalne role.</p>
    </div>

    <div class="diag-grid">
        <div class="diag-card">
            <span class="diag-card-icon">⚖️</span>
            <h3>1. Równoważenie hydrauliczne</h3>
            <p>To najważniejsze zadanie. W domu pętle mają różną długość: np. łazienka 70m, salon 100m, sypialnia 60m. <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="diag-link">Dłuższa pętla stawia większy opór</a>.</p>
            <p>Gdyby pętle były w pełni otwarte, woda wybrałaby najkrótszą drogę. W efekcie łazienka byłaby przegrzana, a salon lodowaty. Rotametr pozwala &#8222;przykręcić&#8221; krótkie obwody i zrównoważyć dostarczaną energię.</p>
        </div>

        <div class="diag-card">
            <span class="diag-card-icon">🩺</span>
            <h3>2. Ciągła diagnoza systemu</h3>
            <p>Rotametry to niezawodne &#8222;pulsomierze&#8221; instalacji. Wystarczy jeden rzut oka na belkę rozdzielacza, aby w kilka sekund zlokalizować awarię układu.</p>
            <ul>
                <li><strong>Leży na dnie:</strong> Blokada lub silne zapowietrzenie.</li>
                <li><strong>Drga i skacze:</strong> Powietrze w rurach.</li>
                <li><strong>Wszystkie na 0:</strong> Prawdopodobna awaria <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" class="diag-link">pompy obiegowej</a>.</li>
            </ul>
        </div>

        <div class="diag-card">
            <span class="diag-card-icon">🚀</span>
            <h3>3. Narzędzie przy rozruchu</h3>
            <p>Podczas pierwszego uruchomienia i <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="diag-link">próby ciśnieniowej</a>, rozbieżności między projektem a odczytem rotametru to czerwona flaga.</p>
            <p>Mogą one wskazywać na fizyczne załamanie rury w wylewce, zbyt mocne zaciśnięcie złączki lub błąd w wykonaniu długości pętli. Z kolei w eksploatacji powolny spadek przepływu to sygnał o zamuleniu (zanieczyszczeniu) zładu wody.</p>
        </div>
    </div>

    <div class="diag-app">
        <div class="diag-app-sidebar">
            <div class="diag-app-title">Symulator Diagnosty</div>
            <div class="diag-app-subtitle" style="margin-bottom: 25px;">Kliknij w objaw, który obserwujesz na swojej instalacji:</div>
            
            <button class="diag-btn active" data-state="normal">
                <span>✅</span> Stabilny odczyt
            </button>
            <button class="diag-btn" data-state="jump">
                <span>⚠️</span> Pływak &#8222;skacze&#8221; / drga
            </button>
            <button class="diag-btn" data-state="zero-one">
                <span>❌</span> Jeden pływak na dnie
            </button>
            <button class="diag-btn" data-state="zero-all">
                <span>🚨</span> Wszystkie pływaki na 0
            </button>
        </div>
        
        <div class="diag-app-main">
            <div class="diag-svg-container state-normal" id="diag-svg">
                <svg viewBox="0 0 60 160" width="100%" height="100%">
                    <rect class="svg-glass" x="10" y="10" width="40" height="140" rx="4"/>
                    <line x1="12" y1="30" x2="20" y2="30" stroke="#94a3b8"/><text x="23" y="33" font-size="8" fill="#64748b">3.0</text>
                    <line x1="12" y1="60" x2="20" y2="60" stroke="#94a3b8"/><text x="23" y="63" font-size="8" fill="#64748b">2.0</text>
                    <line x1="12" y1="90" x2="20" y2="90" stroke="#94a3b8"/><text x="23" y="93" font-size="8" fill="#64748b">1.0</text>
                    <line x1="12" y1="120" x2="20" y2="120" stroke="#94a3b8"/><text x="23" y="123" font-size="8" fill="#64748b">0.0</text>
                    
                    <rect class="svg-water" x="12" y="12" width="36" height="136" rx="2"/>
                    
                    <path class="svg-float" d="M 20 135 L 40 135 L 36 125 L 24 125 Z"/>
                    
                    <circle class="svg-bubble" cx="25" cy="0" r="2"/>
                    <circle class="svg-bubble" cx="35" cy="0" r="3"/>
                    <circle class="svg-bubble" cx="30" cy="0" r="1.5"/>
                    
                    <rect x="5" y="140" width="50" height="12" rx="2" fill="#ef4444"/>
                </svg>
            </div>
            
            <div class="diag-result" id="diag-result-content">
                <span class="diag-badge badge-ok">Stan Poprawny</span>
                <h4>Wszystko działa idealnie</h4>
                <p>Przepływ jest stabilny i zgadza się z wartościami z projektu. Pompa obiegowa tłoczy czynnik grzewczy bez zakłóceń, a w pętli nie ma korków gazowych. Podłoga powinna nagrzewać się równomiernie.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- DOMAIN LOCK (Bez h2/h3) ---
    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-diagnostics-module');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #fff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 10px;">🔒</div>
                    <div style="font-weight: 800; font-size: 22px; margin-bottom: 15px; color: #38bdf8;">Treść Chroniona</div>
                    <div style="font-size: 15px; color: #cbd5e1; margin-bottom: 20px;">Symulator Diagnostyczny stanowi własność serwisu Projekt-Ogrzewania.pl.</div>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">Przejdź do oryginału</a>
                </div>`;
            return;
        }
    }

    // --- LOGIKA DIAGNOSTY ---
    const btns = document.querySelectorAll('.diag-btn');
    const svgContainer = document.getElementById('diag-svg');
    const resultContent = document.getElementById('diag-result-content');

    const dataStates = {
        'normal': {
            class: 'state-normal',
            badge: '<span class="diag-badge badge-ok">Stan Poprawny</span>',
            title: 'Wszystko działa idealnie',
            desc: 'Przepływ jest stabilny i zgadza się z wartościami z projektu. Pompa obiegowa tłoczy czynnik grzewczy bez zakłóceń, a w pętli nie ma korków gazowych. Podłoga powinna nagrzewać się równomiernie.'
        },
        'jump': {
            class: 'state-jump',
            badge: '<span class="diag-badge badge-warn">Wymaga uwagi</span>',
            title: 'Obecność powietrza w instalacji',
            desc: 'Pływak "skacze", ponieważ strumień wody jest przerywany przez pęcherzyki gazu. Należy przeprowadzić <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/" class="diag-link">procedurę odpowietrzania pętli</a>. Ignorowanie tego stanu prowadzi do zimnych stref i głośnej pracy układu.'
        },
        'zero-one': {
            class: 'state-zero',
            badge: '<span class="diag-badge badge-err">Awaria pętli</span>',
            title: 'Brak przepływu w jednym obwodzie',
            desc: 'Zawór jest otwarty, ale pływak leży na dnie. Oznacza to całkowite zablokowanie pętli przez zanieczyszczenia (szlam, kamień kotłowy), zaciśnięcie rury pod wylewką, lub utworzenie się potężnego korka powietrznego, którego pompa nie potrafi przepchnąć.'
        },
        'zero-all': {
            class: 'state-zero',
            badge: '<span class="diag-badge badge-err">Awaria Systemowa</span>',
            title: 'Brak przepływu na rozdzielaczu',
            desc: 'Jeśli wszystkie rotametry na belce spadły do zera, problem jest globalny. Przyczyną jest najczęściej awaria pompy obiegowej, brak zasilania elektrycznego sterownika, lub zablokowanie głównego zaworu mieszającego przed rozdzielaczem.'
        }
    };

    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            // Reset buttons
            btns.forEach(b => b.classList.remove('active'));
            btn.classList.add('active');

            const stateKey = btn.getAttribute('data-state');
            const stateData = dataStates[stateKey];

            // Update SVG CSS Class
            svgContainer.className = 'diag-svg-container ' + stateData.class;

            // Update Text with slight fade effect
            resultContent.style.opacity = '0';
            setTimeout(() => {
                resultContent.innerHTML = `
                    ${stateData.badge}
                    <hp>${stateData.title}</p>
                    <p>${stateData.desc}</p>
                `;
                resultContent.style.opacity = '1';
                resultContent.style.transition = 'opacity 0.3s ease';
            }, 150);
        });
    });
});
</script>



<style>
:root {
    --param-primary: #0f172a;
    --param-panel: #ffffff;
    --param-accent: #0ea5e9;
    --param-accent-dark: #0284c7;
    --param-text: #334155;
    --param-muted: #64748b;
    --param-border: #e2e8f0;
    --param-bg: #f8fafc;
    --param-danger: #ef4444;
    --param-warning: #f59e0b;
    --param-success: #10b981;
}

.param-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--param-text);
    line-height: 1.6;
}

.param-header-box {
    background: #ffffff;
    border: 1px solid var(--param-border);
    border-radius: 24px;
    padding: 40px 50px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    margin-bottom: 40px;
}

.param-header-box h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--param-primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.param-header-box p {
    font-size: 16px;
    color: var(--param-text);
    margin-bottom: 30px;
}

/* ZAMIAST TABELI - GRID PARAMETRÓW */
.param-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.param-card {
    background: var(--param-bg);
    border: 1px solid var(--param-border);
    border-radius: 16px;
    padding: 20px;
    transition: all 0.3s ease;
}

.param-card:hover {
    background: #ffffff;
    border-color: var(--param-accent);
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.1);
    transform: translateY(-3px);
}

.param-icon {
    font-size: 24px;
    margin-bottom: 10px;
    display: block;
}

.param-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--param-muted);
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.param-value {
    font-size: 15px;
    font-weight: 700;
    color: var(--param-primary);
    margin-bottom: 5px;
}

.param-desc {
    font-size: 13px;
    color: var(--param-text);
    line-height: 1.5;
}

/* INTERAKTYWNY ANALIZATOR PRZEPŁYWU */
.flow-analyzer {
    background: #ffffff;
    border: 1px solid var(--param-border);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.08);
}

.flow-header {
    background: linear-gradient(to right, #f8fafc, #ffffff);
    padding: 30px 40px;
    border-bottom: 1px solid var(--param-border);
}

.flow-header h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--param-primary);
    margin: 0 0 10px 0;
}

.flow-header p {
    font-size: 15px;
    margin: 0;
    color: var(--param-muted);
}

.flow-workspace {
    display: flex;
    padding: 40px;
    gap: 40px;
    align-items: center;
}

.flow-controls {
    flex: 1;
}

/* Custom Slider */
.flow-slider-box {
    background: var(--param-bg);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--param-border);
    margin-bottom: 25px;
}

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

.flow-val-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--param-primary);
}

.flow-val-current {
    font-size: 24px;
    font-weight: 900;
    color: var(--param-accent-dark);
    font-family: monospace;
}

.slider-styled {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
.slider-styled:focus { outline: none; }
.slider-styled::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    background: linear-gradient(to right, #fca5a5, #86efac, #fca5a5);
    border-radius: 4px;
    border: 1px solid #cbd5e1;
}
.slider-styled::-webkit-slider-thumb {
    height: 28px;
    width: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--param-primary);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -11px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}
.slider-styled::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

/* Dynamiczny status */
.flow-status-card {
    padding: 20px;
    border-radius: 16px;
    border: 2px solid transparent;
    transition: 0.3s ease;
}

.status-low { background: #fef2f2; border-color: #fecaca; }
.status-opt { background: #f0fdf4; border-color: #bbf7d0; }
.status-high { background: #fffbeb; border-color: #fde68a; }

.status-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.status-low .status-badge { background: #fee2e2; color: #991b1b; }
.status-opt .status-badge { background: #dcfce7; color: #166534; }
.status-high .status-badge { background: #fef3c7; color: #92400e; }

.status-title {
    font-size: 18px;
    font-weight: 900;
    margin-bottom: 8px;
    color: var(--param-primary);
}

.status-desc {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.status-desc a {
    color: inherit;
    text-decoration: underline;
    font-weight: bold;
}

/* WIZUALIZACJA RURY SVG */
.flow-visual {
    width: 200px;
    height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--param-bg);
    border-radius: 50%;
    border: 1px solid var(--param-border);
    box-shadow: inset 0 4px 10px rgba(0,0,0,0.03);
    position: relative;
}

.pipe-svg { width: 140px; height: 140px; overflow: visible; }
.pipe-body { fill: none; stroke: #94a3b8; stroke-width: 8; stroke-linecap: round; }
.pipe-water { fill: none; stroke: var(--param-accent); stroke-width: 14; stroke-linecap: round; transition: stroke-dasharray 0.3s; }

/* Animacje wody */
.anim-slow { stroke-dasharray: 20 40; animation: flowAnim 3s linear infinite; stroke: #60a5fa; }
.anim-optimal { stroke-dasharray: 100 0; stroke: #34d399; }
.anim-fast { stroke-dasharray: 10 10; animation: flowAnim 0.3s linear infinite; stroke: #f87171; }

@keyframes flowAnim {
    to { stroke-dashoffset: -100; }
}

/* Bąbel w rurze (dla zbyt niskiego) */
.air-bubble { fill: #ffffff; stroke: #cbd5e1; stroke-width: 2; opacity: 0; transition: 0.3s; }
.show-bubble { opacity: 1; }

/* Fale dźwiękowe (dla zbyt wysokiego) */
.sound-wave { fill: none; stroke: #94a3b8; stroke-width: 3; stroke-linecap: round; opacity: 0; transition: 0.3s; }
.show-noise { opacity: 1; animation: noisePulse 0.5s alternate infinite; }

@keyframes noisePulse {
    from { transform: scale(0.9); stroke: #94a3b8; }
    to { transform: scale(1.1); stroke: #ef4444; }
}

@media (max-width: 900px) {
    .param-grid { grid-template-columns: repeat(2, 1fr); }
    .flow-workspace { flex-direction: column-reverse; padding: 25px; }
    .param-header-box { padding: 30px 25px; }
}
@media (max-width: 600px) {
    .param-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#parametry",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Parametry rotametru i optymalne wartości przepływu",
    "description": "Zestawienie techniczne rotametrów oraz interaktywny symulator skutków błędnego przepływu. Dowiedz się, dlaczego zły przepływ powoduje szumy i zapowietrzenie instalacji.",
    "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-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-techniczny",
    "name": "Specyfikacja techniczna i zakresy robocze przepływomierzy",
    "description": "Parametry operacyjne rotametrów w systemach płaszczyznowych, w tym ciśnienie (do 6 bar), dokładność (±5%) oraz zjawiska fizyczne związane z brakiem złotego środka.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rotametr specyfikacja",
      "optymalny przepływ podłogówki",
      "szum w instalacji podłogowej",
      "parametry rotametrów",
      "prawidłowa regulacja ogrzewania"
    ],
    "measurementTechnique": "Określenie parametrów na podstawie wytycznych dla systemów niskotemperaturowych, wskaźniki podane w litrach na minutę (L/min).",
    "mainEntity": {
      "@type": "Thing",
      "name": "Właściwości operacyjne wskaźnika przepływu"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-przeplyw",
    "name": "Analizator Skutków Przepływu Hydraulicznego",
    "description": "Kalkulator webowy ilustrujący wpływ zbyt niskiego (0.1-0.4 L/min) lub zbyt wysokiego (>1.5 L/min) natężenia przepływu wody na kulturę pracy pętli podłogowej.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, SVG Support"
  }
]
</script>

<div class="param-module" id="app-flow-analyzer">
    
    <div class="param-header-box">
        <h2>Rotametry w praktyce: Zestawienie kluczowych parametrów</h2>
        <p>Zrozumienie, czym fizycznie dysponujesz na swoim rozdzielaczu, to pierwszy krok do sukcesu. Poniżej zebrałem 6 najważniejszych aspektów technicznych wskaźników przepływu w kontekście bezpiecznej i długotrwałej pracy systemu ogrzewania podłogowego.</p>
        
        <div class="param-grid">
            <div class="param-card">
                <span class="param-icon">📏</span>
                <div class="param-title">Zakres pomiarowy</div>
                <div class="param-value">0,5 &#8211; 3,0 l/min</div>
                <div class="param-desc">Dobiera się go ściśle do projektowanych przepływów. Wyższe wartości są rzadkością w podłogówce domowej.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">⚖️</span>
                <div class="param-title">Jednostka i Dokładność</div>
                <div class="param-value">Litry na minutę / ±5%</div>
                <div class="param-desc">Czasem podawane w m³/h. W warunkach domowych błąd rzędu 5% jest pomijalny przy finalnej regulacji.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">💥</span>
                <div class="param-title">Ciśnienie robocze</div>
                <div class="param-value">Standardowo 6 bar</div>
                <div class="param-desc">Należy sprawdzić ich specyfikację, jeśli instalacja przechodzi rygorystyczne próby szczelności (często 1,5x wyższe ciśnienie).</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">🌡️</span>
                <div class="param-title">Temperatura robocza</div>
                <div class="param-value">Do 90°C &#8211; 110°C</div>
                <div class="param-desc">Wartość w pełni wystarczająca i bardzo bezpieczna, zważywszy, że podłogówka to system niskotemperaturowy.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">🔧</span>
                <div class="param-title">Miejsce montażu</div>
                <div class="param-value">Wyłącznie Powrót</div>
                <div class="param-desc">Montaż na zasilaniu daje <strong>błędne odczyty</strong> ze względu na zmienną gęstość wody podgrzanej przez kocioł.</div>
            </div>
            
            <div class="param-card">
                <span class="param-icon">🧹</span>
                <div class="param-title">Konserwacja</div>
                <div class="param-desc" style="margin-top:5px;">Są praktycznie bezobsługowe. Jednak w przypadku ciężkiego zabrudzenia i utknięcia pływaka, mechanizm można zdemontować i wyczyścić.</div>
            </div>
        </div>
    </div>

    <div class="flow-analyzer">
        <div class="flow-header">
            <h3>Optymalne wartości – znajdź &#8222;złoty środek&#8221;</h3>
            <p>Prawidłowe ustawienie zależy od <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">długości pętli</a> oraz zapotrzebowania, ale jakie są skutki odchyleń od normy? Przesuń suwak i sprawdź.</p>
        </div>

        <div class="flow-workspace">
            <div class="flow-controls">
                
                <div class="flow-slider-box">
                    <div class="flow-val-row">
                        <div class="flow-val-label">Natężenie przepływu:</div>
                        <div class="flow-val-current" id="flow-display">1.2 l/min</div>
                    </div>
                    <input type="range" class="slider-styled" id="flow-slider" min="0.1" max="3.0" step="0.1" value="1.2">
                </div>

                <div class="flow-status-card status-opt" id="flow-status-card">
                    <span class="status-badge" id="flow-badge">Optymalnie</span>
                    <div class="status-title" id="flow-title">Cisza i wysoka wydajność</div>
                    <p class="status-desc" id="flow-desc">W typowych instalacjach mieszkaniowych przepływ wynosi od 0,5 do 1,5 l/min. To złoty środek: gwarantuje idealny transfer ciepła oraz <strong>energooszczędną</strong> pracę układu pompowego bez zbędnych przeciążeń.</p>
                </div>

            </div>

            <div class="flow-visual">
                <svg class="pipe-svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
                    <path class="pipe-body" d="M 10 90 Q 50 90, 50 50 T 90 10" />
                    <path id="svg-water-flow" class="pipe-water anim-optimal" d="M 10 90 Q 50 90, 50 50 T 90 10" />
                    
                    <circle id="svg-bubble" class="air-bubble" cx="50" cy="50" r="8" />
                    
                    <g id="svg-noise" class="sound-wave">
                        <path d="M 75 35 Q 85 25, 95 35" />
                        <path d="M 65 25 Q 80 10, 95 20" />
                    </g>
                </svg>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- DOMAIN LOCK (Brak nagłówków H2/H3) ---
    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-flow-analyzer');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #fff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-weight: 900; font-size: 20px; margin-bottom: 10px; color: #38bdf8;">Zawartość Autorska</div>
                    <div style="font-size: 14px; color: #cbd5e1; margin-bottom: 20px;">Narzędzie "Analizator Przepływu" jest własnością intelektualną serwisu Projekt-Ogrzewania.pl.</div>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 10px 20px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>`;
            return;
        }
    }

    // --- LOGIKA ANALIZATORA ---
    const slider = document.getElementById('flow-slider');
    const display = document.getElementById('flow-display');
    const card = document.getElementById('flow-status-card');
    const badge = document.getElementById('flow-badge');
    const title = document.getElementById('flow-title');
    const desc = document.getElementById('flow-desc');
    
    const svgWater = document.getElementById('svg-water-flow');
    const svgBubble = document.getElementById('svg-bubble');
    const svgNoise = document.getElementById('svg-noise');

    function updateFlowApp() {
        const val = parseFloat(slider.value);
        display.textContent = val.toFixed(1) + ' l/min';

        if (val < 0.5) {
            // ZBYT NISKI
            card.className = 'flow-status-card status-low';
            badge.textContent = 'Zbyt Niski';
            title.textContent = 'Ryzyko zimnych placów i zapowietrzenia';
            desc.innerHTML = 'Gdy strumień wody jest tak słaby, nie ma siły "wypchnąć" gazów uwięzionych w instalacji. Skutkuje to tworzeniem się korków powietrznych, utratą skutecznego transferu ciepła i <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">brakiem odpowiedniego zładu wody</a> w sekcji.';
            
            svgWater.className.baseVal = 'pipe-water anim-slow';
            svgBubble.classList.add('show-bubble');
            svgNoise.classList.remove('show-noise');
        } 
        else if (val >= 0.5 && val <= 1.5) {
            // OPTYMALNIE
            card.className = 'flow-status-card status-opt';
            badge.textContent = 'Złoty środek';
            title.textContent = 'Cisza i wysoka wydajność';
            desc.innerHTML = 'W typowych instalacjach przepływ od 0,5 do 1,5 l/min gwarantuje idealny transfer ciepła oraz <strong><a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-energooszczedne/">energooszczędną</a></strong> pracę pompy. System skutecznie uwalnia powietrze i pozostaje bezgłośny.';
            
            svgWater.className.baseVal = 'pipe-water anim-optimal';
            svgBubble.classList.remove('show-bubble');
            svgNoise.classList.remove('show-noise');
        } 
        else {
            // ZBYT WYSOKI
            card.className = 'flow-status-card status-high';
            badge.textContent = 'Zbyt Wysoki';
            title.textContent = 'Szum hydrauliczny i przeciążenie';
            desc.innerHTML = 'Nadmierny przepływ wywołuje uciążliwy <strong>szum hydrauliczny</strong> w rozdzielaczu i rurach. Drastycznie zwiększa się opór, co niepotrzebnie obciąża pompę obiegową i zużywa prąd – bez realnej poprawy w komforcie cieplnym.';
            
            svgWater.className.baseVal = 'pipe-water anim-fast';
            svgBubble.classList.remove('show-bubble');
            svgNoise.classList.add('show-noise');
        }
    }

    slider.addEventListener('input', updateFlowApp);
    // Init na starcie
    updateFlowApp();
});
</script>



<style>
:root {
    --prj-primary: #0f172a;
    --prj-panel: #ffffff;
    --prj-accent: #0284c7;
    --prj-accent-hover: #0369a1;
    --prj-cta: #ea580c; /* Kolor akcji dla sprzedaży */
    --prj-cta-hover: #c2410c;
    --prj-text: #334155;
    --prj-muted: #64748b;
    --prj-border: #e2e8f0;
    --prj-bg-light: #f8fafc;
    --prj-success: #10b981;
}

.prj-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--prj-text);
    line-height: 1.6;
}

/* NAGŁÓWEK I WSTĘP */
.prj-header {
    background: #ffffff;
    border: 1px solid var(--prj-border);
    border-radius: 24px;
    padding: 40px 50px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.prj-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--prj-primary);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.prj-header p {
    font-size: 17px;
    margin-bottom: 0;
}

.prj-header a {
    color: var(--prj-accent);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.prj-highlight {
    background: #fffbeb;
    border-left: 4px solid #f59e0b;
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    margin-top: 20px;
    font-size: 15px;
    color: #92400e;
}

/* INTERAKTYWNA APLIKACJA */
.prj-app {
    background: var(--prj-bg-light);
    border: 1px solid var(--prj-border);
    border-radius: 24px;
    padding: 40px 50px;
    margin-bottom: 30px;
    display: flex;
    gap: 40px;
    align-items: center;
}

.prj-controls {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.prj-app-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--prj-primary);
    margin-bottom: 5px;
}

.prj-app-desc {
    font-size: 14px;
    color: var(--prj-muted);
    margin-bottom: 10px;
}

/* Przełączniki (Tabs) */
.prj-switch-group {
    background: #ffffff;
    border: 1px solid var(--prj-border);
    border-radius: 12px;
    padding: 5px;
    display: flex;
    gap: 5px;
}

.prj-switch-btn {
    flex: 1;
    background: transparent;
    border: none;
    padding: 10px 15px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--prj-muted);
    cursor: pointer;
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.prj-switch-btn.active {
    background: var(--prj-primary);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.15);
}

/* Suwak */
.prj-slider-wrap {
    background: #ffffff;
    border: 1px solid var(--prj-border);
    padding: 20px;
    border-radius: 16px;
}

.prj-slider-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 14px;
    font-weight: 800;
    color: var(--prj-primary);
}

.prj-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
}
.prj-slider:focus { outline: none; }
.prj-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
}
.prj-slider::-webkit-slider-thumb {
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background: var(--prj-accent);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -8px;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: 0.1s;
}
.prj-slider::-webkit-slider-thumb:active { transform: scale(1.15); }

/* WIZUALIZACJA WYNIKU SVG */
.prj-visual {
    width: 220px;
    background: #ffffff;
    border: 1px solid var(--prj-border);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.prj-gauge {
    width: 140px;
    height: 140px;
    position: relative;
    margin-bottom: 20px;
}

.svg-gauge-bg { fill: none; stroke: #f1f5f9; stroke-width: 12; stroke-linecap: round; }
.svg-gauge-val { fill: none; stroke: var(--prj-accent); stroke-width: 12; stroke-linecap: round; transition: stroke-dasharray 0.5s ease-out; stroke-dasharray: 0 251; }

.prj-gauge-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.prj-gauge-num {
    font-size: 26px;
    font-weight: 900;
    color: var(--prj-primary);
    line-height: 1;
}

.prj-gauge-unit {
    font-size: 12px;
    font-weight: 700;
    color: var(--prj-muted);
}

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

.prj-cta-box::before {
    content: '';
    position: absolute;
    top: -50px;
    left: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(234, 88, 12, 0.2) 0%, transparent 70%);
    border-radius: 50%;
}

.prj-cta-title {
    font-size: 26px;
    font-weight: 900;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
}

.prj-cta-desc {
    font-size: 16px;
    color: #cbd5e1;
    margin-bottom: 30px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
}

.prj-btn-main {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--prj-cta);
    color: #ffffff;
    text-decoration: none;
    padding: 16px 36px;
    border-radius: 14px;
    font-size: 17px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s;
    position: relative;
    z-index: 1;
    box-shadow: 0 8px 20px rgba(234, 88, 12, 0.3);
}

.prj-btn-main:hover {
    background: var(--prj-cta-hover);
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(234, 88, 12, 0.4);
}

@media (max-width: 800px) {
    .prj-app { flex-direction: column; padding: 30px 20px; }
    .prj-visual { width: 100%; }
    .prj-header, .prj-cta-box { padding: 30px 25px; }
    .prj-switch-group { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#projekt-ozc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Projekt ogrzewania podłogowego a dobór przepływów – gdzie tkwi klucz?",
    "description": "Zobacz, dlaczego regulacja rotametrów bez projektu OZC to strzał w ciemno. Interaktywny symulator wpływu izolacji, rodzaju podłogi i temperatury na przepływ wody.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-projekt",
    "name": "Zmienne obliczeniowe dla równoważenia hydraulicznego",
    "description": "Dane wejściowe niezbędne do wyliczenia przepływów rotametrów, obejmujące OZC (straty ciepła budynku), opór cieplny okładzin podłogowych oraz temperaturę docelową pomieszczeń.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego",
      "dobór przepływów",
      "obliczenia OZC",
      "regulacja rotametrów ogrzewania podłogowego",
      "zapotrzebowanie na ciepło kalkulator"
    ],
    "measurementTechnique": "Przeliczenie oporów i strat cieplnych na wymagany przepływ masowy czynnika (l/min) dla obiegów.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Parametry projektowe instalacji HVAC"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-projekt",
    "name": "Symulator Zmiennych Projektowych (OZC vs Przepływ)",
    "description": "Narzędzie pokazujące, jak zmiana przeznaczenia pokoju (temp.), materiału podłogi (np. panele vs płytki) oraz izolacji zmienia wynikowy strumień czynnika grzewczego na rotametrze.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, SVG Support"
  }
]
</script>

<div class="prj-module" id="app-project-flow">

    <div class="prj-header">
        <h2>Projekt podłogówki a rotametry – gdzie tkwi klucz?</h2>
        <p>Rotametr jest jedynie finalnym narzędziem. Bez profesjonalnego projektu instalacji opartego na <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeniach OZC (Projektowe Obciążenie Cieplne)</a>, regulacja na rozdzielaczu to dosłownie <strong>&#8222;strzał na oślep&#8221;</strong>.</p>
        
        <div class="prj-highlight">
            Bez projektu ustawienie rotametrów jest arbitralne. Gwarantuje to przegrzewanie jednych pomieszczeń, niedogrzanie innych, a w konsekwencji – wysokie rachunki za prąd/gaz i stały dyskomfort.
        </div>
    </div>

    <div class="prj-app">
        <div class="prj-controls">
            <div class="prj-app-title">Kalkulator Zmiennych Projektowych</div>
            <div class="prj-app-desc">Sprawdź, jak różne parametry w Twoim domu wpływają na to, co instalator musi ostatecznie ustawić na skali rotametru.</div>
            
            <div>
                <div style="font-size:14px; font-weight:800; margin-bottom:8px;">1. Wymagana temperatura (Pomieszczenie)</div>
                <div class="prj-switch-group">
                    <button class="prj-switch-btn active" data-temp="20">Sypialnia (20°C)</button>
                    <button class="prj-switch-btn" data-temp="22">Salon (22°C)</button>
                    <button class="prj-switch-btn" data-temp="24">Łazienka (24°C)</button>
                </div>
            </div>

            <div>
                <div style="font-size:14px; font-weight:800; margin-bottom:8px;">2. Rodzaj wykończenia podłogi</div>
                <div class="prj-switch-group">
                    <button class="prj-switch-btn active" data-floor="1.0">Płytki / Gres (Dobry przewodnik)</button>
                    <button class="prj-switch-btn" data-floor="1.4">Panele / Drewno (Izolator)</button>
                </div>
            </div>

            <div class="prj-slider-wrap">
                <div class="prj-slider-header">
                    <span>3. Straty ciepła budynku (OZC)</span>
                    <span id="prj-heat-val" style="color:var(--prj-accent);">50 W/m² (Dobra izolacja)</span>
                </div>
                <input type="range" class="prj-slider" id="prj-heat-slider" min="30" max="100" step="5" value="50">
            </div>
        </div>

        <div class="prj-visual">
            <div style="font-size:13px; font-weight:800; color:#64748b; margin-bottom:15px; text-transform:uppercase;">Wymagany Przepływ</div>
            
            <div class="prj-gauge">
                <svg viewBox="0 0 100 100">
                    <path class="svg-gauge-bg" d="M 20 80 A 40 40 0 1 1 80 80" />
                    <path id="svg-gauge-fill" class="svg-gauge-val" d="M 20 80 A 40 40 0 1 1 80 80" style="stroke-dasharray: 0 251;" />
                </svg>
                <div class="prj-gauge-text">
                    <div class="prj-gauge-num" id="prj-flow-result">1.2</div>
                    <div class="prj-gauge-unit">L/MIN</div>
                </div>
            </div>
            
            <div style="font-size:12px; text-align:center; color:#94a3b8; line-height:1.4;">Tę wartość projektant wylicza z <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" style="color:inherit;">długości pętli</a> i powyższych danych.</div>
        </div>
    </div>

    <div class="prj-cta-box">
        <div class="prj-cta-title">Nie zgaduj. Zbuduj system oparty na inżynierii.</div>
        <div class="prj-cta-desc">Zły przepływ to szumy, chłód i koszty. Zamów profesjonalny projekt instalacji ogrzewania podłogowego. Otrzymasz gotowe nastawy rotametrów dla każdego pomieszczenia, idealny rozstaw rur i gwarancję komfortu cieplnego.</div>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="prj-btn-main">
            📐 ZAMÓW PROJEKT PODŁOGÓWKI
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- DOMAIN LOCK ---
    const domain = window.location.hostname;
    const allowed = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowed.includes(domain)) {
        const container = document.getElementById('app-project-flow');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #fff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-weight: 900; font-size: 20px; margin-bottom: 10px; color: #38bdf8;">Treść Chroniona</div>
                    <div style="font-size: 14px; color: #cbd5e1;">Narzędzie Kalkulatora Projektowego stanowi własność serwisu Projekt-Ogrzewania.pl.</div>
                </div>`;
            return;
        }
    }

    // --- LOGIKA KALKULATORA ZMIENNYCH ---
    let currentTemp = 20;
    let currentFloor = 1.0;
    const slider = document.getElementById('prj-heat-slider');
    const heatValDisplay = document.getElementById('prj-heat-val');
    const flowResultDisplay = document.getElementById('prj-flow-result');
    const gaugeFill = document.getElementById('svg-gauge-fill');

    // Przyciski Temperatury
    const tempBtns = document.querySelectorAll('button[data-temp]');
    tempBtns.forEach(btn => {
        btn.addEventListener('click', (e) => {
            tempBtns.forEach(b => b.classList.remove('active'));
            e.currentTarget.classList.add('active');
            currentTemp = parseFloat(e.currentTarget.getAttribute('data-temp'));
            calculateFlow();
        });
    });

    // Przyciski Podłogi
    const floorBtns = document.querySelectorAll('button[data-floor]');
    floorBtns.forEach(btn => {
        btn.addEventListener('click', (e) => {
            floorBtns.forEach(b => b.classList.remove('active'));
            e.currentTarget.classList.add('active');
            currentFloor = parseFloat(e.currentTarget.getAttribute('data-floor'));
            calculateFlow();
        });
    });

    // Suwak Strat Ciepła
    slider.addEventListener('input', (e) => {
        const val = e.target.value;
        let desc = "";
        if(val < 50) desc = "(Dom Pasywny)";
        else if(val < 75) desc = "(Standard WT2021)";
        else desc = "(Słaba izolacja)";
        
        heatValDisplay.textContent = `${val} W/m² ${desc}`;
        calculateFlow();
    });

    function calculateFlow() {
        const heatLoss = parseFloat(slider.value);
        
        // BARDZO UPROSZCZONY WZÓR do celów demonstracyjnych aplikacji
        // Baza: 50W/m2 przy temp 20C na płytkach = ok 1.0 l/min dla pętli referencyjnej
        // Im wyższa temp oczekiwana, tym wyższy przepływ
        const tempFactor = 1 + ((currentTemp - 20) * 0.15); 
        
        // Im większe straty ciepła, tym wyższy przepływ
        const heatFactor = heatLoss / 50;
        
        // Obliczenie l/min
        let flow = 1.0 * heatFactor * tempFactor * currentFloor;
        
        // Ograniczenia dla realizmu skali (0.5 do 3.0)
        if(flow < 0.5) flow = 0.5;
        if(flow > 3.0) flow = 3.0;

        flowResultDisplay.textContent = flow.toFixed(1);

        // Aktualizacja Gauge SVG
        // Długość łuku (arc length) to około 188px.
        // Chcemy mapować wartość 0.5 - 3.0 na dasharray 0 do 188.
        const percent = (flow - 0.5) / 2.5; // od 0 do 1
        const dashVal = percent * 188;
        gaugeFill.style.strokeDasharray = `${dashVal} 251`;
        
        // Zmiana koloru ostrzegawczego przy krytycznych wartościach
        if(flow > 2.5) {
            gaugeFill.style.stroke = '#ef4444'; // Czerwony (za dużo)
        } else {
            gaugeFill.style.stroke = 'var(--prj-accent)'; // Niebieski (ok)
        }
    }

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



<style>
:root {
    --tip-primary: #0f172a;
    --tip-accent: #0284c7;
    --tip-accent-light: #e0f2fe;
    --tip-danger: #ef4444;
    --tip-danger-light: #fee2e2;
    --tip-success: #10b981;
    --tip-success-light: #d1fae5;
    --tip-bg: #f8fafc;
    --tip-border: #e2e8f0;
}

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

.expert-tip-wrapper h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--tip-primary);
    margin: 0 0 25px 0;
    text-align: center;
    letter-spacing: -0.5px;
}

.expert-tip-container {
    background: #ffffff;
    border-radius: 24px;
    padding: 35px 40px;
    border: 1px solid var(--tip-border);
    box-shadow: 0 15px 35px -10px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Interaktywny przełącznik Mit / Fakt */
.tip-switch-wrap {
    display: flex;
    background: var(--tip-bg);
    border: 1px solid var(--tip-border);
    border-radius: 12px;
    padding: 6px;
    gap: 6px;
    align-self: center;
    width: 100%;
    max-width: 500px;
}

.tip-switch-btn {
    flex: 1;
    border: none;
    background: transparent;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 800;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.tip-switch-btn:hover {
    color: var(--tip-primary);
}

.tip-switch-btn.active[data-type="myth"] {
    background: var(--tip-danger);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.2);
}

.tip-switch-btn.active[data-type="fact"] {
    background: var(--tip-accent);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

/* Sekcja cytatu i zdjęcia */
.tip-content-area {
    display: flex;
    gap: 30px;
    align-items: center;
    background: var(--tip-bg);
    border-radius: 20px;
    padding: 30px;
    border-left: 6px solid var(--tip-accent);
    transition: all 0.4s ease;
}

.tip-content-area.state-myth {
    border-left-color: var(--tip-danger);
    background: var(--tip-danger-light);
}

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

.tip-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 4px solid #ffffff;
    box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}

.tip-icon-badge {
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: #ffffff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    transition: 0.3s;
}

.state-myth .tip-icon-badge { color: var(--tip-danger); }
.state-fact .tip-icon-badge { color: var(--tip-accent); }

.tip-text-body {
    flex-grow: 1;
}

.tip-label {
    display: block;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    transition: 0.3s;
}

.state-myth .tip-label { color: var(--tip-danger); }
.state-fact .tip-label { color: var(--tip-accent); }

.tip-quote {
    font-size: 17px;
    line-height: 1.7;
    color: var(--tip-primary);
    font-style: italic;
    margin: 0 0 15px 0;
    position: relative;
}

.tip-quote a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.tip-quote a:hover {
    color: var(--tip-accent);
}

.tip-signature {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #475569;
}

@media (max-width: 768px) {
    .expert-tip-container { padding: 25px 20px; }
    .tip-content-area { flex-direction: column; text-align: center; padding: 25px 20px; }
    .tip-photo-wrap { margin-bottom: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Robert Kucharski o prawidłowej regulacji wskaźników przepływu",
    "description": "Ekspert obala najczęstszy mit dotyczący rotametrów. Dowiedz się, dlaczego ustawianie przepływu 'po równo' niszczy komfort cieplny.",
    "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-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#cytat",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Wielu pseudofachowców kończy pracę mówiąc: 'ustawiłem panu wszystkie rotametry równo na 1.5 litra, będzie grzało'. To najgorsza z możliwych metod regulacji.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Główny Projektant HVAC",
      "url": "https://projekt-ogrzewania.pl/"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-mity",
    "name": "Mity instalacyjne vs Prawda inżynierska: Regulacja przepływów",
    "description": "Analiza błędnych założeń empirycznych podczas ręcznego ustawiania rotametrów w stosunku do precyzyjnych obliczeń inżynierskich.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "regulacja rotametrów na oko",
      "najczęstsze błędy przy montażu ogrzewania podłogowego",
      "jak nie ustawiać podłogówki",
      "mity ogrzewanie podłogowe przepływ",
      "równe ustawienie rotametrów błąd"
    ],
    "measurementTechnique": "Weryfikacja wydajności instalacji skalibrowanej empirycznie (na oko) vs skalibrowanej zgodnie z wartościami obliczeniowymi OZC.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Najlepsze praktyki inżynierii instalacyjnej"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-ekspert",
    "name": "Interaktywny Demaskator Mitów Instalacyjnych",
    "description": "Mini-aplikacja edukacyjna pozwalająca na bezpośrednie skonfrontowanie popularnego mitu hydraulicznego z odpowiedzią inżyniera.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript"
  }
]
</script>

<div class="expert-tip-wrapper" id="app-expert-quote">
    <h2><span style="margin-right:10px">⚖️</span>Praktyka vs Inżynieria</h2>
    
    <div class="expert-tip-container">
        
        <div class="tip-switch-wrap">
            <button class="tip-switch-btn" data-type="myth" id="btn-myth">
                <span>❌</span> Częsty Mit
            </button>
            <button class="tip-switch-btn active" data-type="fact" id="btn-fact">
                <span>✅</span> Prawda Inżynierska
            </button>
        </div>

        <div class="tip-content-area state-fact" id="tip-content-box">
            <div class="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="tip-photo" loading="lazy">
                <div class="tip-icon-badge" id="tip-icon">📐</div>
            </div>
            
            <div class="tip-text-body">
                <span class="tip-label" id="tip-label">Wskazówka od Głównego Projektanta</span>
                <p class="tip-quote" id="tip-quote-text">
                    &#8222;Rotametr to nie kran, który można odkręcić i zapomnieć. Prawidłowa regulacja polega na drastycznym tłumieniu przepływu w <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">krótkich pętlach</a> po to, aby sztucznie zmusić czynnik grzewczy do zasilenia dużego, wychłodzonego salonu. Ustawienie na podstawie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a> to jedyny sposób na to, by pompa obiegowa pracowała lekko i energooszczędnie.&#8221;
                </p>
                <span class="tip-signature">— Robert Kucharski, CEO Projekt-Ogrzewania.pl</span>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // --- OCHRONA DOMENOWA (Bez H2/H3 w fallbacku) ---
    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-expert-quote');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; border: 2px solid #dc2626; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: bold; margin-bottom: 10px;">Moduł autorski chroniony</div>
                    <p style="font-size: 15px; color: #7f1d1d;">Cytaty i interaktywne porady inżynierskie Roberta Kucharskiego są własnością serwisu Projekt-Ogrzewania.pl. Kopiowanie skryptów bez zgody jest zabronione.</p>
                </div>
            `;
            return;
        }
    }

    // --- LOGIKA PRZEŁĄCZNIKA MIT VS FAKT ---
    const btnMyth = document.getElementById('btn-myth');
    const btnFact = document.getElementById('btn-fact');
    const contentBox = document.getElementById('tip-content-box');
    const iconBadge = document.getElementById('tip-icon');
    const label = document.getElementById('tip-label');
    const quoteText = document.getElementById('tip-quote-text');

    const data = {
        myth: {
            class: 'state-myth',
            icon: '⚠️',
            label: 'Co mówi "Pan Józek" na budowie?',
            text: '"Słuchaj kierowniku, ja od 20 lat robię podłogówkę. Ustawiłem panu wszystkie rotametry na rozdzielaczu na równe 1.5 litra. Wszędzie popłynie tyle samo wody, więc w każdym pokoju będzie elegancko grzało, nie ma się co martwić." <br><br><strong><span style="font-size:14px;color:#ef4444;">(Poważny błąd grożący przegrzaniem małych pokoi i niedogrzaniem salonu!)</span></strong>'
        },
        fact: {
            class: 'state-fact',
            icon: '📐',
            label: 'Wskazówka od Głównego Projektanta',
            text: '"Rotametr to nie kran, który można odkręcić i zapomnieć. Prawidłowa regulacja polega na drastycznym tłumieniu przepływu w <a href=\\"https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/\\">krótkich pętlach</a> po to, aby sztucznie zmusić czynnik grzewczy do zasilenia dużego, wychłodzonego salonu. Ustawienie na podstawie <a href=\\"https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/\\">projektu OZC</a> to jedyny sposób na to, by pompa obiegowa pracowała lekko i energooszczędnie."'
        }
    };

    function switchState(type) {
        // Zmiana aktywnych przycisków
        btnMyth.classList.remove('active');
        btnFact.classList.remove('active');
        
        if (type === 'myth') btnMyth.classList.add('active');
        else btnFact.classList.add('active');

        // Animacja opacity dla miękkiego przejścia
        quoteText.style.opacity = 0;
        
        setTimeout(() => {
            contentBox.className = 'tip-content-area ' + data[type].class;
            iconBadge.textContent = data[type].icon;
            label.textContent = data[type].label;
            quoteText.innerHTML = data[type].text;
            
            quoteText.style.transition = 'opacity 0.3s ease';
            quoteText.style.opacity = 1;
        }, 200);
    }

    btnMyth.addEventListener('click', () => switchState('myth'));
    btnFact.addEventListener('click', () => switchState('fact'));
});
</script>



<style>
:root {
    --cs-primary: #0f172a;
    --cs-accent: #0ea5e9;
    --cs-accent-dark: #0284c7;
    --cs-wood: #b45309; 
    --cs-tiles: #0891b2; 
    --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;
    color: var(--cs-text);
}

/* ================= 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;
    letter-spacing: -0.5px;
}

.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: 17px;
    line-height: 1.8;
    color: var(--cs-text);
    margin: 0 0 25px 0;
}

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

.cs-author-box {
    background: #f0f9ff;
    border-left: 4px solid var(--cs-accent);
    padding: 20px;
    border-radius: 0 16px 16px 0;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

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

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

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

.cs-author-box a:hover {
    color: #0369a1;
}

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

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

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

.cs-split-card:not(.active) {
    opacity: 0.6;
    transform: scale(0.98);
}

.cs-split-card:hover:not(.active) {
    opacity: 0.8;
}

.cs-split-card.wood.active {
    border-color: var(--cs-wood);
    background: #fffbeb;
    box-shadow: 0 10px 25px rgba(180, 83, 9, 0.1);
    opacity: 1;
    transform: scale(1);
}

.cs-split-card.tiles.active {
    border-color: var(--cs-tiles);
    background: #ecfeff;
    box-shadow: 0 10px 25px rgba(8, 145, 178, 0.1);
    opacity: 1;
    transform: scale(1);
}

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

/* Elementy SVG */
.cs-svg-icon {
    width: 45px;
    height: 45px;
    flex-shrink: 0;
}

.svg-floor { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.wood .svg-floor { stroke: var(--cs-wood); }
.tiles .svg-floor { stroke: var(--cs-tiles); }

.svg-heat-wave { fill: none; stroke-width: 2; stroke-linecap: round; opacity: 0; transition: 0.3s; }
.wood .svg-heat-wave { stroke: #d97706; }
.tiles .svg-heat-wave { stroke: #0ea5e9; }

.cs-split-card.active .svg-heat-wave {
    opacity: 1;
    animation: heatRise 2s infinite ease-in-out alternate;
}
.cs-split-card.active .svg-heat-wave:nth-child(2) { animation-delay: 0.5s; }
.cs-split-card.active .svg-heat-wave:nth-child(3) { animation-delay: 1s; }

@keyframes heatRise {
    0% { transform: translateY(5px); opacity: 0.3; }
    100% { transform: translateY(-5px); opacity: 1; }
}

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

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

.cs-card-solution {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(0,0,0,0.1);
    font-size: 14px;
    line-height: 1.6;
    display: none;
}

.cs-split-card.wood .cs-card-solution { color: #78350f; }
.cs-split-card.tiles .cs-card-solution { color: #164e63; }

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

.cs-solution-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 900;
    font-size: 12px;
    margin-bottom: 8px;
    color: #ffffff;
}

.wood .cs-solution-badge { background: var(--cs-wood); }
.tiles .cs-solution-badge { background: var(--cs-tiles); }

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

@media (max-width: 800px) {
    .cs-header-wrapper { padding: 35px 25px; }
    .cs-stats-grid { grid-template-columns: 1fr 1fr; gap: 10px;}
    .cs-content-section { padding: 30px 25px 20px 25px; }
    .cs-author-box { flex-direction: column; text-align: center; }
    .cs-interactive-section { padding: 0 25px 30px 25px; }
    .cs-split-container { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Studium Przypadku: Skutki braku regulacji rotametrów",
    "description": "Zobacz na przykładzie z życia wziętym, dlaczego pozostawienie rotametrów w ustawieniu fabrycznym prowadzi do niedogrzania salonu i przegrzania łazienki.",
    "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-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-case-study",
    "name": "Parametry hydrauliczne z realizacji - Dom Marka",
    "description": "Zestawienie błędnych i poprawnych nastaw przepływu (l/min) dla posadzek o skrajnie różnym oporze cieplnym (drewno vs płytki).",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Przepływ Salon (Drewno)",
        "value": "Wymagane zdławienie do 2.2 l/min",
        "description": "Zwiększenie przepływu ze względu na wysoki opór cieplny deski barlineckiej."
      },
      {
        "@type": "PropertyValue",
        "name": "Przepływ Łazienka (Gres)",
        "value": "Wymagane zdławienie do 0.8 l/min",
        "description": "Mocne przykręcenie rotametru w celu zapobieżenia kradzieży przepływu z dłuższych pętli."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-case-study",
    "name": "Panel Analizy Realizacji: Błędy regulacji",
    "description": "Interaktywny moduł edukacyjny typu Split-Card prezentujący fizykę zachowania się posadzki w zależności od nastaw na wskaźnikach przepływu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5, SVG"
  }
]
</script>

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

    <div class="cs-header-wrapper">
        <div class="cs-badge">🔍 Studium Przypadku</div>
        <h2>Skutki braku regulacji przepływów na rozdzielaczu</h2>
        <div class="cs-stats-grid">
            <div class="cs-stat-box">
                <span class="cs-stat-label">Termin weryfikacji</span>
                <span class="cs-stat-value">Styczeń 2026</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Lokalizacja</span>
                <span class="cs-stat-value">Warszawa</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Problem główny</span>
                <span class="cs-stat-value">Zimny Salon</span>
            </div>
            <div class="cs-stat-box">
                <span class="cs-stat-label">Źródło błędu</span>
                <span class="cs-stat-value">Brak kryzowania</span>
            </div>
        </div>
    </div>

    <div class="cs-content-section">
        <p class="cs-lead-text">Zimą 2026 roku zgłosił się do nas Pan Artur, posiadający nowo wybudowany dom o powierzchni 150 m². Pomimo pracującej na 100% pompy ciepła, w domu panował całkowity <strong>rozstrój termiczny</strong>. Podczas audytu rozdzielacza problem okazał się banalny: instalator uruchomił układ i zostawił wszystkie rotametry fabrycznie odkręcone na maksimum.</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 ekspert ogrzewania" class="cs-author-photo" loading="lazy">
            <p><strong><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a>:</strong> &#8222;Fizyka to nie magia. Woda w instalacji jest leniwa. Ponieważ rotametry nie zostały wyregulowane, potężna ilość ciepła uciekała najkrótszą drogą do małej łazienki z płytkami, całkowicie głodząc hydraulicznie długą pętlę pod dębowym parkietem w salonie.&#8221;</p>
        </div>
    </div>

    <div class="cs-interactive-section">
        <div class="cs-interactive-title">Kliknij, aby zobaczyć inżynierskie rozwiązanie:</div>
        
        <div class="cs-split-container">
            
            <div class="cs-split-card wood active" id="cs-card-wood">
                <div class="cs-card-header">
                    <svg class="cs-svg-icon" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">
                        <path class="svg-floor" d="M 5 40 L 45 40 M 15 40 L 15 45 M 35 40 L 35 45 M 5 32 L 45 32 M 25 32 L 25 40"/>
                        <path class="svg-heat-wave" d="M 15 25 Q 10 15 15 5"/>
                        <path class="svg-heat-wave" d="M 25 25 Q 20 15 25 5"/>
                        <path class="svg-heat-wave" d="M 35 25 Q 30 15 35 5"/>
                    </svg>
                    <h3 class="cs-card-title">Salon: Długa pętla i parkiet</h3>
                </div>
                <p class="cs-card-desc"><strong>Objaw przed regulacją:</strong> Pętla o długości 110 metrów stawiała ogromny opór hydrauliczny. Dodatkowo dębowa deska izolowała oddawanie ciepła. Rotametr wskazywał zaledwie <strong>0.3 l/min</strong>. Salon był lodowaty.</p>
                <div class="cs-card-solution">
                    <span class="cs-solution-badge">DZIAŁANIE NA ROTAMETRZE</span><br>
                    Na podstawie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektu OZC</a>, pozostawiliśmy ten obwód maksymalnie otwarty, dławiąc jednocześnie pozostałe strefy w domu. Wymusiło to przepływ wody przez salon z prędkością <strong>2.2 l/min</strong>, pokonując opór długiej rury i izolacji drewna.
                </div>
            </div>

            <div class="cs-split-card tiles" id="cs-card-tiles">
                <div class="cs-card-header">
                    <svg class="cs-svg-icon" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">
                        <path class="svg-floor" d="M 5 40 L 45 40 M 15 40 L 15 30 L 5 30 M 25 40 L 25 30 L 35 30 L 35 40 M 45 30 L 35 30"/>
                        <path class="svg-heat-wave" d="M 15 20 Q 20 10 15 5"/>
                        <path class="svg-heat-wave" d="M 25 20 Q 30 10 25 5"/>
                        <path class="svg-heat-wave" d="M 35 20 Q 40 10 35 5"/>
                    </svg>
                    <h3 class="cs-card-title">Łazienka: Krótka pętla i gres</h3>
                </div>
                <p class="cs-card-desc"><strong>Objaw przed regulacją:</strong> Pętla miała tylko 35 metrów. Woda pędziła tamtędy bez żadnego oporu w ilości ponad <strong>3.0 l/min</strong>, powodując nieznośny szum na belce i przegrzewając płytki (zjawisko kradzieży przepływu).</p>
                <div class="cs-card-solution">
                    <span class="cs-solution-badge">DZIAŁANIE NA ROTAMETRZE</span><br>
                    Drastyczne &#8222;przykręcenie&#8221; czerwonej obejmy w dół. Zdławiliśmy przepływ tej krótkiej pętli do bezpiecznego poziomu <strong>0.8 l/min</strong>. Uspokoiło to pracę <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompy obiegowej</a> i &#8222;oddało&#8221; ciśnienie do wychłodzonego salonu.
                </div>
            </div>

        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Zabezpieczenie domenowe (Hard lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('app-case-study-rotameter');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 25px; text-align: center; background: #0f172a; color: #fff; border-radius: 24px; font-family: sans-serif;">
                    <div style="font-size: 50px; margin-bottom: 15px;">🔒</div>
                    <div style="font-weight: 900; font-size: 24px; margin-bottom: 10px; color: #38bdf8;">Treść Chroniona Prawem Autorskim</div>
                    <p style="font-size: 15px; color: #cbd5e1; margin-bottom: 25px;">Moduł "Studium Przypadku" jest własnością Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 25px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: 800;">Wróć do źródła</a>
                </div>
            `;
            return;
        }
    }

    // Logika przełączania kart Case Study (Accordions style)
    const cardWood = document.getElementById('cs-card-wood');
    const cardTiles = document.getElementById('cs-card-tiles');

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

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



<style>
:root {
    --faq-primary: #0f172a;
    --faq-accent: #0ea5e9;
    --faq-accent-dark: #0284c7;
    --faq-bg-light: #f8fafc;
    --faq-border: #e2e8f0;
    --faq-text: #334155;
    --faq-muted: #64748b;
    --faq-danger: #ef4444;
    --faq-success: #10b981;
}

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

.faq-header-box {
    background: linear-gradient(135deg, var(--faq-primary), #1e293b);
    border-radius: 24px 24px 0 0;
    padding: 40px 50px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.faq-header-box::after {
    content: '?';
    position: absolute;
    right: 20px;
    top: -20px;
    font-size: 150px;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.05);
    line-height: 1;
    font-family: serif;
}

.faq-header-box h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    position: relative;
    z-index: 1;
    letter-spacing: -0.5px;
}

.faq-header-box p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
    max-width: 600px;
    position: relative;
    z-index: 1;
    line-height: 1.6;
}

.faq-accordion-wrapper {
    background: #ffffff;
    border: 1px solid var(--faq-border);
    border-top: none;
    border-radius: 0 0 24px 24px;
    padding: 30px 40px;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.05);
}

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

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

.faq-item.active {
    border-color: var(--faq-accent);
    box-shadow: 0 10px 25px -5px rgba(14, 165, 233, 0.15);
}

.faq-question {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 20px 25px;
    font-size: 16px;
    font-weight: 800;
    color: var(--faq-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: background 0.3s;
}

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

.faq-item.active .faq-question {
    background: var(--faq-bg-light);
    color: var(--faq-accent-dark);
}

/* SVG Ikony w pytaniach */
.faq-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #e0f2fe;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--faq-accent-dark);
}

.faq-item.active .faq-icon-wrap {
    background: var(--faq-accent);
    color: #ffffff;
}

.faq-svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Animowany znak +/- */
.faq-toggle-icon {
    margin-left: auto;
    width: 20px;
    height: 20px;
    position: relative;
    flex-shrink: 0;
}

.faq-toggle-icon::before,
.faq-toggle-icon::after {
    content: '';
    position: absolute;
    background: var(--faq-muted);
    border-radius: 2px;
    transition: transform 0.3s ease, background 0.3s ease;
}

.faq-toggle-icon::before { top: 9px; left: 0; width: 20px; height: 2px; }
.faq-toggle-icon::after { top: 0; left: 9px; width: 2px; height: 20px; }

.faq-item.active .faq-toggle-icon::after { transform: rotate(90deg); }
.faq-item.active .faq-toggle-icon::before,
.faq-item.active .faq-toggle-icon::after { background: var(--faq-accent-dark); }

/* Odpowiedź */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-answer-content {
    padding: 0 25px 25px 85px; /* Wcięcie omijające ikonę */
    font-size: 15px;
    line-height: 1.7;
    color: var(--faq-text);
}

.faq-answer-content p {
    margin: 0 0 15px 0;
}
.faq-answer-content p:last-child {
    margin-bottom: 0;
}

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

.faq-answer-content a:hover {
    color: #0c4a6e;
}

.faq-answer-content ul {
    margin: 0 0 15px 0;
    padding-left: 20px;
}

.faq-answer-content li {
    margin-bottom: 5px;
}

.faq-highlight-box {
    background: #fffbeb;
    border-left: 3px solid var(--faq-warning);
    padding: 12px 15px;
    border-radius: 0 8px 8px 0;
    margin: 15px 0;
    font-size: 14px;
    color: #92400e;
}

@media (max-width: 768px) {
    .faq-header-box { padding: 30px 25px; }
    .faq-accordion-wrapper { padding: 25px; }
    .faq-question { padding: 15px; font-size: 15px; gap: 15px; }
    .faq-answer-content { padding: 0 15px 20px 15px; } /* Usunięto duże wcięcie na mobile */
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#faq-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "5 najczęściej zadawanych pytań o rotametry i przepływy (FAQ)",
    "description": "Rozbudowane kompendium wiedzy. Odpowiadamy m.in. na jakiej wysokości pływaka czytać przepływ, dlaczego rotametry montuje się na powrocie i co oznacza skaczący wskaźnik.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-03",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Do czego dokładnie służy rotametr w ogrzewaniu podłogowym i czy jest on w ogóle niezbędny?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rotametr (przepływomierz) służy do wizualnej kontroli i fizycznej regulacji (dławienia) ilości wody płynącej przez daną pętlę. Jest absolutnie niezbędny do przeprowadzenia równoważenia hydraulicznego. Bez niego woda popłynęłaby najkrótszą drogą, powodując przegrzanie małych pomieszczeń i drastyczne niedogrzanie tych dużych."
        }
      },
      {
        "@type": "Question",
        "name": "W jaki sposób prawidłowo odczytywać wartość ze skali? Gdzie powinna znajdować się krawędź pływaka?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowy odczyt zawsze wykonuje się na górnej, płaskiej krawędzi pływaka (najczęściej jest to czerwony grzybek). To ona musi pokrywać się z linią na skali wyrażoną w litrach na minutę (L/min). Należy pamiętać, aby odczytu i regulacji dokonywać wyłącznie przy włączonej pompie obiegowej."
        }
      },
      {
        "@type": "Question",
        "name": "Jakie są optymalne przepływy dla typowej pętli podłogówki? Kiedy przepływ jest zbyt duży?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W standardowych instalacjach domowych optymalny przepływ mieści się w granicach od 0,5 do 1,5 L/min (maksymalnie do 2.0 L/min dla bardzo długich pętli). Przepływ zbyt niski (<0.5) grozi brakiem możliwości usunięcia pęcherzyków powietrza. Z kolei przepływ zbyt wysoki (>2.0) wywołuje szumy hydrauliczne i nadmiernie obciąża pompę."
        }
      },
      {
        "@type": "Question",
        "name": "Dlaczego rotametry instaluje się na belce powrotnej rozdzielacza, a zawory termostatyczne na zasilaniu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rotametry są wrażliwe na temperaturę. Woda na zasilaniu jest najgorętsza, co zmienia jej gęstość i lepkość, a to zniekształcałoby odczyty siły wyporu pływaka. Dodatkowo, powrót jest miejscem chłodniejszym, co wydłuża żywotność elementów z tworzywa sztucznego i przezroczystej rurki pomiarowej."
        }
      },
      {
        "@type": "Question",
        "name": "Co oznacza sytuacja, w której pływak w rotametrze skacze, drga lub uparcie leży na samym dnie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Skaczący lub wibrujący pływak to w 99% przypadków objaw mocnego zapowietrzenia pętli. Z kolei pływak leżący na dnie (przy otwartym zaworze) sygnalizuje całkowity brak przepływu – może to być wina zablokowania rury, zanieczyszczenia filtra w rotametrze lub, jeśli dotyczy to wszystkich rotametrów, awarii pompy obiegowej."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-faq",
    "name": "Baza Wiedzy: Rozwiązywanie problemów z przepływami w systemach płaszczyznowych",
    "description": "Zestawienie najczęstszych problemów i parametrów diagnostycznych układów pompowych, odczytów skali oraz lokalizacji elementów hydraulicznych na rozdzielaczu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak czytać rotametr",
      "skaczący rotametr",
      "gdzie montować rotametr zasilanie czy powrót",
      "optymalny przepływ w podłogówce",
      "brak przepływu w rotametrze"
    ],
    "measurementTechnique": "Analiza odpowiedzi diagnostycznych opartych na odczytach wizualnych (0.0 - 3.0 l/min) oraz zachowaniu hydrodynamiki w obwodach grzewczych.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Diagnostyka hydrauliczna na bazie FAQs"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywny Eksplorator Wiedzy (FAQ Panel)",
    "description": "Dynamiczny komponent interfejsu (Accordion UI) ułatwiający szybkie wyszukiwanie i przyswajanie eksperckich odpowiedzi na trudne pytania instalacyjne bez przeładowania poznawczego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript for accordion state management"
  }
]
</script>

<div class="faq-expert-module" id="app-faq-module">

    <div class="faq-header-box">
        <h2>Pytania i Odpowiedzi (FAQ)</h2>
        <p>Rozwiewamy najczęstsze wątpliwości inwestorów i młodych instalatorów dotyczące działania, diagnostyki i poprawnej regulacji rotametrów w nowoczesnych systemach grzewczych.</p>
    </div>

    <div class="faq-accordion-wrapper">
        
        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><path d="M3 21h18M5 21V7l7-4 7 4v14M9 11v6M15 11v6"/></svg>
                </div>
                Do czego dokładnie służy rotametr w ogrzewaniu podłogowym i czy jest on w ogóle niezbędny?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Rotametr (profesjonalnie: przepływomierz o zmiennym przekroju) służy do dwóch rzeczy: <strong>wizualnej kontroli</strong> ilości płynącej wody oraz jej <strong>fizycznej regulacji</strong> (poprzez dławienie zaworu, na którym jest osadzony).</p>
                    <p>Odpowiadając na drugą część pytania: <strong>Tak, jest absolutnie niezbędny</strong>. Zgodnie z zasadami fizyki, ciecz zawsze wybiera drogę najmniejszego oporu. Bez rotametrów i możliwości precyzyjnego kryzowania (dławienia) krótkich pętli, <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">woda ominęłaby długie obwody</a> (np. w salonie), powodując skrajne niedogrzanie największych pomieszczeń i przegrzanie tych małych. Równoważenie hydrauliczne bez rotametrów jest po prostu niemożliwe.</p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4M12 8h.01"/></svg>
                </div>
                W jaki sposób prawidłowo odczytywać wartość ze skali? Gdzie powinna znajdować się krawędź pływaka?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Wielu początkujących instalatorów popełnia błąd, próbując uśredniać pozycję całego pływaka (czerwonego &#8222;grzybka&#8221;). Prawidłowy odczyt zawsze wykonuje się na <strong>najszerszej, górnej płaskiej krawędzi pływaka</strong>.</p>
                    <p>To właśnie ta pozioma linia musi pokrywać się z wyznaczoną wartością na skali nadrukowanej na szklanej/plastikowej rurce (np. na linii 1.5 l/min).</p>
                    <div class="faq-highlight-box">
                        <strong>Ważna uwaga:</strong> Odczytu i samej regulacji dokonujemy zawsze na &#8222;żywym organizmie&#8221;, czyli przy włączonej na docelowy bieg <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompie obiegowej</a> oraz całkowicie otwartych siłownikach termoelektrycznych.
                    </div>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><path d="M12 22A10 10 0 1 0 12 2a10 10 0 0 0 0 20zM12 16v-4M12 8h.01"/></svg>
                </div>
                Jakie są optymalne przepływy dla typowej pętli podłogówki? Kiedy przepływ jest zbyt duży?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Dla standardowych instalacji mieszkalnych realizowanych rurą 16&#215;2.0, optymalny przepływ (zakładając projektowe różnice temperatur ΔT) mieści się w granicach <strong>od 0,5 do 1,5 L/min</strong>. W wyjątkowych sytuacjach dla najdłuższych pętli może to być 2.0 &#8211; 2.5 L/min.</p>
                    <ul>
                        <li><strong>Zbyt niski (< 0.5 l/min):</strong> Woda płynie tak wolno, że nie ma siły wypchnąć powietrza do odpowietrzników. Powstają korki gazowe.</li>
                        <li><strong>Zbyt wysoki (> 2.0 l/min):</strong> Skutkuje to zjawiskiem szumu hydraulicznego (piszczenie/syczenie w rurach i rozdzielaczu). Dodatkowo opór układu rośnie w kwadracie, co drastycznie zwiększa zużycie prądu przez pompę ciepła, nie dając już realnych zysków w przekazywaniu ciepła do wylewki.</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"/></svg>
                </div>
                Dlaczego rotametry instaluje się na belce powrotnej rozdzielacza, a nie na zasilaniu?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>To kwestia precyzji fizycznej i trwałości materiałów. Rotametry są niezwykle wrażliwe na zmiany parametrów fizycznych cieczy. Woda wchodząca z kotła na zasilanie jest najgorętsza (np. 45°C), co zmienia jej gęstość i lepkość kinmatyczną w stosunku do chłodniejszej wody na powrocie (np. 35°C).</p>
                    <p>Montaż na zasilaniu mógłby <strong>zniekształcać odczyty siły wyporu</strong> pływaka. Drugim powodem jest żywotność: przezroczyste tworzywo sztuczne i elementy mechaniczne rotametru wolniej degradują, gdy pracują w strumieniu o niższej, ustabilizowanej po przejściu przez posadzkę temperaturze powrotu.</p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <div class="faq-icon-wrap">
                    <svg class="faq-svg" viewBox="0 0 24 24"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0zM12 9v4M12 17h.01"/></svg>
                </div>
                Co oznacza sytuacja, w której pływak w rotametrze skacze, drga lub uparcie leży na dnie?
                <div class="faq-toggle-icon"></div>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-content">
                    <p>Takie zachowanie wskaźnika to idealna diagnoza kondycji Twojej instalacji:</p>
                    <ul>
                        <li><strong>Pływak skacze i wibruje:</strong> Strumień wody omywający pływak jest niejednorodny. Przerywają go pęcherzyki gazu. Jest to w 99% przypadków dowód na silne <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">zapowietrzenie danej pętli grzewczej</a>. Należy zamknąć pozostałe pętle i &#8222;przepchnąć&#8221; tę jedną na najwyższym biegu pompy.</li>
                        <li><strong>Pływak leży na dnie (przy odkręconym zaworze):</strong> Oznacza całkowity brak przepływu (0 l/min). Jeśli inne rotametry działają, przyczyna leży w tej konkretnej pętli – może być to fizyczne załamanie rury (zgniecenie przy zalewaniu jastrychu), mocne zabrudzenie filtra wewnętrznego lub uszkodzenie iglicy zaworu. Jeśli wszystkie pływaki nagle spadły na dno, oznacza to awarię źródła tłoczenia (np. zablokowanie pompy obiegowej).</li>
                    </ul>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- OCHRONA DOMENOWA (Bez H2/H3 w fallbacku) ---
    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-faq-module');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #0f172a; color: #ffffff; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 20px; font-weight: 900; margin-bottom: 10px; color: #38bdf8;">Zabezpieczenie Treści</div>
                    <p style="font-size: 15px; color: #cbd5e1; margin-bottom: 25px;">Ten interaktywny moduł FAQ jest własnością intelektualną serwisu Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 24px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
            return;
        }
    }

    // --- LOGIKA AKORDEONU (Smooth Expand/Collapse) ---
    const faqItems = document.querySelectorAll('.faq-item');

    faqItems.forEach(item => {
        const questionBtn = item.querySelector('.faq-question');
        const answerDiv = item.querySelector('.faq-answer');

        questionBtn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zamykamy wszystkie inne (opcjonalne, w stylu akordeonu)
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.faq-answer').style.maxHeight = null;
            });

            // Jeśli nie był aktywny, otwieramy ten kliknięty
            if (!isActive) {
                item.classList.add('active');
                // Ustawiamy maxHeight na tyle ile faktycznie potrzebuje treść by animacja zadziałała
                answerDiv.style.maxHeight = answerDiv.scrollHeight + 50 + "px"; 
            }
        });
    });
});
</script>



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

.summary-module {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--sum-panel);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--sum-border);
    overflow: hidden;
    color: var(--sum-text);
}

.sum-header {
    background: linear-gradient(to right, var(--sum-primary), #1e293b);
    padding: 40px 50px;
    color: #ffffff;
    text-align: center;
    position: relative;
    overflow: hidden;
}

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

.sum-badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #bae6fd;
    margin-bottom: 15px;
}

.sum-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: #ffffff;
    letter-spacing: -0.5px;
}

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

/* INTERAKTYWNY UKŁAD */
.sum-workspace {
    display: flex;
    padding: 0;
    min-height: 400px;
}

.sum-nav {
    width: 35%;
    background: var(--sum-bg);
    border-right: 1px solid var(--sum-border);
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sum-nav-btn {
    background: transparent;
    border: 1px solid transparent;
    padding: 15px 20px;
    border-radius: 12px;
    text-align: left;
    font-size: 14px;
    font-weight: 800;
    color: var(--sum-primary);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 12px;
}

.sum-nav-btn:hover {
    background: #ffffff;
    border-color: var(--sum-border);
    color: var(--sum-accent-dark); /* Wymuszenie koloru na wypadek konfliktu z głównym motywem strony */
}

.sum-nav-btn.active {
    background: #ffffff;
    border-color: var(--sum-accent);
    box-shadow: 0 4px 15px rgba(14, 165, 233, 0.15);
    color: var(--sum-accent-dark);
}

.sum-nav-icon {
    font-size: 20px;
    background: #f1f5f9;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: 0.3s;
}

.sum-nav-btn.active .sum-nav-icon {
    background: #e0f2fe;
}

.sum-content-area {
    width: 65%;
    padding: 40px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.sum-panel {
    display: none;
    animation: fadeInSum 0.4s ease forwards;
}

.sum-panel.active {
    display: block;
}

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

/* Wizualizacje SVG */
.sum-visual-box {
    height: 160px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sum-bg);
    border: 1px solid var(--sum-border);
    border-radius: 16px;
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.02);
}

.sum-svg { width: 120px; height: 120px; overflow: visible; }

/* Animacje SVG */
.anim-float { animation: floatUpDown 2s infinite ease-in-out alternate; }
@keyframes floatUpDown {
    0% { transform: translateY(5px); }
    100% { transform: translateY(-5px); }
}

.anim-flow-path {
    stroke-dasharray: 10 10;
    animation: dashFlow 1s linear infinite;
}
@keyframes dashFlow {
    to { stroke-dashoffset: -20; }
}

.anim-pulse { animation: pulseScale 2s infinite ease-in-out alternate; }
@keyframes pulseScale {
    0% { transform: scale(0.95); opacity: 0.8; }
    100% { transform: scale(1.05); opacity: 1; }
}

/* Teksty w panelach */
.sum-panel h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--sum-primary);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.sum-panel p {
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 15px 0;
}

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

.sum-panel a:hover {
    color: #0369a1;
}

@media (max-width: 800px) {
    .sum-workspace { flex-direction: column; }
    .sum-nav { width: 100%; border-right: none; border-bottom: 1px solid var(--sum-border); padding: 25px; flex-direction: row; flex-wrap: wrap; }
    .sum-nav-btn { flex: 1 1 calc(50% - 10px); justify-content: center; text-align: center; flex-direction: column; gap: 8px; padding: 10px;}
    .sum-content-area { width: 100%; padding: 30px 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie: Najważniejsze zasady regulacji rotametrów",
    "description": "Zwięzłe pigułki wiedzy o wskaźnikach przepływu. Działanie, równoważenie, optymalne wartości i kluczowa rola projektu OZC w jednym interaktywnym panelu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-03",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-podsumowanie",
    "name": "Kluczowe tezy instalacyjne - Rotametry i Przepływy",
    "description": "Zbiór ostatecznych wytycznych inżynierskich dotyczących działania, balansu hydraulicznego i zależności projektowych dla rozdzielaczy ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie rotametry",
      "najważniejsze zasady ogrzewania podłogowego",
      "regulacja podłogówki krok po kroku",
      "projekt OZC a przepływy",
      "prawidłowe ustawienie wskaźników przepływu"
    ],
    "measurementTechnique": "Synteza wniosków z analizy hydrodynamiki obwodów zasilających i powrotnych w instalacjach płaszczyznowych.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Zasady optymalizacji ogrzewania płaszczyznowego"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#webapp-podsumowanie",
    "name": "Pigułka Wiedzy: Panel Wniosków Końcowych",
    "description": "Aplikacja podsumowująca kluczowe zagadnienia artykułu za pomocą wizualizacji wektorowych (SVG) ilustrujących fizykę układów pompowych i zasady projektowe.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, CSS Animations, SVG"
  }
]
</script>

<div class="summary-module" id="app-summary-hub">

    <div class="sum-header">
        <div class="sum-badge">💡 Pigułka Wiedzy</div>
        <h2>Zapamiętaj te 4 zasady</h2>
        <p>Nie masz czasu czytać całego artykułu ponownie? Oto esencja inżynierskiej wiedzy o rotametrach, którą musisz znać przed uruchomieniem swojej instalacji.</p>
    </div>

    <div class="sum-workspace">
        <div class="sum-nav">
            <button class="sum-nav-btn active" data-sum="sum-1">
                <span class="sum-nav-icon">🔍</span> 1. Fundament Działania
            </button>
            <button class="sum-nav-btn" data-sum="sum-2">
                <span class="sum-nav-icon">⚖️</span> 2. Równoważenie Układu
            </button>
            <button class="sum-nav-btn" data-sum="sum-3">
                <span class="sum-nav-icon">🎯</span> 3. Optymalne Przepływy
            </button>
            <button class="sum-nav-btn" data-sum="sum-4">
                <span class="sum-nav-icon">📐</span> 4. Podstawa Projektowa
            </button>
        </div>

        <div class="sum-content-area">
            
            <div class="sum-panel active" id="sum-1">
                <div class="sum-visual-box">
                    <svg class="sum-svg" viewBox="0 0 100 100">
                        <rect x="35" y="10" width="30" height="80" rx="4" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2"/>
                        <rect x="35" y="40" width="30" height="50" fill="#bae6fd"/>
                        <path class="anim-float" d="M 40 40 L 60 40 L 55 50 L 45 50 Z" fill="#ef4444"/>
                        <line x1="30" y1="25" x2="35" y2="25" stroke="#94a3b8" stroke-width="2"/>
                        <line x1="30" y1="50" x2="35" y2="50" stroke="#94a3b8" stroke-width="2"/>
                        <line x1="30" y1="75" x2="35" y2="75" stroke="#94a3b8" stroke-width="2"/>
                    </svg>
                </div>
                <h3>Wizualna kontrola fizyki</h3>
                <p>Rotametr to proste, ale precyzyjne urządzenie. Wykorzystuje siłę oporu wody tłoczonej przez <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompę obiegową</a>, aby unieść pływak.</p>
                <p>Odczyt zawsze wykonujemy na <strong>górnej krawędzi pływaka</strong>. Pamiętaj, że ze względu na dokładność pomiarową, rotametry montuje się zawsze na chłodniejszej belce powrotnej rozdzielacza.</p>
            </div>

            <div class="sum-panel" id="sum-2">
                <div class="sum-visual-box">
                    <svg class="sum-svg" viewBox="0 0 100 100">
                        <rect x="10" y="45" width="30" height="10" fill="#e2e8f0"/>
                        <line x1="10" y1="50" x2="35" y2="50" class="anim-flow-path" stroke="#0ea5e9" stroke-width="4"/>
                        <path d="M 40 50 Q 50 50 50 30 L 50 15" fill="none" stroke="#e2e8f0" stroke-width="10"/>
                        <path d="M 35 50 Q 50 50 50 30 L 50 15" fill="none" class="anim-flow-path" stroke="#0ea5e9" stroke-width="4"/>
                        <path d="M 40 50 Q 50 50 50 70 L 50 85" fill="none" stroke="#e2e8f0" stroke-width="10"/>
                        <path d="M 35 50 Q 50 50 50 70 L 50 85" fill="none" class="anim-flow-path" stroke="#0ea5e9" stroke-width="4"/>
                        <circle cx="50" cy="30" r="8" fill="#ef4444"/>
                        <circle cx="50" cy="70" r="8" fill="#10b981"/>
                    </svg>
                </div>
                <h3>Konieczność równoważenia</h3>
                <p>Woda to &#8222;leniwe medium&#8221;, które zawsze ucieka pętlami o najmniejszym oporze (najkrótszymi). Jeśli nie zastosujesz rotametrów, Twój układ będzie całkowicie rozregulowany.</p>
                <p>Główną rolą wskaźnika jest <strong>sztuczne zdławienie (kryzowanie) krótkich obwodów</strong>, aby wymusić przepływ wody przez długie rury w dużych pomieszczeniach.</p>
            </div>

            <div class="sum-panel" id="sum-3">
                <div class="sum-visual-box">
                    <svg class="sum-svg anim-pulse" viewBox="0 0 100 100">
                        <circle cx="50" cy="50" r="40" fill="none" stroke="#e2e8f0" stroke-width="8"/>
                        <path d="M 20 50 A 30 30 0 0 1 80 50" fill="none" stroke="#10b981" stroke-width="8" stroke-linecap="round"/>
                        <line x1="50" y1="50" x2="50" y2="25" stroke="#0f172a" stroke-width="4" stroke-linecap="round"/>
                        <circle cx="50" cy="50" r="6" fill="#0f172a"/>
                        <text x="50" y="80" font-size="14" font-weight="bold" fill="#0284c7" text-anchor="middle">1.2 l/min</text>
                    </svg>
                </div>
                <h3>Złoty środek w nastawach</h3>
                <p>Optymalny zakres przepływu na pętlę to zazwyczaj <strong>od 0.5 do 1.5 l/min</strong>. To kompromis, który gwarantuje cichą pracę i efektywne oddawanie ciepła.</p>
                <p>Zbyt niskie wartości grożą zapowietrzeniem instalacji. Zbyt wysokie (otwarcie zaworów &#8222;na full&#8221;) powodują uciążliwy <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">szum w rozdzielaczu</a> i bezsensownie pożerają prąd napędzający pompę.</p>
            </div>

            <div class="sum-panel" id="sum-4">
                <div class="sum-visual-box">
                    <svg class="sum-svg" viewBox="0 0 100 100">
                        <rect x="25" y="10" width="50" height="70" rx="4" fill="#ffffff" stroke="#cbd5e1" stroke-width="3"/>
                        <line x1="35" y1="25" x2="65" y2="25" stroke="#94a3b8" stroke-width="3" stroke-linecap="round"/>
                        <line x1="35" y1="40" x2="55" y2="40" stroke="#94a3b8" stroke-width="3" stroke-linecap="round"/>
                        <line x1="35" y1="55" x2="60" y2="55" stroke="#94a3b8" stroke-width="3" stroke-linecap="round"/>
                        <path class="anim-pulse" d="M 45 75 L 55 85 L 80 50" fill="none" stroke="#10b981" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
                    </svg>
                </div>
                <h3>Bez projektu to zgadywanie</h3>
                <p>Rotametr jest zaledwie mechanicznym wykonawcą poleceń. To <strong><a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczenia inżynierskie (OZC)</a></strong> mówią nam, jaka wartość powinna znaleźć się na jego skali.</p>
                <p>Projektant uwzględnia w nich różnice w izolacji podłóg (panele vs gres), stratach cieplnych okien i docelowej temperaturze. Ustawianie &#8222;wszystkiego po równo&#8221; to błąd w sztuce!</p>
            </div>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // --- OCHRONA DOMENOWA (Bez użycia H-tagów) ---
    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-summary-hub');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 20px; text-align: center; background: #0f172a; color: #ffffff; border-radius: 24px; font-family: sans-serif;">
                    <div style="font-size: 40px; margin-bottom: 15px;">🔒</div>
                    <div style="font-size: 22px; font-weight: 900; margin-bottom: 10px; color: #38bdf8;">Zawartość Chroniona Autorsko</div>
                    <p style="font-size: 15px; color: #cbd5e1; margin-bottom: 25px;">Moduł "Pigułka Wiedzy" jest własnością serwisu Projekt-Ogrzewania.pl.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 12px 24px; background: #0ea5e9; color: white; text-decoration: none; border-radius: 8px; font-weight: bold;">Wróć do oryginału</a>
                </div>
            `;
            return;
        }
    }

    // --- LOGIKA PRZEŁĄCZANIA PANELU WIEDZY ---
    const navBtns = document.querySelectorAll('.sum-nav-btn');
    const panels = document.querySelectorAll('.sum-panel');

    navBtns.forEach(btn => {
        btn.addEventListener('click', (e) => {
            // Zresetuj wszystkie przyciski i panele
            navBtns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Aktywuj kliknięty
            e.currentTarget.classList.add('active');
            const targetId = e.currentTarget.getAttribute('data-sum');
            const targetPanel = document.getElementById(targetId);
            
            if(targetPanel) {
                // Mały trick by zresetować animację CSS przy każdym kliknięciu
                targetPanel.style.animation = 'none';
                targetPanel.offsetHeight; /* trigger reflow */
                targetPanel.style.animation = null; 
                
                targetPanel.classList.add('active');
            }
        });
    });
});
</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;
}

.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 SEKCI */
.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: 60%; }

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

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

.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: 20px;
    height: 20px;
    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);
}

.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/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#infografika-article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/"
    },
    "headline": "Rotametr – Instrukcja i Tabela Nastaw (Infografika PDF)",
    "description": "Pobierz inżynierskie zestawienie nastaw przepływu dla ogrzewania podłogowego. Kompletny poradnik regulacji rotametrów w formacie PDF i WEBP.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-11-29",
    "dateModified": "2026-05-03"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#dataset-tabela",
    "name": "Tabela inżynierska: Długość pętli vs Zalecany przepływ l/min",
    "description": "Zbiór danych określający optymalne natężenie przepływu wody dla rur PEX/PERT 16x2.0 w zależności od długości obwodu (od 50m do 120m).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tabela nastaw rotametrów",
      "ile l/min na podłogówkę",
      "przepływ 100m rury",
      "regulacja rozdzielacza instrukcja PDF",
      "optymalny przepływ w pętli"
    ],
    "measurementTechnique": "Obliczenia hydrauliczne dla ΔT=5-8K przy standardowym obciążeniu cieplnym budynku jednorodzinnego.",
    "mainEntity": {
      "@type": "Thing",
      "name": "Parametry nastawcze rozdzielacza"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/#download-app",
    "name": "Centrum Pobierania Wiedzy: Rotametr",
    "description": "Interaktywny moduł umożliwiający wizualizację i pobranie dokumentacji technicznej dotyczącej wskaźników przepływu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5"
  }
]
</script>

<div class="download-hub-container" id="app-rotameter-dl">
    
    <div class="dl-header">
        <div class="dl-header-content">
            <div class="dl-badge">Darmowe Materiały</div>
            <h2>Pobierz Kompletny Poradnik</h2>
            <p>Zabierz inżynierską wiedzę na budowę. Tabela nastaw, schemat budowy i diagnostyka błędów w jednym pliku PDF.</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-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.webp', '_blank')">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.webp" alt="Infografika Rotametr - wskaźnik przepływu w rozdzielaczu ogrzewania podłogowego" class="dl-preview-img" loading="lazy">
            <div style="position:absolute; bottom:20px; right:20px; background:rgba(0,0,0,0.6); color:white; padding:8px 12px; border-radius:8px; font-size:12px; font-weight:700;">🔍 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>
                    Tabela: Przepływ vs Długość pętli
                </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>
                    Schemat budowy 1:1
                </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 najczęstsze błędy
                </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>
                    Optymalizacja pod smartfony
                </li>
            </ul>

            <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego.pdf" class="dl-main-btn" target="_blank">
                <span>📥</span> POBIERZ INSTRUKCJĘ (PDF)
            </a>
            
            <p style="margin-top: 20px; font-size: 13px; color: var(--dl-muted); line-height: 1.4;">
                Potrzebujesz precyzyjnych danych dla swojego domu? <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" style="color:var(--dl-accent-dark); font-weight:800;">Zamów projekt podłogówki</a> z gotowymi nastawami rotametrów.
            </p>
        </div>

    </div>

    <div class="dl-footer">
        © 2026 Projekt-Ogrzewania.pl | Autor: <strong>Robert Kucharski</strong>. Udostępnianie dozwolone z zachowaniem linku do źródła.
    </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-rotameter-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</div>
                    <p style="color: #b91c1c; font-size: 14px;">Ta infografika i dokumentacja PDF są własnością serwisu Projekt-Ogrzewania.pl. Pobieranie z zewnętrznych serwerów jest zabronione.</p>
                </div>
            `;
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">Rotametr (wskaźnik przepływu) w rozdzielaczu 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/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego? &#8211; Kalkulator.</title>
		<link>https://projekt-ogrzewania.pl/jaka-srednica-rury-zasilajacej-rozdzielacz-w-ukladzie-ogrzewania-podlogowego-kalkulator/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 10 Feb 2025 12:26:28 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Nowoczesne technologie grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[dobór rury do rozdzielacza]]></category>
		<category><![CDATA[dobór rury zasilającej]]></category>
		<category><![CDATA[efektywność cieplna]]></category>
		<category><![CDATA[instalacja podłogowa]]></category>
		<category><![CDATA[kalkulator średnicy rury]]></category>
		<category><![CDATA[montaż ogrzewania]]></category>
		<category><![CDATA[opory hydrauliczne]]></category>
		<category><![CDATA[projektowanie ogrzewania]]></category>
		<category><![CDATA[przepływ wody w ogrzewaniu]]></category>
		<category><![CDATA[średnica rury ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2156</guid>

					<description><![CDATA[<p>Dobór odpowiedniej średnicy rury zasilającej rozdzielacz w układzie ogrzewania podłogowego ma kluczowe znaczenie dla efektywności całego systemu. Niewłaściwie dobrany przekrój może prowadzić do nierównomiernego rozprowadzania ciepła, zwiększonych oporów hydraulicznych i nadmiernego zużycia energii. W naszym artykule znajdziesz wskazówki, jak dobrać optymalną średnicę, a także kalkulator ułatwiający obliczenia. Dowiedz się, jakie parametry wpływają na wybór rury i jak uniknąć typowych błędów montażowych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jaka-srednica-rury-zasilajacej-rozdzielacz-w-ukladzie-ogrzewania-podlogowego-kalkulator/">Jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego? &#8211; Kalkulator.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --primary: #0f172a;
    --accent: #dc2626; /* Czerwony ostrzegawczy */
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #fef2f2;
    --border-color: #e2e8f0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego? Kalkulator i Poradnik",
    "description": "Zastanawiasz się, jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego jest optymalna? Skorzystaj z naszego kalkulatora, poznaj zasady doboru i uniknij błędów hydraulicznych.",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl"
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl"
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/jaka-srednica-rury-zasilajacej-rozdzielacz-w-ukladzie-ogrzewania-podlogowego-kalkulator/"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Parametry doboru średnicy rury zasilającej",
    "description": "Zestawienie kluczowych parametrów hydraulicznych branych pod uwagę przy obliczaniu przekroju rury zasilającej do rozdzielacza podłogówki.",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Przepływ cieczy (Q)",
        "value": "Zależny od liczby i długości pętli",
        "description": "Kluczowy parametr decydujący o ilości dostarczanego ciepła."
      },
      {
        "@type": "PropertyValue",
        "name": "Prędkość przepływu",
        "value": "0,5 - 1,5 m/s",
        "description": "Optymalny zakres gwarantujący brak hałasu i poprawne działanie systemu."
      },
      {
        "@type": "PropertyValue",
        "name": "Opory hydrauliczne",
        "value": "Zmienne (kPa)",
        "description": "Skutek uboczny zbyt małej średnicy, obciążający pompę obiegową."
      },
      {
        "@type": "PropertyValue",
        "name": "Zalecane średnice",
        "value": "16mm, 20mm, 25mm, 32mm",
        "description": "Standardowe wymiary rur zasilających dobierane przez kalkulator."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-hero-box" id="hero-app-container">
    <div class="hero-content">
        
        <div class="hero-badge">
            <span>🧮</span> Kalkulator i Dobór Techniczny
        </div>
        
        <p class="hero-text">Wielu inwestorów oraz instalatorów staje przed dylematem: <strong>jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego</strong> będzie optymalna dla ich budynku? To absolutnie kluczowe pytanie przy projektowaniu nowoczesnej instalacji. Wybór odpowiedniego przekroju bezpośrednio warunkuje prawidłową efektywność grzewczą, ekonomiczne zużycie energii i wieloletnią trwałość całego systemu.</p>
        
        <p class="hero-text">Należy pamiętać, że błąd na tym etapie ma poważne konsekwencje. Zbyt mała średnica drastycznie zwiększa opory hydrauliczne, co niepotrzebnie obciąża pompę obiegową i prowadzi do niedogrzewania pomieszczeń. Z kolei zbyt duży przekrój sztucznie podnosi koszty inwestycji i znacząco utrudnia montaż.</p>
        
        <p class="hero-text">Aby ułatwić ten skomplikowany proces, przygotowaliśmy profesjonalny <strong>kalkulator średnicy rury</strong>. Narzędzie to automatycznie obliczy optymalny przekrój na podstawie Twoich danych: liczby pętli, długości obiegu oraz zakładanej prędkości przepływu. Dzięki temu unikniesz błędów projektowych i zapewnisz systemowi maksymalną wydajność. Zapraszamy do skorzystania z narzędzia i lektury poniższego przewodnika!</p>

        <div class="hero-modules-title">Co znajdziesz w tym poradniku:</div>
        
        <div class="hero-grid">
            <div class="hero-card">
                <span class="hero-card-icon">🔢</span>
                <span class="hero-card-title">Kalkulator<br>Online</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🌊</span>
                <span class="hero-card-title">Analiza<br>Przepływu</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">⚙️</span>
                <span class="hero-card-title">Opory<br>Hydrauliczne</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">📐</span>
                <span class="hero-card-title">Przykłady<br>z Praktyki</span>
            </div>
        </div>

    </div>

    <noscript>
        <div style="padding: 20px 50px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h2 style="font-size: 18px; color: #0f172a; margin-bottom: 15px;">Kluczowe parametry doboru rury zasilającej</h2>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Parametr hydrauliczny</th>
                        <th style="padding: 10px 0; color: #475569;">Optymalna wartość</th>
                        <th style="padding: 10px 0; color: #475569;">Zagrożenie (zły dobór)</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Prędkość przepływu</td>
                        <td style="padding: 10px 0; font-weight: bold;">0,5 &#8211; 1,5 m/s</td>
                        <td style="padding: 10px 0; color: #dc2626;">Szum w instalacji, erozja rur</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Średnica zbyt mała</td>
                        <td style="padding: 10px 0; font-weight: bold;">Wg kalkulatora</td>
                        <td style="padding: 10px 0; color: #dc2626;">Wysokie opory, awaria pompy</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Średnica zbyt duża</td>
                        <td style="padding: 10px 0; font-weight: bold;">Wg kalkulatora</td>
                        <td style="padding: 10px 0; color: #dc2626;">Wysokie koszty, trudny montaż</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0;">Przepływ cieczy (Q)</td>
                        <td style="padding: 10px 0; font-weight: bold;">N * Lavg * C</td>
                        <td style="padding: 10px 0; color: #dc2626;">Niedogrzane strefy brzegowe</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

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



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

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

.impact-header {
    padding: 45px 50px 30px 50px;
    background: linear-gradient(180deg, #ffffff 0%, var(--bg-light) 100%);
    border-bottom: 1px solid var(--border-color);
}

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

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

.impact-header p strong {
    color: var(--primary);
}

.impact-header a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dashed var(--accent);
    transition: all 0.3s ease;
}

.impact-header a:hover {
    color: #1d4ed8;
    border-bottom-style: solid;
}

/* INTERAKTYWNA TABLICA KONSEKWENCJI */
.impact-grid-container {
    padding: 40px 50px;
    background: #ffffff;
}

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

.impact-card {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: default;
    z-index: 1;
}

/* Mikrointerakcje Hover */
.impact-grid:hover .impact-card {
    filter: grayscale(0.8) opacity(0.6);
    transform: scale(0.98);
}

.impact-grid .impact-card:hover {
    filter: grayscale(0) opacity(1);
    transform: scale(1.05) translateY(-10px);
    background: #ffffff;
    box-shadow: 0 20px 30px -10px rgba(0,0,0,0.1);
    z-index: 2;
    border-color: transparent;
}

/* Style specyficzne dla kart */
.card-danger:hover { box-shadow: 0 20px 30px -10px rgba(220, 38, 38, 0.15); border-bottom: 4px solid var(--danger); }
.card-warning:hover { box-shadow: 0 20px 30px -10px rgba(234, 88, 12, 0.15); border-bottom: 4px solid var(--warning); }
.card-success:hover { box-shadow: 0 20px 30px -10px rgba(22, 163, 74, 0.15); border-bottom: 4px solid var(--success); }

.impact-icon {
    font-size: 42px;
    margin-bottom: 15px;
    display: block;
    transition: transform 0.3s;
}

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

.impact-title {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 12px;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

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

.impact-desc strong {
    color: var(--primary);
}

@media (max-width: 900px) {
    .impact-grid { grid-template-columns: 1fr; gap: 15px; }
    .impact-header { padding: 30px 25px; }
    .impact-grid-container { padding: 30px 25px; }
    .impact-grid:hover .impact-card { filter: none; transform: none; opacity: 1; }
    .impact-grid .impact-card:hover { transform: translateY(-5px); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Dlaczego średnica rury zasilającej ma kluczowe znaczenie w ogrzewaniu podłogowym?",
    "description": "Analiza skutków przewymiarowania oraz niedowymiarowania rur zasilających rozdzielacz. Wpływ na opory hydrauliczne i żywotność pompy obiegowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Analiza skutków błędnego doboru rury zasilającej",
    "description": "Zestawienie trzech scenariuszy doboru średnicy rury (zbyt mała, zbyt duża, optymalna) i ich wpływu na fizykę układu grzewczego.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Scenariusz niedowymiarowania (Zbyt mała rura)",
        "description": "Wzrost oporów hydraulicznych, przeciążenie pompy, niedogrzane strefy."
      },
      {
        "@type": "PropertyValue",
        "name": "Scenariusz przewymiarowania (Zbyt duża rura)",
        "description": "Wysokie koszty złączek, trudności w profilowaniu i montażu w szafce."
      },
      {
        "@type": "PropertyValue",
        "name": "Scenariusz optymalny (Złoty środek)",
        "description": "Zbilansowany przepływ, cicha praca pompy, równomierne oddawanie ciepła."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-impact-box" id="impact-app-lock">
    
    <div class="impact-header">
        <h2>Dlaczego to, jaka średnica rury zasilającej rozdzielacz zostanie wybrana, ma aż tak ogromne znaczenie?</h2>
        
        <p>System ogrzewania płaszczyznowego opiera się na precyzyjnej mechanice płynów. Cały ten skomplikowany układ działa poprawnie tylko wtedy, gdy gwarantuje bezproblemowe i <strong>równomierne rozprowadzanie ciepła</strong> przez kilometry pętli grzewczych. To właśnie z tego powodu decyzja o tym, <strong>jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego</strong> zostanie użyta, jest jednym z najważniejszych wyborów instalacyjnych.</p>
        
        <p>Skutki błędnej decyzji na tym etapie rzadko da się tanio naprawić, co jest jednym z <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" target="_blank">najczęstszych błędów przy montażu ogrzewania podłogowego</a>. Kluczem w nowoczesnym projektowaniu jest zawsze &#8222;złoty środek&#8221; – kompromis, który zapewni optymalny, bezszelestny przepływ przy minimalnych i w pełni akceptowalnych stratach ciśnienia.</p>
    </div>

    <div class="impact-grid-container">
        <div class="impact-grid">
            
            <div class="impact-card card-danger">
                <span class="impact-icon">🔥</span>
                <div class="impact-title">Zbyt wąska rura</div>
                <p class="impact-desc">Generuje ogromne <strong>opory hydrauliczne w podłogówce</strong>. Wąskie gardło dławi przepływ wody, wymuszając ciągłą pracę <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" target="_blank">pompy obiegowej</a> na najwyższym biegu, co radykalnie skraca jej żywotność i powoduje <strong>niedogrzewanie pomieszczeń</strong>.</p>
            </div>

            <div class="impact-card card-warning">
                <span class="impact-icon">💸</span>
                <div class="impact-title">Przewymiarowanie</div>
                <p class="impact-desc">Zbyt duża średnica to potężne, niepotrzebne koszty instalacji (drogie złączki 32mm, ogromne zawory kulowe). Ponadto grube rury są bardzo sztywne, co drastycznie <strong>utrudnia montaż</strong> i układanie podejść pod szafką rozdzielaczową.</p>
            </div>

            <div class="impact-card card-success">
                <span class="impact-icon">⚖️</span>
                <div class="impact-title">Złoty środek</div>
                <p class="impact-desc">Prawidłowo dobrany przekrój gwarantuje <strong>minimalizację strat ciśnienia</strong>, bezszelestną i energooszczędną pracę urządzenia tłoczącego oraz <strong>równomierne rozprowadzanie ciepła</strong> w każdym zakątku Twojego domu.</p>
            </div>

        </div>
    </div>

    <noscript>
        <div style="padding: 30px; background: #0f172a; font-family: sans-serif; color: #f8fafc;">
            <h3 style="margin-top: 0; color: #ffffff;">Analiza scenariuszy doboru średnicy rur</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; margin-bottom: 10px;">
                <thead>
                    <tr style="border-bottom: 2px solid #334155;">
                        <th style="padding: 10px 0; color: #94a3b8;">Scenariusz doboru</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Konsekwencje hydrauliczne i finansowe</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #1e293b;">
                        <td style="padding: 10px 0; font-weight: bold; color: #f87171;">Niedowymiarowanie</td>
                        <td style="padding: 10px 0; color: #cbd5e1;">Wysokie opory hydrauliczne, awarie pompy, nierównomierne oddawanie ciepła.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #1e293b;">
                        <td style="padding: 10px 0; font-weight: bold; color: #fbbf24;">Przewymiarowanie</td>
                        <td style="padding: 10px 0; color: #cbd5e1;">Skrajnie drogie zawory i kształtki, problemy z gięciem sztywnych rur.</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold; color: #4ade80;">Wybór optymalny</td>
                        <td style="padding: 10px 0; color: #cbd5e1;">Balans między oporami a kosztami. Długa żywotność podzespołów.</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('impact-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona prawem autorskim</div><p>Skopiowano bez zgody Projekt-Ogrzewania.pl</p></div>';
        }
    }
});
</script>



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

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

.premium-formula-box a.in-text-link {
    color: var(--accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    transition: all 0.3s ease;
}

.premium-formula-box a.in-text-link:hover {
    color: var(--primary);
    border-bottom-color: var(--primary);
}

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

.formula-header h3 {
    margin: 0 0 10px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary);
}

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

.formula-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.math-display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    font-size: 46px;
    font-weight: 700;
    font-family: 'Georgia', 'Times New Roman', serif;
    font-style: italic;
    color: var(--accent);
    background: #eff6ff;
    padding: 25px 50px;
    border-radius: 16px;
    border: 2px solid #bfdbfe;
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.5);
}

.math-fraction {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.1;
    margin-top: -5px;
}

.math-numerator {
    border-bottom: 4px solid var(--accent);
    padding: 0 12px 2px 12px;
}

.math-denominator {
    padding: 4px 12px 0 12px;
}

.math-sub {
    font-size: 22px;
    vertical-align: baseline;
    position: relative;
    top: 5px;
}

.legend-box {
    width: 100%;
    max-width: 650px;
    background: #ffffff;
    padding: 0;
}

.legend-title {
    font-weight: 800;
    margin-bottom: 15px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
    text-align: left;
}

.legend-item {
    display: flex;
    align-items: center;
    padding: 14px 20px;
    margin-bottom: 8px;
    background: var(--bg-light);
    border-radius: 12px;
    border: 1px solid #f1f5f9;
    font-size: 15px;
    color: #334155;
    transition: 0.2s;
}

.legend-item:hover {
    background: #f1f5f9;
    border-color: #e2e8f0;
}

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

.legend-symbol {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-style: italic;
    font-weight: 700;
    font-size: 20px;
    color: var(--primary);
    width: 55px;
    flex-shrink: 0;
}

.legend-desc {
    line-height: 1.5;
}

.legend-desc strong {
    color: var(--primary);
}

/* Sekcja kroków */
.steps-wrapper {
    width: 100%;
    max-width: 650px;
    margin-top: 10px;
}

.step-box {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-left: 4px solid var(--accent);
    padding: 18px 25px;
    margin-bottom: 12px;
    border-radius: 0 12px 12px 0;
    text-align: left;
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

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

.step-box .calc-highlight {
    background: #eff6ff;
    color: var(--accent);
    padding: 4px 8px;
    border-radius: 6px;
    font-weight: 700;
    font-family: monospace;
    font-size: 15px;
}

.pro-tip-box {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-left: 4px solid var(--warning);
    padding: 18px 25px;
    border-radius: 0 12px 12px 0;
    text-align: left;
    font-size: 14px;
    line-height: 1.6;
    color: #92400e;
    margin-top: 20px;
}

.pro-tip-box span {
    font-weight: 800;
    color: #b45309;
    text-transform: uppercase;
    display: block;
    margin-bottom: 5px;
}

.formula-footer {
    padding: 20px 40px;
    background: #ffffff;
    border-top: 1px solid #f1f5f9;
    text-align: center;
    font-size: 13px;
    color: #64748b;
}

@media (max-width: 600px) {
    .formula-header { padding: 25px 20px; }
    .formula-content { padding: 30px 20px; gap: 25px; }
    .math-display { font-size: 34px; padding: 20px 30px; gap: 10px; }
    .math-sub { font-size: 16px; top: 3px; }
    .legend-item { padding: 12px 15px; font-size: 14px; }
    .formula-footer { padding: 15px 20px; }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "Wzór na średnicę rury zasilającej rozdzielacz (Ogrzewanie Podłogowe)",
  "description": "Matematyczny model obliczania optymalnej średnicy wewnętrznej rury zasilającej na podstawie przepływu, liczby pętli i prędkości cieczy.",
  "license": "https://projekt-ogrzewania.pl/",
  "variableMeasured": [
    {
      "@type": "PropertyValue",
      "name": "d",
      "description": "Szukana wewnętrzna średnica rury zasilającej (w milimetrach)."
    },
    {
      "@type": "PropertyValue",
      "name": "Q",
      "description": "Całkowity przepływ wody (l/min) wyliczany na podstawie liczby pętli i ich długości."
    },
    {
      "@type": "PropertyValue",
      "name": "v",
      "description": "Zakładana prędkość przepływu wody (optymalnie 0.5 - 1.5 m/s)."
    }
  ],
  "creator": {
    "@type": "Person",
    "name": "Robert Kucharski"
  }
}
</script>

<div class="premium-formula-box" id="formula-app-pipe">
    <div class="formula-header">
        <h3>Jak obliczyć średnicę rury zasilającej?</h3>
        <p>Precyzyjna odpowiedź na pytanie, <strong>jaka średnica rury zasilającej <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" class="in-text-link">rozdzielacz</a> w układzie ogrzewania podłogowego</strong> jest odpowiednia, wymaga podstawień do uniwersalnego wzoru z zakresu mechaniki płynów. Poznaj ten praktyczny przewodnik.</p>
    </div>

    <div class="formula-content">
        <div class="math-display">
            <span>d</span>
            <span style="color: var(--primary); font-style: normal;">=</span>
            <div style="display: flex; align-items: center;">
                <span style="font-size: 52px; font-weight: 300; color: var(--accent); margin-right: 0px; transform: translateY(2px);">&radic;</span>
                <div class="math-fraction">
                    <span class="math-numerator">21.22 &middot; Q</span>
                    <span class="math-denominator">v</span>
                </div>
            </div>
        </div>

        <div class="legend-box">
            <div class="legend-title">Zmienne i parametry obliczeniowe:</div>
            <div class="legend-item">
                <div class="legend-symbol">d</div>
                <div class="legend-desc">Teoretyczna <strong>średnica wewnętrzna</strong> rury zasilającej [mm].</div>
            </div>
            <div class="legend-item">
                <div class="legend-symbol">Q</div>
                <div class="legend-desc">Całkowity <strong>przepływ cieczy</strong> w układzie [l/min]. Obliczany ze wzoru: <br><span style="font-family: monospace; background: #e2e8f0; padding: 2px 6px; border-radius: 4px; font-size: 13px;">Q = N &middot; L<sub>avg</sub> &middot; C</span></div>
            </div>
            <div class="legend-item">
                <div class="legend-symbol">v</div>
                <div class="legend-desc">Zakładana <strong>prędkość przepływu wody</strong> [m/s]. W instalacjach domowych przyjmuje się zazwyczaj wartość 1 m/s (optymalny przedział to 0,5–1,5 m/s).</div>
            </div>
            <div class="legend-item">
                <div class="legend-symbol" style="font-size: 16px;">21.22</div>
                <div class="legend-desc">Stała fizyczna (współczynnik konwersji jednostek dla rur okrągłych).</div>
            </div>
        </div>

        <div class="steps-wrapper">
            <div class="legend-title" style="margin-top: 10px;">Praktyczny przykład (10 pętli, 75m każda):</div>
            
            <div class="step-box">
                <strong>Krok 1: Oblicz całkowity przepływ (Q)</strong>
                Mnożymy liczbę pętli (N = 10), średnią długość (L<sub>avg</sub> = 75 m) oraz stałą przepływu dla ΔT=10°C (C = 0,02 l/min/m).<br>
                Wynik: <span class="calc-highlight">Q = 10 · 75 · 0,02 = 15 l/min</span>
            </div>

            <div class="step-box">
                <strong>Krok 2: Ustal prędkość przepływu (v)</strong>
                Zakładamy optymalny, bezszelestny przepływ w domowej instalacji.<br>
                Wynik: <span class="calc-highlight">v = 1 m/s</span>
            </div>

            <div class="step-box">
                <strong>Krok 3: Oblicz średnicę (d)</strong>
                Podstawiamy wartości do głównego pierwiastka.<br>
                Wynik: <span class="calc-highlight">d = &radic;(21.22 · 15 / 1) = &radic;318.3 &approx; 17.8 mm</span>
            </div>

            <div class="pro-tip-box">
                <span>⚠️ Ważna uwaga instalacyjna (Pro-Tip)</span>
                Powyższy wzór wylicza średnicę <strong>wewnętrzną</strong>. Rury w handlu podawane są z reguły po średnicy zewnętrznej. Jeżeli z wyliczeń wychodzi Ci np. d = 17.8 mm, popularna <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/" class="in-text-link" target="_blank">rura wielowarstwowa</a> 20&#215;2.0 (o średnicy wewn. 16 mm) będzie <strong>zbyt wąska!</strong> W takim wypadku powinieneś użyć rury 25&#215;2.5 (która wewnątrz ma równe 20 mm).
            </div>
        </div>

    </div>

    <div class="formula-footer">
        Opracowanie techniczne: <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>
    </div>
</div>

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



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

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

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

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

.anatomy-header p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 15px;
}

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

.anatomy-header a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px dashed var(--accent);
    transition: all 0.3s ease;
}

.anatomy-header a:hover {
    color: #1d4ed8;
    border-bottom-style: solid;
}

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

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

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

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

/* Kolory poszczególnych zakładek */
.layer-btn[data-layer="dom"]::before { background: var(--success); } 
.layer-btn[data-layer="mieszkanie"]::before { background: var(--accent); } 

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

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

.layer-btn[data-layer="dom"].layer-active {
    border-color: var(--success);
    background: #f0fdf4;
    box-shadow: 0 10px 20px -5px rgba(22, 163, 74, 0.15);
}

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

.layer-btn[data-layer="dom"].layer-active::before { background: var(--success); }

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

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

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

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

/* PRAWA STRONA - SZCZEGÓŁY WARSTWY */
.anatomy-details {
    width: 60%;
    background: var(--bg-light);
    padding: 40px;
    position: relative;
}

.detail-pane {
    display: none;
    animation: fadeInSlide 0.4s ease-out forwards;
}

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

.detail-pane h4 {
    margin: 0 0 20px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 12px;
}

.detail-pane p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 15px;
}

.detail-pane a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px dashed var(--accent);
    transition: all 0.3s ease;
}

.detail-pane a:hover {
    color: #1d4ed8;
    border-bottom-style: solid;
}

.detail-pane ul {
    margin: 0 0 20px 0;
    padding-left: 20px;
}

.detail-pane li {
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 10px;
}

.detail-pane strong {
    color: var(--primary);
}

.highlight-box {
    background: #ffffff;
    border-left: 4px solid var(--accent);
    padding: 18px 20px;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: #334155;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
    margin-top: 20px;
    line-height: 1.6;
}

.highlight-box.success {
    border-left-color: var(--success);
}

.highlight-box strong {
    color: var(--primary);
    display: block;
    margin-bottom: 5px;
}

.param-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-bottom: 20px;
}

.param-item {
    background: #ffffff;
    padding: 15px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
}

.param-item span {
    display: block;
    font-size: 12px;
    color: #64748b;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 5px;
}

.param-item strong {
    font-size: 16px;
    color: var(--primary);
}

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

@media (max-width: 768px) {
    .anatomy-header { padding: 30px 20px; }
    .anatomy-workspace { flex-direction: column; min-height: auto; }
    .anatomy-layers {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--border-color);
        padding: 20px;
    }
    .anatomy-details {
        width: 100%;
        padding: 30px 20px;
    }
    .param-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Przykłady obliczeń rury zasilającej",
    "description": "Zestawienie praktycznych scenariuszy obliczeniowych dla doboru średnicy rury zasilającej rozdzielacz.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Scenariusz 1: Dom jednorodzinny",
        "value": "12 pętli, 70m. Wynik: rura zewnętrzna 25 mm"
      },
      {
        "@type": "PropertyValue",
        "name": "Scenariusz 2: Mieszkanie",
        "value": "6 pętli, 50m. Wynik: rura zewnętrzna 16 mm"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Eksplorator Scenariuszy - Średnica Zasilania",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywny moduł edukacyjny prezentujący konkretne obliczenia dla doboru rur zasilających rozdzielacz.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Przykładowe obliczenia dla domu jednorodzinnego",
      "Przykładowe obliczenia dla mniejszego mieszkania",
      "Analiza przepływu i prędkości wody"
    ]
  }
]
</script>

<div class="premium-anatomy-box" id="calc-examples-app-container">
    
    <div class="anatomy-header">
        <h3>Przykłady praktyczne – Dobór średnicy dla różnych instalacji</h3>
        <p>Wiemy już, jak negatywny wpływ mogą mieć <strong>za małe i za duże rury zasilające w systemach płaszczyznowych</strong> na skuteczność całego układu. Sprawdźmy zatem w praktyce, jak powinno wyglądać przeliczenie parametrów dla dwóch najpopularniejszych przypadków, korzystając ze wzorów lub naszego kalkulatora. W każdej symulacji korygujemy teoretyczny wynik wewnętrzny do realnie dostępnej średnicy zewnętrznej (o czym piszemy także w artykule o doborze <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">rur w samym systemie grzewczym</a>).</p>
    </div>

    <div class="anatomy-workspace">
        
        <div class="anatomy-layers">
            <span style="font-size: 11px; font-weight: 800; color: #94a3b8; text-transform: uppercase; letter-spacing: 1px; text-align: center; margin-bottom: 5px;">Wybierz scenariusz</span>
            
            <button class="layer-btn layer-active" data-target="pane-dom" data-layer="dom">
                <span class="layer-icon">🏠</span>
                <div>
                    <div class="layer-title">Scenariusz 1</div>
                    <span class="layer-subtitle">Dom Jednorodzinny</span>
                </div>
            </button>
            
            <button class="layer-btn" data-target="pane-mieszkanie" data-layer="mieszkanie">
                <span class="layer-icon">🏢</span>
                <div>
                    <div class="layer-title">Scenariusz 2</div>
                    <span class="layer-subtitle">Mieszkanie</span>
                </div>
            </button>
        </div>

        <div class="anatomy-details">
            
            <div class="detail-pane pane-active" id="pane-dom">
                <h4>Dom jednorodzinny</h4>
                <p>Jest to bardzo typowy wariant, wymagający większej mocy przesyłowej i obsługujący duży, np. 12-sekcyjny rozdzielacz. Zastanawiasz się w takiej sytuacji nad <strong>wyborem rur instalacji ogrzewania</strong>?</p>
                
                <div class="param-grid">
                    <div class="param-item"><span>Liczba pętli (N):</span><strong>12</strong></div>
                    <div class="param-item"><span>Średnia długość pętli:</span><strong>70 m</strong></div>
                    <div class="param-item" style="grid-column: span 2;"><span>Prędkość wody (v):</span><strong>1 m/s</strong></div>
                </div>

                <div class="highlight-box success">
                    <strong>Krok 1 &#8211; Obliczamy przepływ:</strong>
                    Q = 12 · 70 · 0,02 = 16,8 l/min
                    <br><br>
                    <strong>Krok 2 &#8211; Podstawiamy do wzoru na średnicę (d):</strong>
                    d = √(21.22 · 16,8) ≈ 18,9 mm (wewnątrz)
                </div>
                
                <p style="margin-top:20px;"><strong>Rekomendacja instalatorska:</strong> Wybór <strong>rury zewnętrznej o średnicy 25 mm</strong> (np. <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/" target="_blank">wielowarstwowa rura z barierą</a> 25&#215;2.5, która ma wewnątrz dokładnie 20 mm). Daje to margines bezpieczeństwa na ewentualne rozbudowy systemu oraz zapewnia niezwykle cichą i stabilną pracę całej kotłowni.</p>
            </div>

            <div class="detail-pane" id="pane-mieszkanie">
                <h4>Mniejsze mieszkanie</h4>
                <p>W tym scenariuszu inwestor posiada niewielkie mieszkanie obsługiwane przez mały rozdzielacz, co drastycznie zmienia wymagania względem przewodu zasilającego.</p>
                
                <div class="param-grid">
                    <div class="param-item"><span>Liczba pętli (N):</span><strong>6</strong></div>
                    <div class="param-item"><span>Średnia długość pętli:</span><strong>50 m</strong></div>
                    <div class="param-item" style="grid-column: span 2;"><span>Prędkość wody (v):</span><strong>0,8 m/s</strong></div>
                </div>

                <div class="highlight-box">
                    <strong>Krok 1 &#8211; Obliczamy przepływ:</strong>
                    Q = 6 · 50 · 0,02 = 6,0 l/min
                    <br><br>
                    <strong>Krok 2 &#8211; Podstawiamy do wzoru na średnicę (d):</strong>
                    d = √(21.22 · 6 / 0,8) ≈ 12,6 mm (wewnątrz)
                </div>
                
                <p style="margin-top:20px;"><strong>Rekomendacja instalatorska:</strong> W tak małym układzie w zupełności wystarczy standardowa rura <strong>16 mm (16&#215;2.0)</strong>, ponieważ jej przekrój wewnętrzny (12 mm) praktycznie pokrywa się z wyliczonym zapotrzebowaniem. Unikniesz w ten sposób niepotrzebnych problemów z doginaniem grubszych rur.</p>
            </div>

        </div>
    </div>
    
    <noscript>
        <style>
            /* Ujawnienie wszystkich zakładek, gdy JavaScript jest wyłączony */
            .detail-pane { display: block !important; margin-bottom: 40px; }
        </style>
        <div style="padding: 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 18px; color: #0f172a; margin-bottom: 15px;">Przykłady obliczeniowe</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Scenariusz</th>
                        <th style="padding: 10px 0; color: #475569;">Parametry wejściowe</th>
                        <th style="padding: 10px 0; color: #475569;">Wynik / Zalecana rura</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">Dom (12 sekcji)</td>
                        <td style="padding: 10px 0;">12 pętli x 70m, prędkość 1m/s. Przepływ Q = 16,8 l/min.</td>
                        <td style="padding: 10px 0;">d ≈ 18,9 mm -> Stosujemy rurę komercyjną 25&#215;2.5 (wewn. 20mm).</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">Mieszkanie (6 sekcji)</td>
                        <td style="padding: 10px 0;">6 pętli x 50m, prędkość 0,8m/s. Przepływ Q = 6 l/min.</td>
                        <td style="padding: 10px 0;">d ≈ 12,6 mm -> Stosujemy rurę komercyjną 16&#215;2.0 (wewn. 12mm).</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

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

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

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

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

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

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



<style>
:root {
    --primary-hvac: #0f172a;
    --accent-hvac: #2563eb;
    --bg-tip: #f1f5f9;
}

.expert-tip-wrapper {
    max-width: 850px;
    margin: 50px auto 40px auto;
}

.expert-tip-wrapper h2 {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary-hvac);
    margin: 0 0 20px 0;
    text-align: center;
}

.expert-tip-container {
    background: var(--bg-tip);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    gap: 25px;
    align-items: center;
    border-left: 6px solid var(--accent-hvac);
    position: relative;
    font-family: 'Inter', -apple-system, sans-serif;
    text-align: left;
}

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

.expert-tip-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.expert-tip-photo-wrap::after {
    content: '📐';
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: #ffffff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.expert-tip-content {
    flex-grow: 1;
}

.expert-tip-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: var(--accent-hvac);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.expert-tip-text {
    font-size: 16px;
    line-height: 1.6;
    color: var(--primary-hvac);
    font-style: italic;
    margin: 0;
}

.expert-tip-signature {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
}

@media (max-width: 600px) {
    .expert-tip-container { flex-direction: column; text-align: center; padding: 25px; }
    .expert-tip-photo-wrap { margin-bottom: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Wielu instalatorów dobiera rury zasilające 'na oko', co jest najprostszą drogą do zdławienia wydajności systemu. To, jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego zostanie wybrana, decyduje o tym, czy Twoja pompa obiegowa będzie pracować lekko i oszczędnie, czy też zostanie przeciążona przez gigantyczne opory hydrauliczne.",
    "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",
    "name": "Wytyczne inżynierskie: Dobór średnicy rury",
    "description": "Zestawienie inżynierskich zasad doboru przekrojów zasilających dla systemów ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="expert-tip-wrapper">
    <h2><span style="margin-right:10px">⚖️</span>Robert Kucharski o fundamentach hydrauliki</h2>
    
    <div class="expert-tip-container" id="expert-tip-hvac">
        <div class="expert-tip-photo-wrap">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="expert-tip-photo" loading="lazy">
        </div>
        <div class="expert-tip-content">
            <span class="expert-tip-label">Wskazówka od Projektanta</span>
            <p class="expert-tip-text">
                &#8222;Wielu instalatorów dobiera rury zasilające 'na oko&#8217;, co jest najprostszą drogą do zdławienia wydajności systemu. To, <strong>jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego</strong> zostanie wybrana, decyduje o tym, czy Twoja pompa obiegowa będzie pracować lekko i oszczędnie, czy też zostanie przeciążona przez gigantyczne opory hydrauliczne. Prawidłowy przekrój to jedyna gwarancja, że ciepło dotrze do każdej pętli w Twoim domu – bez szumów i bez zimnych punktów na podłodze.&#8221;
            </p>
            <span class="expert-tip-signature">— Robert Kucharski, CEO &#038; Główny Projektant Projekt-Ogrzewania.pl</span>
        </div>
    </div>

    <noscript>
        <div style="padding: 20px; background: #f1f5f9; border-radius: 20px; margin-top: 20px; font-family: sans-serif;">
            <p style="font-size: 14px; font-weight: bold; color: #0f172a;">Rekomendacja inżynierska Roberta Kucharskiego:</p>
            <p style="font-size: 14px; color: #475569;">Właściwa średnica rury zasilającej to klucz do niskich oporów hydraulicznych i długowieczności pompy obiegowej. Wybór przekroju musi opierać się na obliczeniach przepływu Q i prędkości wody.</p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('expert-tip-hvac');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; width: 100%; border: 2px solid #dc2626;">
                    <span style="font-size: 32px; margin-bottom: 15px;">🔒</span>
                    <div style="font-size: 20px; font-weight: bold; margin-bottom: 10px;">Moduł ekspercki chroniony autorsko</div>
                    <p style="font-size: 14px; color: #7f1d1d;">Rekomendacja ekspercka Roberta Kucharskiego jest własnością Projekt-Ogrzewania.pl.</p>
                </div>
            `;
            container.style.borderLeft = 'none';
            container.style.background = 'transparent';
            container.style.padding = '0';
        }
    }
});
</script>



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

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

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

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

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

.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: 13px;
    color: #475569;
    background: #fff;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

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

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

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

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

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

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

#risk-msg {
    margin-top: 15px; padding: 12px; border-radius: 10px; font-size: 13px; font-weight: 600; display: none; background: #fee2e2; color: var(--danger); border: 1px solid #fecaca; line-height: 1.4; text-align: left;
}

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

/* 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(-3px); 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>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Kalkulator średnicy rury zasilającej do rozdzielacza",
    "description": "Narzędzie inżynierskie pozwalające obliczyć optymalną średnicę rury doprowadzającej wodę do rozdzielacza na podstawie liczby pętli, ich długości oraz prędkości przepływu.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Przepływ cieczy (Q)",
        "value": "N * Lavg * 0.02 (l/min)"
      },
      {
        "@type": "PropertyValue",
        "name": "Średnica wewnętrzna (d)",
        "value": "√(21.22 * Q / v)"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Kalkulator średnicy rury zasilającej",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Profesjonalny kalkulator do obliczania średnicy rury zasilającej rozdzielacz, przeliczający średnicę wewnętrzną na powszechnie dostępne rury komercyjne (np. 20x2.0, 25x2.5).",
    "featureList": [
      "Obliczanie przepływu całkowitego",
      "Dobór prędkości przepływu",
      "Wskazanie konkretnej średnicy zewnętrznej rury"
    ]
  }
]
</script>

<div class="calc-intro">
    <h2>Kalkulator średnicy rury zasilającej do rozdzielacza w ogrzewaniu podłogowym</h2>
    <p>Nasz kalkulator umożliwia szybkie i intuicyjne obliczenie optymalnej średnicy rury zasilającej rozdzielacz w systemie ogrzewania podłogowego. Algorytm wylicza matematyczną średnicę wewnętrzną, a następnie dopasowuje do niej najbliższą <strong>rekomendowaną rurę dostępną w handlu</strong>. Pamiętaj: weryfikuj skomplikowane układy z projektantem.</p>
</div>

<div class="screed-calc" id="pipe-diam-app">
    <div class="calc-grid">
        <div class="config-side">
            
            <span class="section-title">1. Parametry układu</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Liczba pętli (N)</label><span class="val-badge"><span id="v-loops">8</span> szt.</span></div>
                <input type="range" id="inp-loops" min="2" max="24" step="1" value="8">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Ile obwodów obsłuży Twój rozdzielacz?</div>
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Średnia długość pętli (Lₐᵥ)</label><span class="val-badge"><span id="v-length">75</span> m</span></div>
                <input type="range" id="inp-length" min="30" max="120" step="1" value="75">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Długość ułożonej rury na jeden obwód.</div>
            </div>

            <span class="section-title">2. Prędkość przepływu wody (v)</span>
            <div class="type-selector" style="margin-bottom:0">
                <div class="type-btn" id="btn-vel-06">0.6 m/s<span style="font-size:10px; font-weight:400">Bardzo cicho / Duża rura</span></div>
                <div class="type-btn active" id="btn-vel-10">1.0 m/s<span style="font-size:10px; font-weight:400">Optymalnie / Standard</span></div>
                <div class="type-btn" id="btn-vel-12">1.2 m/s<span style="font-size:10px; font-weight:400">Podwyższona (Kompakt)</span></div>
                <div class="type-btn" id="btn-vel-15">1.5 m/s<span style="font-size:10px; font-weight:400">Max / Ryzyko szumów</span></div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Rekomendowana rura zasilająca</span>
                <span class="score-num" id="resPipe">Rura 25 x 2.5</span>
                <span class="score-label">lub odpowiednik miedziany / stalowy</span>
                <div id="risk-msg">⚠️ Uwaga!</div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Szacowany przepływ (Q):</span><strong id="resQ">&#8212;</strong></div>
                <div class="tech-item"><span>Wymagana średnica wewn. (d):</span><strong id="resD">&#8212;</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card">
                        <span>Dlaczego taka średnica?</span>
                        <div style="font-size: 12px; color: #cbd5e1; line-height: 1.5; text-transform: none; font-weight: 400; margin-top: 5px;">
                            Wzór matematyczny oblicza przekrój wewnętrzny cieczy. Narzędzie automatycznie dobiera standardową rurę komercyjną (zewnętrzną), uwzględniając grubość jej ścianki.
                        </div>
                    </div>
                </div>
            </div>
            
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Dobierz odpowiedni rozdzielacz</h3>
            <p style="margin:0; font-size:14px; color:#475569">Skoro znasz już średnicę zasilania, upewnij się, że wybierzesz rozdzielacz najwyższej klasy ze stali nierdzewnej lub mosiądzu.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="https://projekt-ogrzewania.pl/produkt/rozdzielacz-ze-stali-nierdzewnej-inox-do-ogrzewania-podlogowego-z-rotametrami/" class="cta-btn">
                ZOBACZ ROZDZIELACZE INOX →
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn" style="background:#1e293b">
                ZAMÓW PROJEKT INŻYNIERSKI
            </a>
        </div>
    </div>

    <noscript>
        <div style="padding: 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 18px; color: #0f172a;">Metodyka obliczeń średnicy rury</h3>
            <p style="font-size: 13px; color: #475569; line-height: 1.6;">
                Narzędzie wykorzystuje standardowe zasady mechaniki płynów dla instalacji C.O. Wzór d = √(21.22 * Q / v) wylicza czystą średnicę wewnętrzną przewodu w milimetrach. Następnie wynik konwertowany jest na standardowy typoszereg rur dostępnych w hurtowniach (np. PEX 16&#215;2.0 ma średnicę wewnętrzną 12 mm, a PEX 25&#215;2.5 ma 20 mm).
            </p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA (Domain Lock)
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('pipe-diam-app');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; font-family: sans-serif;">' +
                '<span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>' +
                '<div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px; color: #dc2626;">Narzędzie chronione</div>' +
                '<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 velocityMps = 1.0; // Domyślna prędkość: 1.0 m/s
    
    // Typoszereg standardowych rur (Średnica wewnętrzna do Zewnętrznej)
    var pipeSizes = [
        { maxInternal: 12.0, name: "16 x 2.0" },
        { maxInternal: 16.0, name: "20 x 2.0" },
        { maxInternal: 20.0, name: "25 x 2.5" },
        { maxInternal: 26.0, name: "32 x 3.0" },
        { maxInternal: 33.0, name: "40 x 3.5" },
        { maxInternal: 42.0, name: "50 x 4.0" },
        { maxInternal: 54.0, name: "63 x 4.5" }
    ];

    function updateCalc() {
        var loopsEl = document.getElementById('inp-loops');
        var lengthEl = document.getElementById('inp-length');
        
        if(!loopsEl || !lengthEl) return;

        var loops = parseInt(loopsEl.value);
        var length = parseInt(lengthEl.value);
        
        // Aktualizacja widoków wartości na suwakach
        document.getElementById('v-loops').innerText = loops;
        document.getElementById('v-length').innerText = length;

        // Stała przepływu dla ΔT = 10°C
        var C = 0.02;

        // Obliczenia
        var Q = loops * length * C; // l/min
        var d = Math.sqrt((21.22 * Q) / velocityMps); // mm (średnica wewnętrzna)
        
        // Znajdowanie rury
        var recommendedPipe = "Ponad 63 mm (Projekt Specjalny)";
        for (var i = 0; i < pipeSizes.length; i++) {
            if (d <= pipeSizes[i].maxInternal) {
                recommendedPipe = pipeSizes[i].name;
                break;
            }
        }

        // Aktualizacja UI
        document.getElementById('resPipe').innerText = recommendedPipe;
        document.getElementById('resQ').innerText = Q.toFixed(1) + ' l/min';
        document.getElementById('resD').innerText = d.toFixed(1) + ' mm';

        // Logika ostrzeżeń i kolorów
        var mBox = document.getElementById('mainBox');
        var rMsg = document.getElementById('risk-msg');
        var warnings = [];
        var boxColor = 'var(--success)';

        if (velocityMps >= 1.5) { 
            warnings.push('⚠️ <strong>Wysoka prędkość (1.5 m/s):</strong> Zwiększone ryzyko powstawania szumów instalacyjnych i kawitacji. Pompa będzie pracować na wyższych oporach.'); 
            boxColor = 'var(--warning)'; 
        }
        if (d > 33) {
            warnings.push('ℹ️ <strong>Duży układ:</strong> Rozdzielacz o tak dużym zapotrzebowaniu wymaga rur tranzytowych o przekroju przemysłowym. Rozważ podział na dwa mniejsze rozdzielacze.');
            boxColor = (boxColor === 'var(--warning)') ? 'var(--warning)' : 'var(--accent)';
        }

        if (warnings.length > 0) {
            rMsg.innerHTML = warnings.join('<br><br>');
            rMsg.style.display = 'block';
            if(boxColor === 'var(--warning)') rMsg.style.color = '#9a3412';
            if(boxColor === 'var(--warning)') rMsg.style.background = '#fef3c7';
            if(boxColor === 'var(--warning)') rMsg.style.borderColor = '#fde68a';
        } else {
            rMsg.style.display = 'none';
        }
        mBox.style.borderBottomColor = boxColor;
    }

    // Obsługa przycisków prędkości
    var velOptions = {
        'btn-vel-06': 0.6,
        'btn-vel-10': 1.0,
        'btn-vel-12': 1.2,
        'btn-vel-15': 1.5
    };

    var btnKeys = Object.keys(velOptions);
    for (var i = 0; i < btnKeys.length; i++) {
        (function(btnId) {
            var btn = document.getElementById(btnId);
            if(btn) {
                btn.addEventListener('click', function(e) {
                    velocityMps = velOptions[btnId];
                    // Reset klas active
                    for(var j = 0; j < btnKeys.length; j++) {
                        var el = document.getElementById(btnKeys[j]);
                        if(el) { el.classList.remove('active'); }
                    }
                    e.currentTarget.classList.add('active');
                    updateCalc();
                });
            }
        })(btnKeys[i]);
    }

    // Obsługa suwaków
    var loopsInput = document.getElementById('inp-loops');
    var lengthInput = document.getElementById('inp-length');
    
    if(loopsInput) loopsInput.addEventListener('input', updateCalc);
    if(lengthInput) lengthInput.addEventListener('input', updateCalc);

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.flip-card-back .card-text a {
    color: #15803d;
    text-decoration: underline;
    font-weight: 700;
}

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

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

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

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

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

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "Fakty i mity o doborze średnicy rury zasilającej",
  "description": "Zestawienie najczęstszych błędnych przekonań instalatorów i inwestorów dotyczących rur zasilających rozdzielacz w systemach płaszczyznowych.",
  "license": "https://projekt-ogrzewania.pl/",
  "creator": {
    "@type": "Person",
    "name": "Robert Kucharski"
  }
}
</script>

<div class="premium-myth-box" id="diam-myth-app">
    <div class="myth-header">
        <h3>Fakty i Mity Instalacyjne: Zasilanie Rozdzielacza</h3>
        <p>Wielu domorosłych monterów uważa, że to, <strong>jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego</strong> zostanie zastosowana, nie ma większego znaczenia, byle woda dopłynęła. To prosty przepis na awarię. <strong>Kliknij kartę, aby obalić najgroźniejsze mity.</strong></p>
    </div>

    <div class="myth-grid">
        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">🚰</div>
                    <div class="card-title">MIT #1</div>
                    <p class="card-text">"Zostało mi dużo rury PEX 16 mm z układania pętli, więc użyję jej, by podłączyć kocioł z rozdzielaczem. Woda i tak dopłynie."</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">🛑</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>To absolutne wąskie gardło!</strong> Rura zasilająca musi dostarczyć całkowity zład wody dla wszystkich pętli naraz. Zwykła rurka 16mm zdławi przepływ, a Twoja <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa</a> zatrze się próbując przepchnąć ciecz pod gigantycznym oporem.</p>
                </div>
            </div>
        </div>

        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">🐘</div>
                    <div class="card-title">MIT #2</div>
                    <p class="card-text">"Większa rura to mniejsze opory. Kupię najgrubszą możliwą rurę 40 mm i będę miał spokój na lata."</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">💸</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>Przewymiarowanie to strata pieniędzy i nerwów.</strong> Rury o tak dużej średnicy są niezwykle sztywne, co zamieni montaż w szafce w koszmar. Dodatkowo, masywne zawory kulowe i śrubunki wyczyszczą Twój portfel. Wybieraj <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">średnice rur</a> dokładnie pod wyliczenia.</p>
                </div>
            </div>
        </div>

        <div class="flip-card" onclick="this.classList.toggle('is-flipped')">
            <div class="flip-card-inner">
                <div class="flip-card-front">
                    <div class="card-icon">🌊</div>
                    <div class="card-title">MIT #3</div>
                    <p class="card-text">"Prędkość przepływu wody w rurze zasilającej nie ma znaczenia, liczy się tylko odpowiednia temperatura zasilania."</p>
                    <div class="flip-hint" style="color: var(--danger)"><span>Odwróć kartę</span> ⤵</div>
                </div>
                <div class="flip-card-back">
                    <div class="card-icon">📐</div>
                    <div class="card-title">FAKT</div>
                    <p class="card-text"><strong>Prędkość to klucz do komfortu.</strong> Jeśli przepływ przekroczy 1,5 m/s, instalacja zacznie nieprzyjemnie szumieć, a energia wytraci się na tarciu. Jeśli spadnie poniżej 0,5 m/s, najdalsze obiegi nie zdążą się nagrzać. Celuj zawsze w prędkość ok. 1,0 m/s.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="myth-summary">
        <h4>Podsumowanie: Fizyki nie oszukasz</h4>
        <p>Instalacja grzewcza to organizm, w którym rura zasilająca pełni rolę głównej tętnicy. Wybór "na oko" – zarówno zbyt małej rurki, jak i ogromnego rurociągu – prowadzi do problemów z ciśnieniem, głośnej pracy i niepotrzebnych wydatków. <strong>Korzystaj z kalkulatorów i dobieraj średnice na podstawie twardych danych!</strong></p>
    </div>

    <noscript>
        <div style="padding: 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h2 style="font-size: 18px; color: #0f172a;">Najczęstsze mity: Dobór rury zasilającej</h2>
            <ul style="font-size: 14px; color: #334155; line-height: 1.6;">
                <li><strong>MIT 1: Można zasilić rozdzielacz zwykłą rurą PEX 16 mm.</strong><br>
                FAKT: Rura zasilająca musi przenieść wodę dla wszystkich pętli. Średnica 16 mm stworzy wąskie gardło i spali pompę obiegową.</li>
                <li><strong>MIT 2: Im grubsza rura, tym lepiej (przewymiarowanie).</strong><br>
                FAKT: Zbyt grube rury są trudne w montażu (nie dają się wyginać w szafce) i wymagają bardzo drogich zaworów kulowych i złączek.</li>
                <li><strong>MIT 3: Prędkość wody nie ma znaczenia.</strong><br>
                FAKT: Zbyt duża prędkość (>1,5 m/s) powoduje szumy w rurach, zbyt mała (<0,5 m/s) skutkuje zimną podłogą na końcach pętli. Złoty standard to 1,0 m/s.</li>
            </ul>
        </div>
    </noscript>
</div>

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



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --accent-light: #eff6ff;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
    --text-muted: #475569;
}

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

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

.faq-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--accent);
}

.faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--accent-light);
    color: var(--accent);
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.faq-header h3 {
    margin: 0 0 15px 0;
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
}

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

.faq-content {
    padding: 20px 40px 40px 40px;
}

/* INTERAKTYWNY AKORDEON Z MIKRO-INTERAKCJAMI */
.faq-item {
    border-bottom: 1px solid var(--border-color);
    transition: all 0.3s ease;
    border-left: 4px solid transparent;
    padding-left: 15px;
    margin-bottom: 10px;
    border-radius: 8px;
}

.faq-item:hover {
    background: #f8fafc;
    border-left-color: #cbd5e1;
}

.faq-item.active {
    background: #ffffff;
    border-left-color: var(--accent);
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    padding-bottom: 10px;
    border-bottom: 1px solid transparent;
}

.faq-question {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 20px 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    font-family: inherit;
    transition: color 0.2s ease;
}

.faq-question:hover {
    color: var(--accent);
}

.faq-q-icon {
    font-size: 22px;
    flex-shrink: 0;
    filter: grayscale(0.2);
    transition: 0.3s;
}

.faq-item.active .faq-q-icon {
    filter: grayscale(0);
    transform: scale(1.1);
}

.faq-q-text {
    flex-grow: 1;
    padding-right: 20px;
}

.faq-toggle-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    font-size: 18px;
    font-weight: 300;
    transition: transform 0.4s ease, background 0.3s ease, color 0.3s ease;
    border: 1px solid #e2e8f0;
}

.faq-item.active .faq-toggle-icon {
    transform: rotate(45deg);
    background: var(--accent);
    color: #ffffff;
    border-color: var(--accent);
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.2);
}

.faq-item.active .faq-question {
    color: var(--accent);
}

/* Animacja otwierania CSS Grid Trick */
.faq-answer-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-item.active .faq-answer-wrapper {
    grid-template-rows: 1fr;
}

.faq-answer-inner {
    overflow: hidden;
}

.faq-answer-text {
    padding: 0 0 15px 37px;
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--text-muted);
}

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

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

.faq-answer-text a:hover {
    color: #60a5fa;
    border-bottom-color: #60a5fa;
}

@media (max-width: 768px) {
    .faq-header { padding: 30px 20px 25px 20px; }
    .faq-content { padding: 10px 20px 30px 20px; }
    .faq-question { font-size: 15px; padding: 15px 0; }
    .faq-toggle-icon { width: 28px; height: 28px; font-size: 16px; }
    .faq-answer-text { padding-left: 0; }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "license": "https://projekt-ogrzewania.pl/",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Jak dokładnie dobrać średnicę rury zasilającej rozdzielacz w ogrzewaniu podłogowym?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Odpowiedź na to, jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego będzie właściwa, zależy od trzech kluczowych czynników: całkowitej liczby pętli, ich uśrednionej długości oraz zakładanej prędkości przepływu wody. Zamiast zgadywać, najlepiej wykorzystać wzory matematyczne z zakresu mechaniki płynów lub gotowy kalkulator online, który wskaże optymalny wymiar rury.",
        "author": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      }
    },
    {
      "@type": "Question",
      "name": "Co się stanie, jeśli wybiorę zbyt małą średnicę rury do rozdzielacza?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Zbyt mały przekrój rury tworzy wąskie gardło instalacji, co drastycznie zwiększa opory hydrauliczne. Prowadzi to do ogromnego obciążenia pompy obiegowej, szumów w instalacji oraz nierównomiernego rozprowadzania ciepła (najdalsze strefy mogą być trwale niedogrzane).",
        "author": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      }
    },
    {
      "@type": "Question",
      "name": "Czy można po prostu przewymiarować rurę zasilającą (dać większą na zapas)?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Technicznie jest to możliwe, ale w praktyce stanowi błąd projektowy. Zbyt duża średnica (np. zastosowanie rury 32 mm tam, gdzie wystarczy 20 mm) drastycznie zwiększa koszty rur, potężnych zaworów kulowych i złączek. Ponadto grube rury są niezwykle sztywne, co znacznie utrudnia prawidłowy montaż i profilowanie podejść do rozdzielacza.",
        "author": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      }
    },
    {
      "@type": "Question",
      "name": "Jakie są zalecane prędkości przepływu w rurach zasilających?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Optymalna prędkość przepływu wody na zasilaniu rozdzielacza wynosi od 0,5 do 1,5 m/s, przy czym złotym środkiem instalatorskim jest 1,0 m/s. Prędkość powyżej 1,5 m/s generuje słyszalny hałas i straty energii na tarciu, a poniżej 0,5 m/s grozi niedogrzewaniem krańcowych pętli podłogówki.",
        "author": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      }
    },
    {
      "@type": "Question",
      "name": "Czy kalkulator średnicy rury daje w 100% dokładne wyniki?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Kalkulator online daje bardzo dokładne wyniki teoretyczne i stanowi świetny punkt wyjścia dla instalatora. Oblicza on zapotrzebowanie dla idealnych warunków przepływu. Niemniej, w rozbudowanych instalacjach o wielu kondygnacjach warto zawsze zweryfikować obliczenia z doświadczonym projektantem, który uwzględni miejscowe straty ciśnienia na złączkach, kolanach i filtrach.",
        "author": {
          "@type": "Person",
          "name": "Robert Kucharski"
        }
      }
    }
  ]
}
</script>

<div class="premium-faq-box" id="faq-app-lock">
    <div class="faq-header">
        <div class="faq-badge">Baza Wiedzy P&O</div>
        <h3>Rozwiewamy inżynierskie wątpliwości</h3>
        <p>Przekrój zasilania to fundament hydrauliki podłogowej. Oto odpowiedzi na najczęściej zadawane pytania dotyczące doboru średnicy rur.</p>
    </div>

    <div class="faq-content">
        
        <div class="faq-item">
            <button class="faq-question">
                <span class="faq-q-icon">📐</span>
                <span class="faq-q-text">1. Jak dokładnie dobrać średnicę rury zasilającej rozdzielacz w ogrzewaniu podłogowym?</span>
                <div class="faq-toggle-icon">+</div>
            </button>
            <div class="faq-answer-wrapper">
                <div class="faq-answer-inner">
                    <p class="faq-answer-text">
                        Odpowiedź na to, <strong>jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego</strong> będzie właściwa, zależy od trzech kluczowych czynników: całkowitej liczby pętli, ich uśrednionej długości oraz zakładanej prędkości przepływu wody. Zamiast zgadywać, najlepiej wykorzystać wzory matematyczne z zakresu mechaniki płynów lub nasz darmowy kalkulator online, który od razu wskaże optymalny wymiar zewnętrzny. Pamiętaj, że dobór zasilania to podstawa, ale równie ważne jest to, by na dalszym etapie poprawnie dobrać <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">średnicę rur w samej podłogówce</a>.
                    </p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span class="faq-q-icon">⚠️</span>
                <span class="faq-q-text">2. Co się stanie, jeśli wybiorę zbyt małą średnicę rury do rozdzielacza?</span>
                <div class="faq-toggle-icon">+</div>
            </button>
            <div class="faq-answer-wrapper">
                <div class="faq-answer-inner">
                    <p class="faq-answer-text">
                        Zbyt mały przekrój rury tworzy drastyczne <strong>wąskie gardło</strong> instalacji, radykalnie zwiększając opory hydrauliczne. Prowadzi to do niepotrzebnego i szkodliwego przeciążenia <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">pompy obiegowej</a>. W efekcie instalacja zaczyna szybciej się zużywać, może generować uciążliwe szumy, a strefy położone najdalej od rozdzielacza pozostaną trwale niedogrzane z powodu zbyt małego litrażu dostarczanej wody.
                    </p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span class="faq-q-icon">💸</span>
                <span class="faq-q-text">3. Czy można po prostu przewymiarować rurę zasilającą (dać na zapas)?</span>
                <div class="faq-toggle-icon">+</div>
            </button>
            <div class="faq-answer-wrapper">
                <div class="faq-answer-inner">
                    <p class="faq-answer-text">
                        Technicznie jest to możliwe i bezpieczniejsze dla pompy, ale w praktyce stanowi <strong>błąd projektowy generujący duże straty</strong>. Zbyt duża średnica (np. ułożenie sztywnej rury PEX 32 mm tam, gdzie wystarczyłaby 20 mm) drastycznie zwiększa koszty inwestycji. Same rury, ogromne zawory kulowe, śrubunki i rozety są znacznie droższe. Ponadto grube przewody są niezwykle trudne w gięciu, co wydłuża montaż i utrudnia doprowadzenie układu do szafki podtynkowej.
                    </p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span class="faq-q-icon">🌊</span>
                <span class="faq-q-text">4. Jakie są zalecane prędkości przepływu w rurach zasilających?</span>
                <div class="faq-toggle-icon">+</div>
            </button>
            <div class="faq-answer-wrapper">
                <div class="faq-answer-inner">
                    <p class="faq-answer-text">
                        Optymalna prędkość przepływu wody na zasilaniu rozdzielacza wynosi <strong>od 0,5 do 1,5 m/s</strong>, przy czym swoistym złotym środkiem instalatorskim, gwarantującym bezproblemową pracę, jest wartość <strong>1,0 m/s</strong>. Zbyt wysoka prędkość (powyżej 1,5 m/s) generuje słyszalny hałas, ryzyko zjawiska kawitacji i straty energii na tarciu. Z kolei prędkość poniżej 0,5 m/s spowalnia reakcję systemu i grozi nierównomiernym ogrzewaniem poszczególnych pętli.
                    </p>
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span class="faq-q-icon">🧮</span>
                <span class="faq-q-text">5. Czy kalkulator średnicy rury daje w 100% dokładne wyniki?</span>
                <div class="faq-toggle-icon">+</div>
            </button>
            <div class="faq-answer-wrapper">
                <div class="faq-answer-inner">
                    <p class="faq-answer-text">
                        Kalkulator online zapewnia bardzo dokładne wyniki teoretyczne i stanowi świetny punkt wyjścia. Opiera się na idealnych warunkach laminarnych przepływu. Niemniej jednak, w domach o wielu kondygnacjach i skomplikowanych rozgałęzieniach, obliczenia takie warto zawsze podeprzeć <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">profesjonalnym projektem instalacji</a>. Projektant w programie inżynierskim uwzględni bowiem bardzo ważne tzw. <strong>miejscowe straty ciśnienia</strong> na samych złączkach, zaworach odcinających i filtrach, których żaden prosty kalkulator nie obejmuje.
                    </p>
                </div>
            </div>
        </div>

    </div>

    <noscript>
        <div style="padding: 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h2 style="font-size: 18px; color: #0f172a; margin-bottom: 20px;">Podsumowanie sekcji FAQ - Zasilanie rozdzielacza</h2>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px; color: #475569;">Problem</th>
                        <th style="padding: 10px; color: #475569;">Diagnoza i zalecenia</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px; font-weight: bold;">Dobór średnicy rury</td>
                        <td style="padding: 10px;">Zawsze zależy od liczby pętli na rozdzielaczu, ich średniej długości i prędkości przepływu. Najlepiej korzystać z kalkulatorów.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px; font-weight: bold;">Zbyt mały przekrój</td>
                        <td style="padding: 10px;">Skutkuje wąskim gardłem: obciąża pompę obiegową, powoduje szumy i niedogrzewanie pomieszczeń.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px; font-weight: bold;">Zbyt duży przekrój (Przewymiarowanie)</td>
                        <td style="padding: 10px;">Teoretycznie bezpieczny układ, ale generujący ogromne koszty zaworów, złączek oraz wielkie trudności z wyginaniem rur pod szafką.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px; font-weight: bold;">Optymalna prędkość wody</td>
                        <td style="padding: 10px;">Od 0.5 do 1.5 m/s. Projektanci najczęściej optymalizują układy grzewcze na prędkość ok. 1.0 m/s.</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px; font-weight: bold;">Dokładność kalkulatorów</td>
                        <td style="padding: 10px;">Są dokładne dla przepływów teoretycznych, lecz złożone domy z miejscowymi stratami ciśnień powinny posiadać pełny projekt instalacyjny.</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('faq-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona prawem autorskim</div><p>Skopiowano bez zgody Projekt-Ogrzewania.pl</p></div>';
        }
        return; 
    }

    // LOGIKA AKORDEONU
    const faqItems = document.querySelectorAll('.faq-item');

    faqItems.forEach(item => {
        const questionBtn = item.querySelector('.faq-question');
        
        questionBtn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            // Zamyka pozostałe
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
            });

            // Otwiera/Zamyka kliknięty
            if (!isActive) {
                item.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --sum-bg-gradient: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
    --sum-text: #f8fafc;
    --sum-accent: #3b82f6;
    --sum-danger: #ef4444;
    --sum-warning: #f59e0b;
    --sum-success: #10b981;
}

.premium-summary-box {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--sum-bg-gradient);
    border-radius: 24px;
    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.4);
    border: 1px solid #334155;
    overflow: hidden;
    color: var(--sum-text);
    position: relative;
}

/* Subtelny szum / poświata w tle */
.premium-summary-box::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(59,130,246,0.05) 0%, transparent 60%);
    z-index: 0;
    pointer-events: none;
}

.summary-content {
    position: relative;
    z-index: 1;
    padding: 50px;
}

.summary-header {
    text-align: center;
    margin-bottom: 35px;
}

.summary-icon {
    font-size: 56px;
    line-height: 1;
    margin-bottom: 20px;
    display: inline-block;
    filter: drop-shadow(0 4px 6px rgba(0,0,0,0.3));
}

.summary-header h2 {
    margin: 0 0 15px 0;
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.summary-text {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 30px auto;
}

.summary-text strong {
    color: #ffffff;
    font-weight: 700;
}

.summary-text a {
    color: var(--sum-accent);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px dashed var(--sum-accent);
    transition: all 0.3s ease;
}

.summary-text a:hover {
    color: #60a5fa;
    border-bottom-color: #60a5fa;
}

/* WIZUALNA WAGA RYZYKA */
.risk-scale-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 40px 0;
}

.risk-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    transition: transform 0.3s ease;
}

.risk-card:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.05);
}

.risk-card.bad-choice {
    border-bottom: 4px solid var(--sum-danger);
}

.risk-card.good-choice {
    border-bottom: 4px solid var(--sum-success);
}

.risk-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 800;
    margin-bottom: 15px;
    display: block;
}

.bad-choice .risk-label { color: #fca5a5; }
.good-choice .risk-label { color: #6ee7b7; }

.risk-value {
    font-size: 30px;
    font-weight: 900;
    color: #ffffff;
    margin-bottom: 10px;
    display: block;
}

.risk-desc {
    font-size: 14px;
    color: #94a3b8;
    line-height: 1.5;
    margin: 0;
}

/* CTA BUTTONS */
.summary-actions {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.sum-btn {
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.sum-btn-primary {
    background: var(--sum-accent);
    color: #ffffff !important;
    box-shadow: 0 10px 20px -5px rgba(59, 130, 246, 0.5);
    border: 1px solid #60a5fa;
}

.sum-btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(59, 130, 246, 0.6);
    background: #2563eb;
}

.sum-btn-secondary {
    background: transparent;
    color: #ffffff !important;
    border: 2px solid #475569;
}

.sum-btn-secondary:hover {
    border-color: #cbd5e1;
    background: rgba(255, 255, 255, 0.05);
}

@media (max-width: 768px) {
    .summary-content { padding: 40px 25px; }
    .risk-scale-grid { grid-template-columns: 1fr; gap: 15px; }
    .summary-actions { flex-direction: column; width: 100%; gap: 15px; }
    .sum-btn { justify-content: center; width: 100%; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Podsumowanie: Jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego?",
    "abstract": "Wybór średnicy rury zasilającej rozdzielacz to kompromis między oporami hydraulicznymi a kosztami. Zobacz, dlaczego precyzyjne obliczenia są niezbędne dla sprawności pompy i komfortu cieplnego.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Konsekwencje doboru średnicy rury zasilającej",
    "description": "Zestawienie porównawcze ryzyk związanych ze zbyt małą średnicą rury zasilającej względem rury optymalnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-summary-box" id="summary-app-lock">
    <div class="summary-content">
        
        <div class="summary-header">
            <span class="summary-icon">⚖️</span>
            <h2>Podsumowanie: Złoty środek w hydraulice</h2>
        </div>

        <p class="summary-text">
            Odpowiedź na pytanie, <strong>jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego</strong> sprawdzi się najlepiej, zawsze opiera się na liczbach, a nie na zgadywaniu. Najważniejszą zasadą jest unikanie skrajności – zarówno zbyt małe, jak i zbyt duże przekroje znacząco pogarszają sprawność systemu.
        </p>

        <div class="risk-scale-grid">
            <div class="risk-card bad-choice">
                <span class="risk-label">Błąd Krytyczny</span>
                <span class="risk-value">Zbyt mała rura</span>
                <p class="risk-desc">Zbyt mała średnica drastycznie zwiększa <strong>opory hydrauliczne</strong>. Powoduje to szumy w instalacji, nierównomierne grzanie i skrajne przeciążenie pompy obiegowej.</p>
            </div>
            <div class="risk-card good-choice">
                <span class="risk-label">Optymalny Dobór</span>
                <span class="risk-value">Wyliczona średnica</span>
                <p class="risk-desc">Idealny przekrój gwarantuje prawidłową prędkość przepływu (0,5–1,5 m/s). To oznacza <strong>niskie zużycie prądu przez pompę</strong> i doskonały komfort cieplny na lata.</p>
            </div>
        </div>

        <p class="summary-text">
            Pamiętaj, że zasilanie rozdzielacza to tylko jeden z elementów układanki. Warto dowiedzieć się więcej o tym, jak dobrać <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/" target="_blank">średnice rur w ogrzewaniu podłogowym</a> w samych pętlach grzewczych. Koniecznie sprawdź również parametry swojego urządzenia tłoczącego – pomoże Ci w tym nasz darmowy <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" target="_blank">kalkulator doboru pompy obiegowej</a>. Jeśli Twój układ jest bardzo rozbudowany, zawsze konsultuj projekt z profesjonalistą. Dokładne obliczenia to inwestycja, która zwraca się w każdym sezonie grzewczym!
        </p>

        <div class="summary-actions">
            <a href="https://projekt-ogrzewania.pl/blog/" class="sum-btn sum-btn-secondary">
                📖 CZYTAJ NASZ BLOG
            </a>
        </div>

    </div>

    <noscript>
        <div style="padding: 30px; background: #0f172a; border-top: 1px solid #334155; font-family: sans-serif; color: #cbd5e1;">
            <h3 style="color: #ffffff; margin-top: 0;">Konsekwencje doboru średnicy rury zasilającej</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; margin-bottom: 20px;">
                <thead>
                    <tr style="border-bottom: 2px solid #334155;">
                        <th style="padding: 10px 0; color: #94a3b8;">Średnica zasilania</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Wpływ na instalację</th>
                        <th style="padding: 10px 0; color: #94a3b8;">Skutek dla inwestora</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #1e293b;">
                        <td style="padding: 10px 0; font-weight: bold;">Zbyt mała (np. 16mm na duży dom)</td>
                        <td style="padding: 10px 0; color: #ef4444;">Wysokie opory, dławienie przepływu</td>
                        <td style="padding: 10px 0;">Zniszczenie pompy, zimne podłogi.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #1e293b;">
                        <td style="padding: 10px 0; font-weight: bold;">Zbyt duża (np. 32mm na małe mieszkanie)</td>
                        <td style="padding: 10px 0; color: #f59e0b;">Zbyt niska prędkość przepływu</td>
                        <td style="padding: 10px 0;">Trudny montaż, niepotrzebne koszty rur i złączek.</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">Optymalna (wyliczona kalkulatorem)</td>
                        <td style="padding: 10px 0; color: #10b981;">Równomierny przepływ (0,5-1,5 m/s)</td>
                        <td style="padding: 10px 0;">Cicha praca, optymalne zużycie prądu i ciepła.</td>
                    </tr>
                </tbody>
            </table>
            <p style="font-size: 13px; line-height: 1.6;">
                Dobór rury zasilającej rozdzielacz to kluczowy element projektu. Wymaga zestawienia długości pętli, liczby obwodów i wydajności pompy obiegowej.
            </p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('summary-app-lock');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px;"><span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span><div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona</div><p>Ten moduł jest własnością Projekt-Ogrzewania.pl</p></div>';
        }
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jaka-srednica-rury-zasilajacej-rozdzielacz-w-ukladzie-ogrzewania-podlogowego-kalkulator/">Jaka średnica rury zasilającej rozdzielacz w układzie ogrzewania podłogowego? &#8211; Kalkulator.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</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>
