<?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 Serwis i konserwacja - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/serwis-i-konserwacja/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/serwis-i-konserwacja/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Thu, 11 Jun 2026 11:06:04 +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 Serwis i konserwacja - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/serwis-i-konserwacja/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Woda demineralizowana z inhibitorem korozji do ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 02 Dec 2025 18:33:01 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Płyny grzewcze]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Serwis i konserwacja]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[błoto instalacyjne]]></category>
		<category><![CDATA[glikol]]></category>
		<category><![CDATA[inhibitor korozji]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[korozja]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[płukanie instalacji]]></category>
		<category><![CDATA[płyn grzewczy]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[woda demineralizowana]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2886</guid>

					<description><![CDATA[<p>Dobrze zaprojektowana instalacja grzewcza to nie tylko układ rur i pętli — to również właściwie dobrane medium grzewcze. Woda demineralizowana z inhibitorem korozji do ogrzewania podłogowego jest jednym z kluczowych elementów, które decydują o trwałości, sprawności i bezawaryjności całego systemu. Inwestorzy często bagatelizują ten aspekt, tymczasem to właśnie jakość płynu krążącego w podłogówce decyduje o braku osadów, ochronie przed korozją i stabilnej pracy urządzeń grzewczych przez wiele lat. W artykule wyjaśniam, dlaczego ten wybór jest tak ważny i jak uniknąć kosztownych błędów.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">Woda demineralizowana z inhibitorem korozji do 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: #0b1121;
    --rk-intro-card: #151e32;
    --rk-intro-card-hover: #1e293b;
    --rk-intro-border: #334155;
    --rk-intro-text: #cbd5e1;
    --rk-intro-title: #f8fafc;
    --rk-intro-muted: #94a3b8;
    --rk-intro-accent: #38bdf8; /* Cyjan inżynierski */
    --rk-intro-warn: #eab308;
    --rk-intro-danger: #f43f5e;
    --rk-intro-success: #10b981;
}

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

.rk-intro-header {
    padding: 40px 40px 30px;
    background: linear-gradient(135deg, #0b1121 0%, #151e32 100%);
    border-bottom: 1px solid var(--rk-intro-border);
}

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

.rk-intro-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-intro-accent);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Sekcja: Szybka Odpowiedź (Featured Snippet) */
.rk-quick-answer {
    margin: 30px 40px 0;
    padding: 25px 30px;
    background: rgba(56, 189, 248, 0.05);
    border-left: 4px solid var(--rk-intro-accent);
    border-radius: 0 12px 12px 0;
    border-top: 1px solid var(--rk-intro-border);
    border-right: 1px solid var(--rk-intro-border);
    border-bottom: 1px solid var(--rk-intro-border);
}

.rk-qa-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-intro-accent);
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.rk-quick-answer p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-intro-title);
    margin: 0;
    font-weight: 500;
}

/* Układ główny (Tekst + Spis Treści/Narzędzi) */
.rk-intro-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    padding: 40px;
}

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

.rk-intro-body p:last-child {
    margin-bottom: 0;
}

.rk-intro-body strong {
    color: var(--rk-intro-title);
}

/* Karta: Co przygotowaliśmy (TOC / Narzędzia) */
.rk-tools-card {
    background: var(--rk-intro-card);
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
    padding: 25px;
}

.rk-tools-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-title);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-intro-border);
}

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

.rk-tool-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.rk-tool-icon {
    width: 36px;
    height: 36px;
    background: #0f172a;
    border: 1px solid var(--rk-intro-border);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--rk-intro-accent);
}

.rk-tool-text h4 {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-intro-title);
    margin: 0 0 4px 0;
}

.rk-tool-text p {
    font-size: 13px;
    color: var(--rk-intro-muted);
    margin: 0;
    line-height: 1.5;
}

/* Belka informacyjna na dole */
.rk-intro-footer {
    background: #0f172a;
    padding: 20px 40px;
    border-top: 1px solid var(--rk-intro-border);
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-footer-icon {
    color: var(--rk-intro-warn);
}

.rk-footer-text {
    font-size: 14px;
    font-weight: 600;
    color: var(--rk-intro-title);
}

@media (max-width: 768px) {
    .rk-intro-header, .rk-intro-grid, .rk-intro-footer { padding: 25px 20px; }
    .rk-quick-answer { margin: 20px 20px 0; padding: 20px; }
    .rk-intro-header h2 { font-size: 24px; }
    .rk-intro-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-intro-footer { flex-direction: column; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Woda demineralizowana z inhibitorem korozji do ogrzewania podłogowego – dlaczego to jedyny słuszny wybór?",
    "description": "Przewodnik techniczny. Woda demineralizowana z inhibitorem korozji zapobiega awariom pomp ciepła, chroni przed kamieniem kotłowym i korozją galwaniczną.",
    "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-11",
    "dateModified": "2026-06-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-wstep",
    "name": "Kluczowe parametry wody demineralizowanej w instalacji grzewczej",
    "description": "Podstawowe wskaźniki techniczne definiujące specjalistyczne medium grzewcze dla układów niskotemperaturowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "woda demineralizowana z inhibitorem korozji do ogrzewania podłogowego",
      "czym zalać instalację ogrzewania podłogowego",
      "kamień kotłowy w pompie ciepła",
      "spadek mocy grzewczej systemu",
      "ochrona zamkniętego układu co"
    ],
    "measurementTechnique": "Określenie przewodności elektrycznej roztworu (< 10 μS/cm) oraz weryfikacja funkcji chemicznych inhibitora (pasywacja, ochrona przed biofilmem).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Medium: Bezmineralna baza o przewodności poniżej 10 μS/cm.",
        "Cel: Eliminacja kamienia kotłowego, korozji galwanicznej oraz biologicznego zatykania pętli.",
        "Zagrożenie: Zwykła woda wodociągowa powoduje natychmiastowy wzrost oporów hydraulicznych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-wstep",
    "name": "Przewodnik Multimedialny: Diagnostyka i Kalkulatory Zładu",
    "description": "Portalowy hub inżynieryjny integrujący kalkulatory litrażu, symulatory awarii hydraulicznych oraz kompendium wiedzy o chemii grzewczej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="article-hook-app">
    <div class="rk-intro-header">
        <h3>Kompendium Wiedzy Instalacyjnej</h3>
        <h2>Woda demineralizowana z inhibitorem korozji do ogrzewania podłogowego – dlaczego to jedyny słuszny wybór?</h2>
    </div>

    <div class="rk-quick-answer">
        <div class="rk-qa-title">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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ź
        </div>
        <p>
            <strong>Woda demineralizowana z inhibitorem korozji do ogrzewania podłogowego</strong> to specjalistyczne, bezmineralne medium grzewcze o bardzo niskiej przewodności (poniżej 10 μS/cm). Wzbogacona o chemiczne związki pasywujące, trwale chroni układ przed kamieniem kotłowym, niszczącą korozją galwaniczną oraz biologicznym zatykaniem rur. Zwykła kranówka powoduje natychmiastową degradację pompy ciepła i utratę gwarancji.
        </p>
    </div>

    <div class="rk-intro-grid">
        <div class="rk-intro-body">
            <p>
                Ogrzewanie płaszczyznowe zasilane pompą ciepła lub nowoczesnym kotłem kondensacyjnym to inżynieryjny układ zamknięty. Tolerancja na błędy wykonawcze wewnątrz takiej instalacji jest zerowa. Stosowanie odpowiedniego roztworu chemicznego nie jest "dobrą praktyką" – <strong>jest kluczowym i bezwzględnym warunkiem</strong> zachowania sprawności wymiany ciepła na przestrzeni lat.
            </p>
            <p>
                Niestety, na polskich budowach wciąż pokutuje mit napełniania rur wodą wodociągową lub pustym "demineralem" z marketu. Skutki są opłakane: w układzie z pompą ciepła prowadzi to do błyskawicznej degradacji komponentów stalowych, gwałtownego wzrostu oporów hydraulicznych i drastycznego <strong>spadku mocy grzewczej systemu</strong>. Rachunki rosną, a podłoga przestaje grzać.
            </p>
        </div>

        <div class="rk-tools-card">
            <h3 class="rk-tools-title">Co znajdziesz w tym artykule?</h3>
            <ul class="rk-tools-list">
                
                <li class="rk-tool-item">
                    <div class="rk-tool-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><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
                    </div>
                    <div class="rk-tool-text">
                        <h4>Technologia Pasywacji (FFA)</h4>
                        <p>Zrozumiesz, jak inhibitor izoluje styk metali.</p>
                    </div>
                </li>

                <li class="rk-tool-item">
                    <div class="rk-tool-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="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                    </div>
                    <div class="rk-tool-text">
                        <h4>Kalkulator Zładu i Chemii</h4>
                        <p>Obliczysz pojemność wodną rur, bufora i rozdzielacza.</p>
                    </div>
                </li>

                <li class="rk-tool-item">
                    <div class="rk-tool-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="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                    </div>
                    <div class="rk-tool-text">
                        <h4>Diagnostyka Szlamu</h4>
                        <p>Poznasz przyczyny powstawania magnetytu i zatykania rotametrów.</p>
                    </div>
                </li>

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

    <div class="rk-intro-footer">
        <div class="rk-footer-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"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
        </div>
        <div class="rk-footer-text">
            Artykuł zawiera interaktywne symulatory i autorskie kalkulatory hydrauliczne. Zjedź w dół, aby z nich skorzystać!
        </div>
    </div>
</div>



<style>
:root {
    --rk-guar-bg: #0b1121;
    --rk-guar-card: #151e32;
    --rk-guar-card-hover: #1e293b;
    --rk-guar-border: #334155;
    --rk-guar-text: #cbd5e1;
    --rk-guar-title: #f8fafc;
    --rk-guar-muted: #94a3b8;
    --rk-guar-accent: #38bdf8; /* Cyjanowy dla normy */
    --rk-guar-warn: #eab308; /* Żółty dla kamienia */
    --rk-guar-danger: #f43f5e; /* Czerwony dla zatarcia */
    --rk-guar-success: #10b981;
}

.rk-guar-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-guar-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-guar-border);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    color: var(--rk-guar-text);
}

.rk-guar-header {
    padding: 40px 40px 30px;
    background: linear-gradient(135deg, #0b1121 0%, #151e32 100%);
    border-bottom: 1px solid var(--rk-guar-border);
}

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

.rk-guar-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-guar-accent);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-guar-intro {
    padding: 30px 40px;
    font-size: 15px;
    line-height: 1.7;
    border-bottom: 1px solid var(--rk-guar-border);
}

.rk-guar-intro strong {
    color: var(--rk-guar-title);
}

.rk-guar-intro a {
    color: var(--rk-guar-accent);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-guar-accent);
    transition: all 0.2s;
}

.rk-guar-intro a:hover {
    color: #7dd3fc;
    border-bottom-style: solid;
}

/* Interaktywny Panel (Tabs) */
.rk-guar-panel {
    padding: 40px;
}

/* Menu Zakładek - Desktop poziomo, Mobile pionowo */
.rk-guar-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-guar-tab-btn {
    flex: 1;
    background: var(--rk-guar-card);
    border: 1px solid var(--rk-guar-border);
    border-radius: 10px;
    padding: 16px 20px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
    overflow: hidden;
}

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

.rk-guar-tab-btn:hover {
    background: var(--rk-guar-card-hover);
}

.rk-guar-tab-btn[data-target="norma"].active {
    background: rgba(56, 189, 248, 0.05);
    border-color: var(--rk-guar-accent);
}
.rk-guar-tab-btn[data-target="norma"].active::before { background: var(--rk-guar-accent); }

.rk-guar-tab-btn[data-target="kamien"].active {
    background: rgba(234, 179, 8, 0.05);
    border-color: var(--rk-guar-warn);
}
.rk-guar-tab-btn[data-target="kamien"].active::before { background: var(--rk-guar-warn); }

.rk-guar-tab-btn[data-target="pompa"].active {
    background: rgba(244, 63, 94, 0.05);
    border-color: var(--rk-guar-danger);
}
.rk-guar-tab-btn[data-target="pompa"].active::before { background: var(--rk-guar-danger); }

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

.rk-tab-sub {
    font-size: 12px;
    color: var(--rk-guar-muted);
}

/* Obszar Treści i Animacji */
.rk-guar-content-area {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 30px;
}

.rk-guar-text-box {
    display: none;
    animation: fadeIn 0.4s ease forwards;
}

.rk-guar-text-box.active {
    display: block;
}

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

.rk-guar-text-box h4 {
    font-size: 20px;
    font-weight: 900;
    margin: 0 0 15px 0;
}

.rk-guar-text-box[id="content-norma"] h4 { color: var(--rk-guar-accent); }
.rk-guar-text-box[id="content-kamien"] h4 { color: var(--rk-guar-warn); }
.rk-guar-text-box[id="content-pompa"] h4 { color: var(--rk-guar-danger); }

.rk-guar-text-box p {
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 15px 0;
}

.rk-guar-text-box a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}

/* Data Row */
.rk-data-row {
    display: flex;
    justify-content: space-between;
    padding: 12px 15px;
    background: #0f172a;
    border: 1px solid var(--rk-guar-border);
    border-radius: 6px;
    margin-bottom: 8px;
    font-size: 13px;
}
.rk-data-label { color: var(--rk-guar-muted); font-weight: 600; }
.rk-data-val { color: var(--rk-guar-title); font-weight: 800; }

/* Moduł SVG (Współdzielony) */
.rk-guar-visual {
    background: #000000;
    border: 1px solid var(--rk-guar-border);
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 250px;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}

/* Stan: Norma (Wskaźniki) */
.svg-layer { opacity: 0; transition: opacity 0.5s ease; position: absolute; top:0; left:0; width:100%; height:100%; }
.state-norma #layer-norma { opacity: 1; z-index: 2; }
.state-kamien #layer-kamien { opacity: 1; z-index: 2; }
.state-pompa #layer-pompa { opacity: 1; z-index: 2; }

/* Animacje SVG */
.anim-pulse { animation: pulseGreen 2s infinite alternate; }
.anim-scale-grow { stroke-dasharray: 0 100; animation: growScale 3s forwards cubic-bezier(0.2, 0.8, 0.2, 1); }
.anim-rotor { transform-origin: center; animation: spinRotor 1s linear infinite; }
.state-pompa .anim-rotor { animation: spinRotorJammed 3s linear infinite; }
.anim-spark { opacity: 0; }
.state-pompa .anim-spark { animation: sparkFlash 0.5s infinite alternate; }

@keyframes pulseGreen { 0% { filter: drop-shadow(0 0 5px #10b981); } 100% { filter: drop-shadow(0 0 15px #10b981); } }
@keyframes growScale { to { stroke-dasharray: 100 0; stroke: #eab308; stroke-width: 15; } }
@keyframes spinRotor { 100% { transform: rotate(360deg); } }
@keyframes spinRotorJammed { 0% { transform: rotate(0deg); fill: #38bdf8; } 50% { transform: rotate(180deg); fill: #f43f5e; } 55% { transform: rotate(175deg); } 100% { transform: rotate(360deg); fill: #f43f5e; } }
@keyframes sparkFlash { 0% { opacity: 0; transform: scale(0.5); } 100% { opacity: 1; transform: scale(1.5); } }

/* Mobile RWD */
@media (max-width: 768px) {
    /* Tu zmieniamy flex-direction na kolumnę, aby przyciski ułożyły się jeden pod drugim */
    .rk-guar-tabs { flex-direction: column; gap: 10px; margin-bottom: 25px; }
    .rk-guar-tab-btn { width: 100%; }
    
    .rk-guar-content-area { grid-template-columns: 1fr; }
    .rk-guar-header, .rk-guar-intro, .rk-guar-panel { padding: 20px; }
    .rk-guar-header h2 { font-size: 22px; }
    .rk-guar-visual { min-height: 200px; order: -1; margin-bottom: 20px; } /* Przeniesienie grafiki nad tekst na mobile */
    .rk-data-row { flex-direction: column; gap: 4px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-gwarancja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Czym napełnić instalację ogrzewania podłogowego, aby nie stracić gwarancji na pompę ciepła?",
    "description": "Szczegółowe wytyczne normy PN-EN 12828 dotyczące parametrów wody grzewczej. Analiza wpływu kamienia kotłowego na wymienniki oraz konsekwencje zatarcia pompy obiegowej na wartość wskaźnika COP.",
    "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-11",
    "dateModified": "2026-06-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-gwarancja",
    "name": "Normatywne parametry zładu wodnego i skutki awarii instalacyjnych",
    "description": "Zbiór danych określający dopuszczalne granice twardości ogólnej, wartości pH oraz koszty napraw głównych podzespołów hydraulicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "utrata gwarancji na pompę ciepła",
      "norma PN-EN 12828 woda kotłowa",
      "twardość wody w instalacji CO",
      "zatarcie pompy obiegowej koszty",
      "spadek COP pompy ciepła"
    ],
    "measurementTechnique": "Weryfikacja parametrów fizykochemicznych czynnika grzewczego (m.in. twardość < 0,02 mmol/l, pH 8,2-10,0) wymaganych w procesie rozpatrywania roszczeń gwarancyjnych przez producentów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymóg gwarancyjny pH: 8,2 – 10,0 (układy bez aluminium).",
        "Dopuszczalna twardość ogólna: poniżej 0,02 mmol/l.",
        "Straty wydajności wymiennika: 1 mm kamienia = spadek COP o 15-20%.",
        "Koszt awarii pompy obiegowej: 1 200 – 2 500 PLN."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-gwarancja",
    "name": "Panel Diagnostyczny Warunków Gwarancyjnych i Awarii Zładu",
    "description": "Interaktywne narzędzie prezentujące w czasie rzeczywistym parametry normatywne, powstawanie osadów na płytach wymiennika oraz symulację zatarcia wirnika pompy obiegowej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS, SVG",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-guar-container" id="warranty-mechanisms-app">
    <div class="rk-guar-header">
        <h3>Parametry Gwarancyjne i Diagnostyka Awarii</h3>
        <h2>Czym napełnić instalację ogrzewania podłogowego, aby nie stracić gwarancji na pompę ciepła?</h2>
    </div>

    <div class="rk-guar-intro">
        <p>
            Instalację ogrzewania podłogowego należy bezwzględnie napełnić wodą demineralizowaną uzdatnioną wielofunkcyjnym inhibitorem korozji. Takie postępowanie bezpośrednio sankcjonuje <strong>norma PN-EN 12828</strong> oraz oficjalne wytyczne instalacyjne największych producentów źródeł ciepła (np. Viessmann, Vaillant, Bosch). Koszt zakupu gotowego, specjalistycznego płynu wynosi średnio zaledwie 4 – 7 PLN za litr, co przy standardowym zładzie chroni inwestycję sprzętową wartą kilkadziesiąt tysięcy złotych.
        </p>
    </div>

    <div class="rk-guar-panel">
        
        <div class="rk-guar-tabs">
            <button class="rk-guar-tab-btn active" data-target="norma">
                <span class="rk-tab-title">Rygor Gwarancyjny</span>
                <span class="rk-tab-sub">Norma PN-EN 12828</span>
            </button>
            <button class="rk-guar-tab-btn" data-target="kamien">
                <span class="rk-tab-title">Problem Zładu</span>
                <span class="rk-tab-sub">Destrukcja Wymiennika</span>
            </button>
            <button class="rk-guar-tab-btn" data-target="pompa">
                <span class="rk-tab-title">Konsekwencje</span>
                <span class="rk-tab-sub">Spadek COP i Zatarcia</span>
            </button>
        </div>

        <div class="rk-guar-content-area">
            
            <div class="rk-guar-text-box active" id="content-norma">
                <h4>Parametry wody kotłowej a gwarancja</h4>
                <p>
                    Norma jednoznacznie określa restrykcyjne wymagania fizykochemiczne dla czynnika grzewczego. Woda wprowadzona do układu musi charakteryzować się <strong>twardością ogólną zbliżoną do zera</strong> oraz odpowiednio zbuforowanym odczynem zasadowym.
                </p>
                <p>
                    Dla serwisanta autoryzowanego (z ramienia producenta <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a>), pobranie próbki wody i weryfikacja jej parametrów to pierwszy, rutynowy krok przed rozpoczęciem jakiejkolwiek naprawy gwarancyjnej. Niewłaściwy odczyn to podstawa do odrzucenia roszczeń.
                </p>
                
                <div style="margin-top: 25px;">
                    <div class="rk-data-row">
                        <span class="rk-data-label">Twardość ogólna (Wymóg)</span>
                        <span class="rk-data-val">< 0,02 mmol/l</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Odczyn pH (bez aluminium)</span>
                        <span class="rk-data-val">8,2 – 10,0</span>
                    </div>
                </div>
            </div>

            <div class="rk-guar-text-box" id="content-kamien">
                <h4>Kamień kotłowy izoluje przekaz ciepła</h4>
                <p>
                    Inwestorzy wydają od 35 000 do 65 000 PLN na nowoczesne urządzenia grzewcze, a następnie w ramach fałszywych oszczędności napełniają pętle surową wodą z sieci wodociągowej lub własnego ujęcia.
                </p>
                <p>
                    Zwykła twarda woda, podgrzewana punktowo na elementach grzejnych lub w płytach <a href="https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/">skraplacza wymiennika</a>, powoduje gwałtowną krystalizację węglanów wapnia i magnezu. Jeśli na mikroskopijnych szczelinach wymiennika płytowego odłoży się twardy kamień o grubości zaledwie <strong>1 mm</strong>, opór termiczny rośnie tak drastycznie, że producent kwalifikuje uszkodzenie urządzenia wyłącznie jako błąd eksploatacyjny użytkownika.
                </p>
                
                <div style="margin-top: 25px;">
                    <div class="rk-data-row">
                        <span class="rk-data-label">Izolator termiczny</span>
                        <span class="rk-data-val" style="color:var(--rk-guar-warn);">Węglan wapnia</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Skutek dla gwarancji</span>
                        <span class="rk-data-val" style="color:var(--rk-guar-danger);">Odrzucenie roszczeń</span>
                    </div>
                </div>
            </div>

            <div class="rk-guar-text-box" id="content-pompa">
                <h4>Efekt papieru ściernego na wirniku</h4>
                <p>
                    Wytrącony osad węglanowy krąży bezustannie w zamkniętej instalacji. Twarde, skrystalizowane drobiny wpadają do komory <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>, działając niczym gruboziarnisty papier ścierny na wysoce precyzyjne łożyska ceramiczne lub kompozytowe.
                </p>
                <p>
                    Efektem końcowym jest nieodwracalne zatarcie i spalenie pompy. Dodatkowo, obniżona zdolność wymiany ciepła na zakamienionym wymienniku powoduje drastyczny <strong>spadek współczynnika efektywności (COP) o nawet 15 - 20%</strong>. Oznacza to, że za wyprodukowanie tej samej ilości ciepła, sprężarka zużyje znacznie więcej prądu, podnosząc roczne rachunki o kilkaset złotych.
                </p>
                
                <div style="margin-top: 25px;">
                    <div class="rk-data-row">
                        <span class="rk-data-label">Spadek wydajności (COP)</span>
                        <span class="rk-data-val" style="color:var(--rk-guar-warn);">-15% do -20%</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Koszt wymiany zatartej pompy</span>
                        <span class="rk-data-val" style="color:var(--rk-guar-danger);">1 200 – 2 500 PLN</span>
                    </div>
                </div>
            </div>

            <div class="rk-guar-visual state-norma" id="guarVisualizer">
                
                <svg viewBox="0 0 300 300" class="svg-layer" id="layer-norma">
                    <circle cx="150" cy="150" r="100" fill="none" stroke="#1e293b" stroke-width="20" />
                    <path d="M50,150 A100,100 0 0,1 250,150" fill="none" stroke="#10b981" stroke-width="20" class="anim-pulse" stroke-linecap="round"/>
                    <text x="150" y="140" fill="#f8fafc" font-size="28" font-weight="900" font-family="Inter" text-anchor="middle">pH 8.5</text>
                    <text x="150" y="165" fill="#38bdf8" font-size="14" font-weight="600" font-family="monospace" text-anchor="middle">&lt; 0.02 mmol/l</text>
                    <text x="150" y="195" fill="#10b981" font-size="12" font-weight="700" font-family="Inter" text-anchor="middle">ZGODNE Z PN-EN 12828</text>
                </svg>

                <svg viewBox="0 0 300 300" class="svg-layer" id="layer-kamien">
                    <rect x="70" y="50" width="160" height="200" fill="#1e293b" rx="8" stroke="#334155" stroke-width="4"/>
                    <path d="M110,50 L110,250 M150,50 L150,250 M190,50 L190,250" stroke="#0ea5e9" stroke-width="15" fill="none"/>
                    <path d="M110,50 L110,250 M150,50 L150,250 M190,50 L190,250" fill="none" class="anim-scale-grow"/>
                    <text x="150" y="275" fill="#eab308" font-size="12" font-weight="bold" font-family="Inter" text-anchor="middle">NARASTANIE IZOLACJI WĘGLANOWEJ</text>
                </svg>

                <svg viewBox="0 0 300 300" class="svg-layer" id="layer-pompa">
                    <circle cx="150" cy="150" r="90" fill="#1e293b" stroke="#334155" stroke-width="8"/>
                    <circle cx="150" cy="150" r="40" fill="#0b1121" stroke="#475569" stroke-width="4"/>
                    <g transform="translate(150,150)">
                        <g class="anim-rotor">
                            <path d="M-10,-40 L10,-40 L5,0 L-5,0 Z M-10,40 L10,40 L5,0 L-5,0 Z M-40,-10 L-40,10 L0,5 L0,-5 Z M40,-10 L40,10 L0,5 L0,-5 Z" fill="#38bdf8"/>
                        </g>
                    </g>
                    <circle cx="120" cy="120" r="6" fill="#f43f5e" class="anim-spark" style="animation-delay: 0.1s;"/>
                    <circle cx="180" cy="170" r="8" fill="#eab308" class="anim-spark" style="animation-delay: 0.3s;"/>
                    <circle cx="130" cy="180" r="5" fill="#f43f5e" class="anim-spark" style="animation-delay: 0.5s;"/>
                    <text x="150" y="270" fill="#f43f5e" font-size="14" font-weight="900" font-family="Inter" text-anchor="middle">ZATARCIE ŁOŻYSK CERAMICZNYCH</text>
                </svg>

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-guar-tab-btn');
    const texts = document.querySelectorAll('.rk-guar-text-box');
    const visualizer = document.getElementById('guarVisualizer');

    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            const target = btn.getAttribute('data-target');

            // Aktywacja wybranego przycisku
            btns.forEach(b => b.classList.remove('active'));
            btn.classList.add('active');

            // Aktywacja wybranego bloku tekstowego
            texts.forEach(t => t.classList.remove('active'));
            document.getElementById(`content-${target}`).classList.add('active');

            // Zmiana klasy na kontenerze SVG (wyzwala ukrywanie/pokazywanie odpowiednich warstw)
            visualizer.className = `rk-guar-visual state-${target}`;
        });
    });
});
</script>



<style>
:root {
    --rk-mud-bg: #0b1121;
    --rk-mud-card: #151e32;
    --rk-mud-card-hover: #1e293b;
    --rk-mud-border: #334155;
    --rk-mud-text: #cbd5e1;
    --rk-mud-title: #f8fafc;
    --rk-mud-muted: #94a3b8;
    --rk-mud-accent: #f43f5e; /* Czerwony dla korozji */
    --rk-mud-sludge: #475569; /* Szary/brudny dla magnetytu */
    --rk-mud-bio: #10b981; /* Zielony dla bakterii */
    --rk-mud-galvanic: #eab308; /* Żółty dla prądów galwanicznych */
}

.rk-mud-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-mud-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-mud-border);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    color: var(--rk-mud-text);
}

.rk-mud-header {
    padding: 40px;
    background: linear-gradient(135deg, #0b1121 0%, #151e32 100%);
    border-bottom: 1px solid var(--rk-mud-border);
}

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

.rk-mud-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-mud-accent);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-mud-intro {
    padding: 30px 40px;
    font-size: 15px;
    line-height: 1.7;
    border-bottom: 1px solid var(--rk-mud-border);
}

.rk-mud-intro a {
    color: var(--rk-mud-accent);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-mud-accent);
    transition: all 0.2s;
}

.rk-mud-intro a:hover {
    color: #fda4af;
    border-bottom-style: solid;
}

/* Pionowy Akordeon */
.rk-mud-accordion {
    padding: 30px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-mud-item {
    background: var(--rk-mud-card);
    border: 1px solid var(--rk-mud-border);
    border-radius: 12px;
    transition: all 0.3s ease;
    overflow: hidden;
}

.rk-mud-item:hover {
    background: var(--rk-mud-card-hover);
    border-color: #475569;
}

/* Kolory aktywnego obramowania */
.rk-mud-item.active[data-type="magnetite"] { border-color: #94a3b8; box-shadow: 0 0 20px rgba(148, 163, 184, 0.1); background: #0b1121; }
.rk-mud-item.active[data-type="bacteria"] { border-color: var(--rk-mud-bio); box-shadow: 0 0 20px rgba(16, 185, 129, 0.1); background: #0b1121; }
.rk-mud-item.active[data-type="galvanic"] { border-color: var(--rk-mud-galvanic); box-shadow: 0 0 20px rgba(234, 179, 8, 0.1); background: #0b1121; }

/* Przycisk rozwijający */
.rk-mud-trigger {
    width: 100%;
    padding: 20px 25px;
    background: transparent;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s;
}

.rk-mud-trigger-content {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-mud-trigger-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-mud-title);
    transition: color 0.3s;
}

.rk-mud-trigger-sub {
    font-size: 13px;
    color: var(--rk-mud-muted);
}

.rk-mud-item.active[data-type="magnetite"] .rk-mud-trigger-title { color: #f8fafc; }
.rk-mud-item.active[data-type="bacteria"] .rk-mud-trigger-title { color: var(--rk-mud-bio); }
.rk-mud-item.active[data-type="galvanic"] .rk-mud-trigger-title { color: var(--rk-mud-galvanic); }

/* Ikona +/- */
.rk-mud-trigger-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-mud-bg);
    border: 1px solid var(--rk-mud-border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-left: 15px;
    position: relative;
    transition: all 0.3s;
}

.rk-mud-trigger-icon::before, .rk-mud-trigger-icon::after {
    content: '';
    position: absolute;
    background: var(--rk-mud-text);
    transition: all 0.3s;
}

.rk-mud-trigger-icon::before { width: 12px; height: 2px; }
.rk-mud-trigger-icon::after { width: 2px; height: 12px; }

/* Stan otwarty (minus) */
.rk-mud-item.active .rk-mud-trigger-icon::after { transform: rotate(90deg); opacity: 0; }
.rk-mud-item.active[data-type="magnetite"] .rk-mud-trigger-icon { border-color: #94a3b8; background: rgba(148, 163, 184, 0.1); }
.rk-mud-item.active[data-type="magnetite"] .rk-mud-trigger-icon::before { background: #f8fafc; }
.rk-mud-item.active[data-type="bacteria"] .rk-mud-trigger-icon { border-color: var(--rk-mud-bio); background: rgba(16, 185, 129, 0.1); }
.rk-mud-item.active[data-type="bacteria"] .rk-mud-trigger-icon::before { background: var(--rk-mud-bio); }
.rk-mud-item.active[data-type="galvanic"] .rk-mud-trigger-icon { border-color: var(--rk-mud-galvanic); background: rgba(234, 179, 8, 0.1); }
.rk-mud-item.active[data-type="galvanic"] .rk-mud-trigger-icon::before { background: var(--rk-mud-galvanic); }

/* Kontener z treścią */
.rk-mud-collapse {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-mud-body {
    padding: 0 25px 25px 25px;
}

/* Moduł Schematu Wizualnego */
.rk-mud-visual {
    background: #000000;
    border: 1px solid var(--rk-mud-border);
    border-radius: 8px;
    padding: 20px;
    margin-top: 15px;
    margin-bottom: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Siatka specyfikacji */
.rk-spec-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 25px;
}

.rk-spec-box {
    background: var(--rk-mud-card);
    border: 1px solid var(--rk-mud-border);
    border-radius: 10px;
    padding: 20px;
}

.rk-spec-box h5 {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 800;
    margin: 0 0 10px 0;
}

.rk-mud-item[data-type="magnetite"] .rk-spec-box h5 { color: #f8fafc; }
.rk-mud-item[data-type="bacteria"] .rk-spec-box h5 { color: var(--rk-mud-bio); }
.rk-mud-item[data-type="galvanic"] .rk-spec-box h5 { color: var(--rk-mud-galvanic); }

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

.rk-spec-box a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Tabela parametrów */
.rk-data-row {
    display: flex;
    justify-content: space-between;
    padding: 12px 15px;
    background: #0f172a;
    border: 1px solid var(--rk-mud-border);
    border-radius: 6px;
    margin-bottom: 8px;
    font-size: 13px;
}

.rk-data-label {
    color: var(--rk-mud-muted);
    font-weight: 600;
}

.rk-data-val {
    color: var(--rk-mud-title);
    font-weight: 800;
}

@media (max-width: 768px) {
    .rk-mud-header, .rk-mud-intro, .rk-mud-accordion { padding: 20px; }
    .rk-mud-header h2 { font-size: 22px; }
    .rk-mud-trigger { padding: 15px; }
    .rk-mud-body { padding: 0 15px 20px 15px; }
    .rk-spec-grid { grid-template-columns: 1fr; }
    .rk-data-row { flex-direction: column; gap: 4px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-czarne-bloto",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Dlaczego zwykła woda z kranu powoduje czarne błoto w pętlach ogrzewania podłogowego?",
    "description": "Szczegółowa analiza powstawania szlamu magnetytowego (Fe3O4), korozji galwanicznej mosiężnych rozdzielaczy oraz rozwoju bakterii Desulfovibrio w instalacjach c.o.",
    "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-11",
    "dateModified": "2026-06-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-szlam",
    "name": "Analiza fizykochemiczna degradacji zładu (Magnetyt i Korozja)",
    "description": "Dane opisujące wskaźniki korozji galwanicznej oraz mechanizmy powstawania szlamu w obiegach zamkniętych z wodą wodociągową.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czarne błoto w podłogówce",
      "zatykanie rotametrów",
      "korozja galwaniczna rozdzielacza",
      "magnetyt w instalacji co",
      "bakterie desulfovibrio w c.o."
    ],
    "measurementTechnique": "Badanie przewodności elektrolitycznej (> 500 μS/cm) oraz analiza osadów ferromagnetycznych (Fe3O4) zablokowanych w zaworach termostatycznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Reakcja chemiczna: Tlen + Chlorki + Żelazo -> Wodorotlenek żelaza -> Magnetyt (Fe3O4)",
        "Korozja galwaniczna: Miedź + Stal w wodzie kranowej (> 500 μS/cm) = roztwarzanie anody",
        "Skażenie mikrobiologiczne: Bakterie beztlenowe przy 30-35°C redukujące siarczany."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-szlam",
    "name": "Diagnostyka Powstawania Szlamu i Korozji Galwanicznej",
    "description": "Techniczne opracowanie z rozwijanymi kartami diagnostycznymi obrazującymi procesy elektrochemiczne niszczące instalację c.o.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-mud-container" id="sludge-diagnostics-app">
    <div class="rk-mud-header">
        <h3>Diagnostyka Awarii Instalacyjnych</h3>
        <h2>Dlaczego zwykła woda z kranu powoduje czarne błoto w pętlach ogrzewania podłogowego?</h2>
    </div>

    <div class="rk-mud-intro">
        <p style="margin-top:0;">
            Zwykła woda z kranu to wyrok dla nowoczesnych, niskotemperaturowych układów. Powoduje ona powstawanie czarnego błota (magnetytu), ponieważ zawiera rozpuszczony tlen oraz <strong>jony agresywne (m.in. chlorki powyżej 30 mg/l i siarczany)</strong>. Elementy te wchodzą w gwałtowną reakcję elektrochemiczną ze stalowymi i mosiężnymi elementami kotłowni. Proces ten, zdefiniowany w normie <strong>PN-EN 12502</strong>, prowadzi do zablokowania przepływów w najwęższych przekrojach instalacji (np. we wkładkach zaworowych i głowicach termostatycznych). Zobacz, co dokładnie dzieje się wewnątrz rur.
        </p>
    </div>

    <div class="rk-mud-accordion">
        
        <div class="rk-mud-item active" data-type="magnetite">
            <button class="rk-mud-trigger">
                <div class="rk-mud-trigger-content">
                    <span class="rk-mud-trigger-title">Mechanizm powstawania czarnego szlamu (Magnetytu)</span>
                    <span class="rk-mud-trigger-sub">Reakcja tlenu i chlorków z żelazem</span>
                </div>
                <div class="rk-mud-trigger-icon"></div>
            </button>
            <div class="rk-mud-collapse">
                <div class="rk-mud-body">
                    
                    <div class="rk-mud-visual">
                        <svg viewBox="0 0 500 120" style="width:100%; height:auto;">
                            <rect x="10" y="30" width="120" height="60" rx="6" fill="#1e293b" stroke="#475569" stroke-width="2"/>
                            <text x="70" y="55" fill="#f8fafc" font-size="11" font-weight="bold" text-anchor="middle" font-family="Inter">WODA Z KRANU</text>
                            <text x="70" y="75" fill="#f43f5e" font-size="11" text-anchor="middle" font-family="Inter">Tlen + Chlorki</text>
                            
                            <path d="M140,60 L180,60" stroke="#64748b" stroke-width="3" fill="none" marker-end="url(#arrow)"/>

                            <rect x="190" y="30" width="120" height="60" rx="6" fill="#1e293b" stroke="#475569" stroke-width="2"/>
                            <text x="250" y="55" fill="#f8fafc" font-size="11" font-weight="bold" text-anchor="middle" font-family="Inter">STAL / ŻELIWO</text>
                            <text x="250" y="75" fill="#94a3b8" font-size="11" text-anchor="middle" font-family="Inter">(Sprzęgła/Naczynia)</text>

                            <path d="M320,60 L360,60" stroke="#64748b" stroke-width="3" fill="none" marker-end="url(#arrow)"/>

                            <rect x="370" y="30" width="120" height="60" rx="6" fill="#0f172a" stroke="#f8fafc" stroke-width="2"/>
                            <text x="430" y="55" fill="#f8fafc" font-size="11" font-weight="bold" text-anchor="middle" font-family="Inter">MAGNETYT</text>
                            <text x="430" y="75" fill="#94a3b8" font-size="12" text-anchor="middle" font-family="monospace">Fe₃O₄</text>

                            <defs>
                                <marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
                                  <path d="M 0 0 L 10 5 L 0 10 z" fill="#64748b" />
                                </marker>
                            </defs>
                        </svg>
                    </div>

                    <div class="rk-spec-grid">
                        <div class="rk-spec-box">
                            <h5>Fizyka i grawitacja osadu</h5>
                            <p>Woda wodociągowa jest nasycona gazami. Tlen reaguje z żelazem obecnym w <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgłach hydraulicznych</a> i naczyniach, tworząc wodorotlenek żelaza. Pod wpływem temperatury przekształca się on w magnetyt (Fe₃O₄).</p>
                        </div>
                        <div class="rk-spec-box">
                            <h5>Konsekwencje dla pętli</h5>
                            <p>Magnetyt to niezwykle ciężki, czarny pył. Pod wpływem grawitacji i niskiej prędkości przepływu osiada na dnie długich <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rur PE-Xa lub PERT</a>, tworząc betonową, zwartą strukturę całkowicie blokującą wymianę ciepła do wylewki.</p>
                        </div>
                    </div>

                    <div class="rk-data-row">
                        <span class="rk-data-label">Produkt reakcji utleniania</span>
                        <span class="rk-data-val">Magnetyt (Fe₃O₄)</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Zagrożony podzespół</span>
                        <span class="rk-data-val">Rotametry i wkładki zaworowe</span>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-mud-item" data-type="bacteria">
            <button class="rk-mud-trigger">
                <div class="rk-mud-trigger-content">
                    <span class="rk-mud-trigger-title">Rozwój bakterii beztlenowych</span>
                    <span class="rk-mud-trigger-sub">Redukcja siarczanów (Desulfovibrio)</span>
                </div>
                <div class="rk-mud-trigger-icon"></div>
            </button>
            <div class="rk-mud-collapse">
                <div class="rk-mud-body">
                    
                    <div class="rk-spec-grid" style="margin-top: 20px;">
                        <div class="rk-spec-box">
                            <h5>Biologiczny inkubator w podłodze</h5>
                            <p>W niskich temperaturach pracy nowoczesnej podłogówki (zazwyczaj 30 - 35°C), naturalnie występujące w kranówce siarczany stają się pożywką. Powstają idealne warunki dla gwałtownego rozwoju szczepów bakterii beztlenowych (m.in. Desulfovibrio).</p>
                        </div>
                        <div class="rk-spec-box">
                            <h5>Redukcja siarczanów</h5>
                            <p>Bakterie te w procesie metabolizmu redukują siarczany do żrących siarczków żelaza. Dodatkowo wokół kolonii bakteryjnych formuje się gęsty, lepki biofilm, który natychmiast wychwytuje opadający magnetyt, tworząc niemożliwy do wypłukania szlam.</p>
                        </div>
                    </div>

                    <div class="rk-data-row">
                        <span class="rk-data-label">Temperatura krytyczna rozwoju</span>
                        <span class="rk-data-val">30°C - 35°C</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Szczep patogenny</span>
                        <span class="rk-data-val">Desulfovibrio (Beztlenowe)</span>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-mud-item" data-type="galvanic">
            <button class="rk-mud-trigger">
                <div class="rk-mud-trigger-content">
                    <span class="rk-mud-trigger-title">Korozja galwaniczna na styku różnych metali</span>
                    <span class="rk-mud-trigger-sub">Efekt mikroogniwa i wysokiej przewodności</span>
                </div>
                <div class="rk-mud-trigger-icon"></div>
            </button>
            <div class="rk-mud-collapse">
                <div class="rk-mud-body">
                    
                    <div class="rk-spec-grid" style="margin-top: 20px;">
                        <div class="rk-spec-box">
                            <h5>Kocioł jako ogniwo baterii</h5>
                            <p>Współczesna kotłownia to ogromny miks materiałowy. Mamy miedź w wymiennikach, <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-ogrzewania-podlogowego-mosiezny-czy-ze-stali-nierdzewnej/">mosiądz w korpusach rozdzielaczy</a> oraz rury ze stali. Zwykła woda z kranu (o bardzo wysokiej przewodności elektrycznej przekraczającej często 500 μS/cm) działa jak idealny płynny elektrolit.</p>
                        </div>
                        <div class="rk-spec-box">
                            <h5>Roztwarzanie słabszego metalu</h5>
                            <p>Na styku dwóch różnych metali zanurzonych w tym elektrolicie natychmiast powstaje mikroogniwo galwaniczne. Metal o niższym potencjale (mniej szlachetny, np. zwykła stal w <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczyniach wzbiorczych</a>) staje się anodą i ulega gwałtownemu roztworzeniu.</p>
                        </div>
                    </div>

                    <div class="rk-data-row">
                        <span class="rk-data-label">Przewodność wody kranowej (Elektrolitu)</span>
                        <span class="rk-data-val">> 500 μS/cm</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Skutek elektrochemiczny</span>
                        <span class="rk-data-val">Perforacja / Wżery anody</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Średni czas do awarii krytycznej</span>
                        <span class="rk-data-val">3 do 5 lat</span>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

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

    // Init the first element properly
    if(items.length > 0) {
        items[0].classList.add('active');
        const firstCollapse = items[0].querySelector('.rk-mud-collapse');
        firstCollapse.style.maxHeight = firstCollapse.scrollHeight + "px";
    }

    items.forEach(item => {
        const trigger = item.querySelector('.rk-mud-trigger');
        const collapse = item.querySelector('.rk-mud-collapse');

        trigger.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zamykamy wszystkie
            items.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-mud-collapse').style.maxHeight = null;
            });

            // Otwieramy kliknięty, jeśli nie był aktywny
            if (!isActive) {
                item.classList.add('active');
                collapse.style.maxHeight = collapse.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-chem-bg: #0b1121;
    --rk-chem-card: #151e32;
    --rk-chem-card-hover: #1e293b;
    --rk-chem-border: #334155;
    --rk-chem-text: #cbd5e1;
    --rk-chem-title: #f8fafc;
    --rk-chem-muted: #94a3b8;
    --rk-chem-accent: #38bdf8; /* Cyjan dla FFA */
    --rk-chem-bio: #10b981; /* Zielony dla biocydów */
    --rk-chem-disp: #eab308; /* Żółty dla dyspergatorów */
}

.rk-chem-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-chem-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-chem-border);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    color: var(--rk-chem-text);
}

.rk-chem-header {
    padding: 40px;
    background: linear-gradient(135deg, #0b1121 0%, #151e32 100%);
    border-bottom: 1px solid var(--rk-chem-border);
}

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

.rk-chem-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-chem-accent);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-chem-intro {
    padding: 30px 40px;
    font-size: 15px;
    line-height: 1.7;
    border-bottom: 1px solid var(--rk-chem-border);
}

.rk-chem-intro strong {
    color: var(--rk-chem-title);
}

/* Nowy Układ - Pionowy Akordeon */
.rk-chem-accordion {
    padding: 30px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-chem-item {
    background: var(--rk-chem-card);
    border: 1px solid var(--rk-chem-border);
    border-radius: 12px;
    transition: all 0.3s ease;
    overflow: hidden;
}

.rk-chem-item:hover {
    background: var(--rk-chem-card-hover);
    border-color: #475569;
}

/* Warianty kolorystyczne aktywnego obramowania */
.rk-chem-item.active[data-type="ffa"] { border-color: var(--rk-chem-accent); box-shadow: 0 0 20px rgba(56, 189, 248, 0.1); background: #0b1121; }
.rk-chem-item.active[data-type="bio"] { border-color: var(--rk-chem-bio); box-shadow: 0 0 20px rgba(16, 185, 129, 0.1); background: #0b1121; }
.rk-chem-item.active[data-type="disp"] { border-color: var(--rk-chem-disp); box-shadow: 0 0 20px rgba(234, 179, 8, 0.1); background: #0b1121; }

/* Przycisk rozwijający */
.rk-chem-trigger {
    width: 100%;
    padding: 20px 25px;
    background: transparent;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s;
}

.rk-trigger-content {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rk-trigger-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-chem-title);
    transition: color 0.3s;
}

.rk-trigger-sub {
    font-size: 13px;
    color: var(--rk-chem-muted);
}

.rk-chem-item.active[data-type="ffa"] .rk-trigger-title { color: var(--rk-chem-accent); }
.rk-chem-item.active[data-type="bio"] .rk-trigger-title { color: var(--rk-chem-bio); }
.rk-chem-item.active[data-type="disp"] .rk-trigger-title { color: var(--rk-chem-disp); }

/* Ikona +/- */
.rk-trigger-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-chem-bg);
    border: 1px solid var(--rk-chem-border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-left: 15px;
    position: relative;
    transition: all 0.3s;
}

.rk-trigger-icon::before, .rk-trigger-icon::after {
    content: '';
    position: absolute;
    background: var(--rk-chem-text);
    transition: all 0.3s;
}

.rk-trigger-icon::before { width: 12px; height: 2px; }
.rk-trigger-icon::after { width: 2px; height: 12px; }

/* Stan otwarty (zmienia się w minus) */
.rk-chem-item.active .rk-trigger-icon::after { transform: rotate(90deg); opacity: 0; }
.rk-chem-item.active[data-type="ffa"] .rk-trigger-icon { border-color: var(--rk-chem-accent); background: rgba(56, 189, 248, 0.1); }
.rk-chem-item.active[data-type="ffa"] .rk-trigger-icon::before { background: var(--rk-chem-accent); }
.rk-chem-item.active[data-type="bio"] .rk-trigger-icon { border-color: var(--rk-chem-bio); background: rgba(16, 185, 129, 0.1); }
.rk-chem-item.active[data-type="bio"] .rk-trigger-icon::before { background: var(--rk-chem-bio); }
.rk-chem-item.active[data-type="disp"] .rk-trigger-icon { border-color: var(--rk-chem-disp); background: rgba(234, 179, 8, 0.1); }
.rk-chem-item.active[data-type="disp"] .rk-trigger-icon::before { background: var(--rk-chem-disp); }

/* Kontener z treścią */
.rk-chem-collapse {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-chem-body {
    padding: 0 25px 25px 25px;
}

.rk-spec-header {
    margin-bottom: 25px;
    padding-top: 15px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--rk-chem-border);
    border-top: 1px solid var(--rk-chem-border);
}

.rk-spec-header h4 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-chem-title);
    margin: 0 0 10px 0;
}

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

/* Bloki SEO długi ogon */
.rk-spec-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 25px;
}

.rk-spec-box {
    background: var(--rk-chem-card);
    border: 1px solid var(--rk-chem-border);
    border-radius: 10px;
    padding: 20px;
}

.rk-spec-box h5 {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 800;
    margin: 0 0 10px 0;
}

.rk-chem-item[data-type="ffa"] .rk-spec-box h5 { color: var(--rk-chem-accent); }
.rk-chem-item[data-type="bio"] .rk-spec-box h5 { color: var(--rk-chem-bio); }
.rk-chem-item[data-type="disp"] .rk-spec-box h5 { color: var(--rk-chem-disp); }

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

.rk-spec-box strong {
    color: var(--rk-chem-title);
}

/* Tabela parametrów */
.rk-data-row {
    display: flex;
    justify-content: space-between;
    padding: 12px 15px;
    background: #0f172a;
    border: 1px solid var(--rk-chem-border);
    border-radius: 6px;
    margin-bottom: 8px;
    font-size: 13px;
}

.rk-data-label {
    color: var(--rk-chem-muted);
    font-weight: 600;
}

.rk-data-val {
    color: var(--rk-chem-title);
    font-weight: 800;
}

@media (max-width: 768px) {
    .rk-chem-header, .rk-chem-intro, .rk-chem-accordion { padding: 20px; }
    .rk-chem-header h2 { font-size: 22px; }
    .rk-spec-header h4 { font-size: 18px; }
    .rk-chem-trigger { padding: 15px; }
    .rk-chem-body { padding: 0 15px 20px 15px; }
    .rk-data-row { flex-direction: column; gap: 4px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-chemia",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Jak działa inhibitor korozji w wodzie zdemineralizowanej?",
    "description": "Szczegółowa specyfikacja chemiczna płynów instalacyjnych: alifatyczne aminy filmotwórcze (FFA), biocydy zwalczające biofilm w rurach PEX oraz dyspergatory zapobiegające powstawaniu czarnego błota.",
    "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-11",
    "dateModified": "2026-06-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-chemia",
    "name": "Fizykochemiczne mechanizmy ochrony zładu ogrzewania podłogowego",
    "description": "Zbiór danych i parametrów fizykochemicznych opisujących działanie pakietów ochronnych w zamkniętych instalacjach niskotemperaturowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "aminy filmotwórcze w instalacji co",
      "zatykanie rotametrów w podłogówce",
      "biofilm w rurach pex",
      "czarne błoto magnetyt jak usunąć",
      "korozja elektrochemiczna w instalacji co"
    ],
    "measurementTechnique": "Analiza zapobiegania korozji galwanicznej (zgodnie z DIN 4726) oraz prewencji mikrobiologicznej w układach o parametrze 30-35°C.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Technologia FFA: Izolacja katody/anody poprzez tworzenie bariery monomolekularnej.",
        "Biocydy: Rozkład struktury biofilmu bakteryjnego zatykającego przewody 16x2 mm.",
        "Dyspergatory: Przeciwdziałanie aglomeracji osadów i transport pyłów do separatora cyklonowego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-chemia",
    "name": "Interaktywny Panel Diagnostyczny Chemii Grzewczej",
    "description": "Techniczne karty specyfikacji poszczególnych komponentów płynów instalacyjnych, definiujące ich parametry robocze oraz zapobiegane awarie.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-chem-container" id="chem-mechanisms-app">
    <div class="rk-chem-header">
        <h3>Technologia Zabezpieczeń Zładu</h3>
        <h2>Jak działa inhibitor korozji w wodzie zdemineralizowanej?</h2>
    </div>

    <div class="rk-chem-intro">
        <p>
            Inhibitor korozji w czystej wodzie zdemineralizowanej działa poprzez natychmiastowe utworzenie <strong>monomolekularnej warstwy pasywnej</strong> na wewnętrznych ściankach przewodów oraz chemiczne wiązanie residualnego tlenu. Proces ten jest zdefiniowany i rygorystycznie opisywany przez mechanizmy fizykochemiczne ustandaryzowane w normie <strong>DIN 4726</strong>. Dawkowanie odpowiedniego koncentratu wynosi zazwyczaj od 1% do 2% całkowitej objętości zładu wodnego, co gwarantuje inżynieryjną stabilność układu.
        </p>
    </div>

    <div class="rk-chem-accordion">
        
        <div class="rk-chem-item" data-type="ffa">
            <button class="rk-chem-trigger">
                <div class="rk-trigger-content">
                    <span class="rk-trigger-title">Aminy Filmotwórcze (FFA)</span>
                    <span class="rk-trigger-sub">Bariera molekularna metali</span>
                </div>
                <div class="rk-trigger-icon"></div>
            </button>
            <div class="rk-chem-collapse">
                <div class="rk-chem-body">
                    <div class="rk-spec-header">
                        <h4>Zabezpieczenie antykorozyjne (Technologia FFA)</h4>
                        <p>Nowoczesne formuły specjalistyczne oparte na alifatycznych aminach filmotwórczych całkowicie izolują metal od cząsteczek wody i elektrolitu.</p>
                    </div>
                    
                    <div class="rk-spec-grid">
                        <div class="rk-spec-box">
                            <h5>Mechanizm chemiczny</h5>
                            <p>Inhibitor działa jak inteligentny uszczelniacz powierzchniowy. <strong>Tworzy monomolekularną powłokę pasywną</strong>, fizycznie blokując wymianę elektronów na anodzie i katodzie, a także wiąże szczątkowy tlen, który mógł pozostać w zładzie wodnym po odpowietrzeniu instalacji.</p>
                        </div>
                        <div class="rk-spec-box">
                            <h5>Rozwiązywany problem (Długi ogon awarii)</h5>
                            <p>Zabezpiecza przed <strong>korozją elektrochemiczną w instalacji c.o.</strong> oraz agresywną korozją wżerową mosiężnych rozdzielaczy i stalowych wymienników płytowych, zachowując szczelność gwintów.</p>
                        </div>
                    </div>

                    <div class="rk-data-row">
                        <span class="rk-data-label">Zalecane stężenie robocze</span>
                        <span class="rk-data-val">1% – 2% objętości zładu</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Norma referencyjna</span>
                        <span class="rk-data-val">DIN 4726</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Trwałość warstwy pasywnej</span>
                        <span class="rk-data-val">5 do 10 lat (bez zrzutów)</span>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-chem-item" data-type="bio">
            <button class="rk-chem-trigger">
                <div class="rk-trigger-content">
                    <span class="rk-trigger-title">Rola Biocydów</span>
                    <span class="rk-trigger-sub">Ochrona rur PEX przed śluzem</span>
                </div>
                <div class="rk-trigger-icon"></div>
            </button>
            <div class="rk-chem-collapse">
                <div class="rk-chem-body">
                    <div class="rk-spec-header">
                        <h4>Prewencja mikrobiologiczna (Biocydy)</h4>
                        <p>Ogrzewanie podłogowe pracuje na niskich parametrach (zasilanie 35°C, powrót 30°C). Taki zład to idealny inkubator dla rozwoju flory bakteryjnej i glonów.</p>
                    </div>
                    
                    <div class="rk-spec-grid">
                        <div class="rk-spec-box">
                            <h5>Mechanizm chemiczny</h5>
                            <p>Dobrej klasy płyny posiadają w swoim składzie związki biobójcze (biocydy). Ich zadaniem jest sterylizacja środowiska wodnego i niszczenie struktur białkowych bakterii beztlenowych już na etapie zarodków, nie pozwalając na ich namnażanie się.</p>
                        </div>
                        <div class="rk-spec-box">
                            <h5>Rozwiązywany problem (Długi ogon awarii)</h5>
                            <p>Powstający <strong>biofilm w rurach PEX</strong> (rodzaj lepkiego śluzu bakteryjnego) powoduje drastyczne zmniejszenie przekroju rury 16x2 mm i jest bezpośrednią przyczyną <strong>zatykania rotametrów w podłogówce</strong>. Biocydy eliminują ten problem w 100%.</p>
                        </div>
                    </div>

                    <div class="rk-data-row">
                        <span class="rk-data-label">Temperatura krytyczna (Inkubator)</span>
                        <span class="rk-data-val">30°C – 35°C</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Główny patogen instalacyjny</span>
                        <span class="rk-data-val">Bakterie redukujące siarczany</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Rodzaj tworzonych zatorów</span>
                        <span class="rk-data-val">Zatory śluzowe (Biofilm)</span>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-chem-item" data-type="disp">
            <button class="rk-chem-trigger">
                <div class="rk-trigger-content">
                    <span class="rk-trigger-title">Środki Dyspergujące</span>
                    <span class="rk-trigger-sub">Walka z czarnym błotem</span>
                </div>
                <div class="rk-trigger-icon"></div>
            </button>
            <div class="rk-chem-collapse">
                <div class="rk-chem-body">
                    <div class="rk-spec-header">
                        <h4>Zabezpieczenie mechaniczne (Dyspergatory)</h4>
                        <p>Nawet po dokładnym płukaniu po montażu, w układzie mogą pozostać zanieczyszczenia (kurz, rdza, opiłki), które z czasem się aglomerują.</p>
                    </div>
                    
                    <div class="rk-spec-grid">
                        <div class="rk-spec-box">
                            <h5>Mechanizm chemiczny</h5>
                            <p>Zadaniem środków dyspergujących zawartych w inhibitorze jest odpychanie od siebie drobnych cząstek zanieczyszczeń stałych. Utrzymują one mikroskopijne zabrudzenia w stanie trwałej zawiesiny (rozproszenia), nie pozwalając grawitacji na ich zbijanie w grudy.</p>
                        </div>
                        <div class="rk-spec-box">
                            <h5>Rozwiązywany problem (Długi ogon awarii)</h5>
                            <p>Dyspergatory zapobiegają odkładaniu się i powstawaniu ciężkiego <strong>czarnego błota (magnetytu)</strong> na dnie rur i w zagięciach zaworów. Rozproszone cząstki wędrują swobodnie wraz ze strumieniem cieczy, aż zostaną definitywnie usunięte przez <strong>separator zanieczyszczeń z wkładem magnetycznym</strong>.</p>
                        </div>
                    </div>

                    <div class="rk-data-row">
                        <span class="rk-data-label">Działanie fizykochemiczne</span>
                        <span class="rk-data-val">Utrzymanie zawiesiny w płynie</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Wymagane urządzenie współpracujące</span>
                        <span class="rk-data-val">Separator cyklonowo-magnetyczny</span>
                    </div>
                    <div class="rk-data-row">
                        <span class="rk-data-label">Ochrona podzespołu</span>
                        <span class="rk-data-val">Wirnik pompy obiegowej</span>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

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

    // Domyślnie otwieramy pierwszy element (opcjonalne, ale dobre dla UX)
    if(items.length > 0) {
        items[0].classList.add('active');
        const firstCollapse = items[0].querySelector('.rk-chem-collapse');
        firstCollapse.style.maxHeight = firstCollapse.scrollHeight + "px";
    }

    items.forEach(item => {
        const trigger = item.querySelector('.rk-chem-trigger');
        const collapse = item.querySelector('.rk-chem-collapse');

        trigger.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zamykamy wszystkie
            items.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-chem-collapse').style.maxHeight = null;
            });

            // Otwieramy kliknięty, jeśli nie był aktywny
            if (!isActive) {
                item.classList.add('active');
                collapse.style.maxHeight = collapse.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-med-bg: #0f172a;
    --rk-med-panel: #1e293b;
    --rk-med-panel-hover: #334155;
    --rk-med-border: #475569;
    --rk-med-text: #cbd5e1;
    --rk-med-title: #f8fafc;
    --rk-med-primary: #06b6d4; /* Cyjan dla wody */
    --rk-med-primary-dark: #0891b2;
    --rk-med-glycol: #8b5cf6; /* Fiolet dla glikolu */
    --rk-med-danger: #ef4444;
    --rk-med-success: #10b981;
}

.rk-med-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-med-bg);
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    border: 1px solid var(--rk-med-border);
    color: var(--rk-med-text);
    overflow: hidden;
}

.rk-med-header {
    padding: 40px 40px 30px;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    border-bottom: 1px solid var(--rk-med-border);
}

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

.rk-med-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-med-primary);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-med-intro {
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.rk-med-intro strong {
    color: var(--rk-med-title);
}

/* Interfejs Wyboru (Zastępuje nudną tabelę) */
.rk-med-dashboard {
    padding: 40px;
}

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

.rk-med-btn {
    background: var(--rk-med-panel);
    border: 2px solid transparent;
    border-radius: 12px;
    padding: 15px;
    color: var(--rk-med-text);
    cursor: pointer;
    text-align: left;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    gap: 5px;
}

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

.rk-med-btn.active {
    background: rgba(6, 182, 212, 0.1);
    border-color: var(--rk-med-primary);
}

.rk-med-btn.active[data-med="glikol"] {
    background: rgba(139, 92, 246, 0.1);
    border-color: var(--rk-med-glycol);
}

.rk-med-btn.active[data-med="kran"] {
    background: rgba(239, 68, 68, 0.1);
    border-color: var(--rk-med-danger);
}

.rk-med-btn-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-med-title);
}

.rk-med-btn-sub {
    font-size: 12px;
    color: #94a3b8;
}

/* Siatka Wyników Parametrów */
.rk-med-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.rk-metric-card {
    background: var(--rk-med-panel);
    border: 1px solid var(--rk-med-border);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}

.rk-metric-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--rk-med-border);
    transition: background 0.3s;
}

.rk-metric-card.highlight::before {
    background: var(--rk-med-primary);
}

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

.rk-metric-value {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-med-title);
    transition: color 0.3s;
}

/* Wizualizacja Przepływu (SVG) */
.rk-med-visual {
    background: #000000;
    border-radius: 12px;
    border: 1px solid var(--rk-med-border);
    margin-bottom: 30px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.rk-med-visual-label {
    position: absolute;
    top: 10px;
    left: 15px;
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    z-index: 2;
}

.rk-pipe {
    width: 80%;
    height: 40px;
    background: #1e293b;
    border: 2px solid #475569;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

.rk-flow-layer {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 200%;
    background-image: repeating-linear-gradient(
        -45deg,
        rgba(255,255,255,0.1) 0px,
        rgba(255,255,255,0.1) 10px,
        transparent 10px,
        transparent 20px
    );
    transition: all 0.5s ease;
}

/* Wyjątki (Monobloki) */
.rk-med-exceptions {
    padding: 30px 40px 40px;
    background: #1e293b;
    border-top: 1px solid var(--rk-med-border);
}

.rk-med-exceptions h4 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-med-title);
    margin: 0 0 15px 0;
}

.rk-med-exceptions p {
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

/* Animacje przepływu dla konkretnych mediów */
.flow-kran { background-color: #713f12; animation: moveFlow 3s linear infinite; }
.flow-demin { background-color: #38bdf8; animation: moveFlow 1.5s linear infinite; }
.flow-inhib { background-color: #06b6d4; animation: moveFlow 1s linear infinite; }
.flow-glikol { background-color: #8b5cf6; animation: moveFlow 5s linear infinite; } /* Bardzo wolny i lepki */

@keyframes moveFlow {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@media (max-width: 768px) {
    .rk-med-header, .rk-med-dashboard, .rk-med-exceptions { padding: 25px 20px; }
    .rk-med-selector { grid-template-columns: 1fr 1fr; gap: 10px; }
    .rk-med-metrics { grid-template-columns: 1fr; }
    .rk-med-header h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-medium",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Woda demineralizowana czy glikol do ogrzewania podłogowego",
    "description": "Techniczne porównanie ciepła właściwego, lepkości kinematycznej i wpływu na pompę obiegową pomiędzy glikolem a wodą z inhibitorem w domach całorocznych.",
    "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-10",
    "dateModified": "2026-06-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-medium",
    "name": "Porównanie właściwości fizykochemicznych płynów instalacyjnych",
    "description": "Kluczowe dane fizyczne wpływające na opory hydrauliczne i efektywność (COP) układu zamkniętego pompy ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "glikol w pompie ciepła monoblok",
      "lepkość kinematyczna glikolu a pompa obiegowa",
      "ciepło właściwe wody demineralizowanej",
      "przewodność elektryczna wody w c.o.",
      "spadek COP przy glikolu"
    ],
    "measurementTechnique": "Określenie parametrów termodynamicznych (ciepło właściwe w kJ/(kg·K)) oraz hydraulicznych (lepkość w mm2/s) dla temperatury 30°C.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Woda z inhibitorem: 4,18 kJ/(kg·K), 0,81 mm²/s, COP: Optymalne",
        "Glikol propylenowy 35%: 3,52 kJ/(kg·K), 2,45 mm²/s, COP: Spadek 3-5%"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-medium",
    "name": "Interaktywny Analizator Parametrów Mediów Grzewczych",
    "description": "Wizualny panel kontrolny do szybkiego porównywania lepkości, przewodności, pH i wpływu na koszty pompowania dla różnych czynników grzewczych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-med-container" id="media-analyzer-app">
    <div class="rk-med-header">
        <h3>Parametry i Opory Hydrauliczne</h3>
        <h2>Woda demineralizowana z inhibitorem czy glikol – co wybrać do domu całorocznego?</h2>
        <p class="rk-med-intro">
            Do standardowego domu całorocznego jedynym słusznym wyborem jest woda demineralizowana z inhibitorem korozji. Posiada ona optymalne <strong>ciepło właściwe (4,19 kJ/(kg·K))</strong> i bardzo niską <strong>lepkość kinematyczną (0,80 mm²/s)</strong>. Glikol propylenowy podnosi opory hydrauliczne instalacji aż o 30-40%. To fizycznie zmusza pompę obiegową do pracy na najwyższym biegu, generując zużycie prądu wyższe o 40 - 80 kWh rocznie i drastycznie skracając jej żywotność.
        </p>
    </div>

    <div class="rk-med-dashboard">
        <div class="rk-med-selector">
            <button class="rk-med-btn" data-med="kran">
                <span class="rk-med-btn-title">Woda kranowa</span>
                <span class="rk-med-btn-sub">Surowa</span>
            </button>
            <button class="rk-med-btn" data-med="demin">
                <span class="rk-med-btn-title">Czysta demineral.</span>
                <span class="rk-med-btn-sub">Bez bufora</span>
            </button>
            <button class="rk-med-btn active" data-med="inhib">
                <span class="rk-med-btn-title">Demin + Inhibitor</span>
                <span class="rk-med-btn-sub">Rekomendowane</span>
            </button>
            <button class="rk-med-btn" data-med="glikol">
                <span class="rk-med-btn-title">Glikol (35%)</span>
                <span class="rk-med-btn-sub">Antyzamrożeniowy</span>
            </button>
        </div>

        <div class="rk-med-visual">
            <div class="rk-med-visual-label">Wizualizacja lepkości i oporów tłoczenia (30°C)</div>
            <div class="rk-pipe">
                <div class="rk-flow-layer flow-inhib" id="flowAnimator"></div>
            </div>
        </div>

        <div class="rk-med-metrics">
            <div class="rk-metric-card" id="cardCond">
                <div class="rk-metric-label">Przewodność elektr.</div>
                <div class="rk-metric-value" id="valCond">&lt; 10 μS/cm</div>
            </div>
            <div class="rk-metric-card" id="cardPh">
                <div class="rk-metric-label">Odczyn pH</div>
                <div class="rk-metric-value" id="valPh">8,5 – 9,5 (stabilny)</div>
            </div>
            <div class="rk-metric-card" id="cardHeat">
                <div class="rk-metric-label">Ciepło właściwe</div>
                <div class="rk-metric-value" id="valHeat">4,18 kJ/(kg·K)</div>
            </div>
            <div class="rk-metric-card" id="cardVisc">
                <div class="rk-metric-label">Lepkość kinemat.</div>
                <div class="rk-metric-value" id="valVisc">0,81 mm²/s</div>
            </div>
            <div class="rk-metric-card" id="cardFreeze">
                <div class="rk-metric-label">Ochrona przed mrozem</div>
                <div class="rk-metric-value" id="valFreeze">ok. -2°C</div>
            </div>
            <div class="rk-metric-card highlight" id="cardCop">
                <div class="rk-metric-label">Wpływ na pompę (COP)</div>
                <div class="rk-metric-value" id="valCop" style="color: var(--rk-med-success);">Optymalny (100%)</div>
            </div>
        </div>
    </div>

    <div class="rk-med-exceptions">
        <h4>Kiedy glikol jest bezwzględnie konieczny?</h4>
        <p>
            Stosowanie roztworu glikolu propylenowego jest inżynieryjnie uzasadnione wyłącznie w dwóch skrajnych przypadkach: w <strong>domach letniskowych</strong> użytkowanych okresowo zimą (gdzie zład zamarznie przy braku prądu) oraz w układach z pompami ciepła typu <strong>monoblok</strong> (gdzie zład wodny wyprowadzony jest na zewnątrz budynku i nie ma zasilania awaryjnego). W klasycznym układzie typu split, lub monobloku wyposażonym w mechaniczne zawory antyzamrożeniowe, zalewanie 150 litrów podłogówki gęstym glikolem to czysty błąd ekonomiczny i strata na wydajności rzędu 5%.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const data = {
        'kran': {
            cond: '500–800 μS/cm', ph: '7,2 – 7,8 (zmienny)', heat: '4,19 kJ/(kg·K)', visc: '0,80 mm²/s', freeze: '0°C', cop: 'Spadek o 5-10%', copColor: 'var(--rk-med-danger)', flowClass: 'flow-kran'
        },
        'demin': {
            cond: '< 2 μS/cm', ph: '5,5 – 6,5 (kwaśny)', heat: '4,19 kJ/(kg·K)', visc: '0,80 mm²/s', freeze: '0°C', cop: 'Spadek (korozja)', copColor: 'var(--rk-med-danger)', flowClass: 'flow-demin'
        },
        'inhib': {
            cond: '< 10 μS/cm', ph: '8,5 – 9,5 (stabilny)', heat: '4,18 kJ/(kg·K)', visc: '0,81 mm²/s', freeze: 'ok. -2°C', cop: 'Optymalny (100%)', copColor: 'var(--rk-med-success)', flowClass: 'flow-inhib'
        },
        'glikol': {
            cond: '> 100 μS/cm', ph: '7,5 – 8,5', heat: '3,52 kJ/(kg·K)', visc: '2,45 mm²/s', freeze: 'do -20°C', cop: 'Spadek o 3-5%', copColor: '#f59e0b', flowClass: 'flow-glikol'
        }
    };

    const btns = document.querySelectorAll('.rk-med-btn');
    const flowAnim = document.getElementById('flowAnimator');
    
    // DOM Elements
    const vCond = document.getElementById('valCond');
    const vPh = document.getElementById('valPh');
    const vHeat = document.getElementById('valHeat');
    const vVisc = document.getElementById('valVisc');
    const vFreeze = document.getElementById('valFreeze');
    const vCop = document.getElementById('valCop');
    const cardCop = document.getElementById('cardCop');

    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            // Remove active classes
            btns.forEach(b => b.classList.remove('active'));
            // Add active
            btn.classList.add('active');

            const medType = btn.getAttribute('data-med');
            const medData = data[medType];

            // Update Text
            vCond.textContent = medData.cond;
            vPh.textContent = medData.ph;
            vHeat.textContent = medData.heat;
            vVisc.textContent = medData.visc;
            vFreeze.textContent = medData.freeze;
            vCop.textContent = medData.cop;
            vCop.style.color = medData.copColor;

            // Change highlight color dynamically based on medium
            if (medType === 'inhib') {
                cardCop.style.setProperty('--rk-med-primary', 'var(--rk-med-success)');
            } else if (medType === 'glikol') {
                cardCop.style.setProperty('--rk-med-primary', '#f59e0b');
            } else {
                cardCop.style.setProperty('--rk-med-primary', 'var(--rk-med-danger)');
            }

            // Update Flow Animation
            flowAnim.className = 'rk-flow-layer ' + medData.flowClass;
        });
    });
});
</script>



<style>
:root {
    --rk-vol-bg: #090e17;
    --rk-vol-panel: #131c2d;
    --rk-vol-panel-hover: #1b263b;
    --rk-vol-border: #2a374f;
    --rk-vol-text: #94a3b8;
    --rk-vol-title: #f8fafc;
    --rk-vol-accent: #38bdf8;
    --rk-vol-green: #10b981;
    --rk-vol-highlight: #0ea5e9;
    --rk-vol-cta: #0284c7;
}

.rk-vol-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-vol-bg);
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
    border: 1px solid var(--rk-vol-border);
    color: var(--rk-vol-text);
    overflow: hidden;
}

/* Sekcja Opisowa */
.rk-vol-header {
    padding: 40px 40px 30px;
    background: linear-gradient(180deg, #131c2d 0%, #090e17 100%);
    border-bottom: 1px solid var(--rk-vol-border);
}

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

.rk-vol-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-vol-accent);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-vol-intro {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 0;
}

.rk-vol-intro a {
    color: var(--rk-vol-accent);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-vol-border);
    transition: all 0.2s;
}

.rk-vol-intro a:hover {
    color: var(--rk-vol-highlight);
    border-bottom-color: var(--rk-vol-highlight);
}

/* Interaktywny Kalkulator */
.rk-vol-calc-wrapper {
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 40px;
}

.rk-calc-inputs {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

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

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

.rk-input-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-vol-title);
}

.rk-input-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-vol-accent);
    background: rgba(56, 189, 248, 0.1);
    padding: 4px 12px;
    border-radius: 6px;
    min-width: 80px;
    text-align: right;
}

.rk-range-slider {
    width: 100%;
    -webkit-appearance: none;
    height: 6px;
    background: var(--rk-vol-border);
    border-radius: 3px;
    outline: none;
}

.rk-range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-vol-accent);
    cursor: pointer;
    border: 3px solid var(--rk-vol-bg);
    box-shadow: 0 0 10px rgba(56, 189, 248, 0.3);
    transition: transform 0.1s;
}

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

/* Wyniki Kalkulatora */
.rk-calc-outputs {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-output-card {
    background: var(--rk-vol-panel);
    border: 1px solid var(--rk-vol-border);
    border-radius: 12px;
    padding: 25px;
    position: relative;
    overflow: hidden;
}

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

.rk-output-card.primary::before { background: var(--rk-vol-green); }

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

.rk-output-val {
    font-size: 36px;
    font-weight: 900;
    color: var(--rk-vol-title);
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.rk-output-unit {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-vol-text);
}

.rk-output-card.primary .rk-output-val { color: var(--rk-vol-green); }

/* Algorytm i Teoria */
.rk-vol-theory {
    padding: 0 40px 40px;
}

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

.rk-theory-box {
    background: var(--rk-vol-panel);
    border: 1px solid var(--rk-vol-border);
    border-radius: 12px;
    padding: 25px;
}

.rk-theory-box h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-vol-title);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-step-badge {
    background: rgba(56, 189, 248, 0.1);
    color: var(--rk-vol-accent);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.rk-formula {
    background: #090e17;
    padding: 12px 15px;
    border-radius: 6px;
    font-family: monospace;
    font-size: 14px;
    color: var(--rk-vol-green);
    border: 1px solid var(--rk-vol-border);
    margin-bottom: 10px;
    word-break: break-all;
}

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

/* Praktyczny Przykład */
.rk-vol-example {
    margin: 0 40px 40px;
    padding: 30px;
    background: rgba(16, 185, 129, 0.05);
    border: 1px dashed var(--rk-vol-green);
    border-radius: 12px;
}

.rk-vol-example h4 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-vol-green);
    margin: 0 0 15px 0;
}

.rk-vol-example ul {
    margin: 0 0 15px 0;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.7;
}

.rk-vol-example li strong {
    color: var(--rk-vol-title);
}

.rk-vol-example p {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-vol-title);
    padding-top: 15px;
    border-top: 1px solid rgba(16, 185, 129, 0.2);
}

/* Mocne CTA */
.rk-vol-cta {
    background: linear-gradient(135deg, var(--rk-vol-cta) 0%, #0369a1 100%);
    padding: 40px;
    text-align: center;
    color: #ffffff;
}

.rk-cta-headline {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 15px 0;
}

.rk-cta-desc {
    font-size: 16px;
    line-height: 1.6;
    margin: 0 auto 30px;
    max-width: 700px;
    color: #e0f2fe;
}

.rk-btn-solid {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    color: var(--rk-vol-cta);
    font-size: 16px;
    font-weight: 800;
    padding: 18px 36px;
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-btn-solid:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 25px rgba(0,0,0,0.3);
    background: #f8fafc;
}

@media (max-width: 768px) {
    .rk-vol-header, .rk-vol-calc-wrapper, .rk-vol-theory, .rk-vol-example, .rk-vol-cta { padding: 25px 20px; }
    .rk-vol-calc-wrapper { grid-template-columns: 1fr; gap: 30px; }
    .rk-theory-grid { grid-template-columns: 1fr; }
    .rk-vol-header h2 { font-size: 22px; }
    .rk-output-val { font-size: 28px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Jak obliczyć ilość wody i inhibitora do instalacji podłogówki? [Kalkulator i Algorytm]",
    "description": "Profesjonalny inżynierski algorytm obliczania całkowitej pojemności zładu wodnego ogrzewania podłogowego. Interaktywny kalkulator litrażu dla rur PEX/PERT, buforów ciepła i rozdzielaczy.",
    "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-10",
    "dateModified": "2026-06-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-kalkulator",
    "name": "Parametry pojemności wodnej elementów instalacji C.O.",
    "description": "Zestawienie stałych fizycznych i wzorów matematycznych potrzebnych do wyliczenia kubatury czynnika grzewczego w układach niskotemperaturowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile litrów wody wchodzi w 100m rury pex 16",
      "pojemność zładu podłogówki",
      "stężenie inhibitora korozji",
      "pojemność wodna ogrzewania podłogowego kalkulator",
      "objętość wody w buforze ciepła"
    ],
    "measurementTechnique": "Wykorzystanie wzoru na objętość walca V = π × r² × h do określenia jednostkowej pojemności rury 16x2 mm na poziomie 0,113 litra na 1 metr bieżący.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Jednostkowa pojemność rury 16x2: 0,113 l/m",
        "Średnia pojemność sekcji rozdzielacza: 0,5 l",
        "Zalecane stężenie inhibitora: 1,5% zładu całkowitego"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-kalkulator",
    "name": "Kalkulator Zładu Wody i Inhibitora Ogrzewania Podłogowego",
    "description": "Interaktywna aplikacja webowa w czasie rzeczywistym sumująca objętości rur, buforów, rozdzielaczy i źródła ciepła, aby precyzyjnie wyliczyć dawkę chemii zabezpieczającej.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-vol-container" id="volume-calc-app">
    <div class="rk-vol-header">
        <h3>Inżynieria i Obliczenia Zładu</h3>
        <h2>Jak obliczyć ilość wody i inhibitora do instalacji podłogówki? [Kalkulator i Algorytm]</h2>
        <p class="rk-vol-intro">
            Aby precyzyjnie ustalić wymaganą dawkę chemii grzewczej, musimy poznać dokładną objętość płynu w całym układzie (V<sub>zład</sub>). Wymaga to zsumowania objętości rur, <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielaczy do podłogówki</a>, <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufora ciepła</a> oraz wymiennika w pompie ciepła. Poniższy kalkulator bazuje na wiedzy o tym, <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">ile wody mieści się w 1 metrze rury PEX/PERT 16x2 mm</a>.
        </p>
    </div>

    <div class="rk-vol-calc-wrapper">
        <div class="rk-calc-inputs">
            <div class="rk-input-group">
                <div class="rk-input-header">
                    <span class="rk-input-label">Łączna długość rur PEX/PERT 16x2</span>
                    <span class="rk-input-val"><span id="valLength">1100</span> m</span>
                </div>
                <input type="range" id="sliderLength" class="rk-range-slider" min="100" max="3000" step="50" value="1100">
            </div>

            <div class="rk-input-group">
                <div class="rk-input-header">
                    <span class="rk-input-label">Pojemność bufora ciepła / sprzęgła</span>
                    <span class="rk-input-val"><span id="valBuffer">40</span> l</span>
                </div>
                <input type="range" id="sliderBuffer" class="rk-range-slider" min="0" max="500" step="10" value="40">
            </div>

            <div class="rk-input-group">
                <div class="rk-input-header">
                    <span class="rk-input-label">Liczba pętli (sekcji na rozdzielaczach)</span>
                    <span class="rk-input-val"><span id="valLoops">14</span> szt.</span>
                </div>
                <input type="range" id="sliderLoops" class="rk-range-slider" min="2" max="30" step="1" value="14">
            </div>
            
            <div class="rk-input-group">
                <div class="rk-input-header">
                    <span class="rk-input-label">Pojemność pompy ciepła / kotła</span>
                    <span class="rk-input-val"><span id="valBoiler">5</span> l</span>
                </div>
                <input type="range" id="sliderBoiler" class="rk-range-slider" min="0" max="30" step="1" value="5">
            </div>
        </div>

        <div class="rk-calc-outputs">
            <div class="rk-output-card">
                <div class="rk-output-label">Całkowity zład wody (V zład)</div>
                <div class="rk-output-val"><span id="outTotal">176.3</span> <span class="rk-output-unit">litrów</span></div>
            </div>
            
            <div class="rk-output-card primary">
                <div class="rk-output-label">Wymagany koncentrat inhibitora (1.5%)</div>
                <div class="rk-output-val"><span id="outInhibitor">2.64</span> <span class="rk-output-unit">litra</span></div>
            </div>

            <div class="rk-output-card">
                <div class="rk-output-label">Woda demineralizowana (do wymieszania)</div>
                <div class="rk-output-val"><span id="outDemin">173.7</span> <span class="rk-output-unit">litra</span></div>
            </div>
        </div>
    </div>

    <div class="rk-vol-theory">
        <div class="rk-theory-grid">
            <div class="rk-theory-box">
                <h4><span class="rk-step-badge">1</span> Objętość jednostkowa rury</h4>
                <div class="rk-formula">V_m = π × (d_wew / 2)² × 1 m</div>
                <p>Dla rury PEX 16x2 mm średnica wewnętrzna (d_wew) wynosi dokładnie 12 mm (0,012 m). Podstawiając do wzoru, otrzymujemy: <strong>0,113 litra na metr bieżący</strong> (l/m).</p>
            </div>
            
            <div class="rk-theory-box">
                <h4><span class="rk-step-badge">2</span> Objętość wężownic</h4>
                <div class="rk-formula">V_rur = L × 0,113 l/m</div>
                <p>Mnożymy całkowitą długość instalacji ułożonej w jastrychu przez wyliczoną pojemność jednostkową, aby uzyskać dokładny litraż samych pętli grzewczych.</p>
            </div>

            <div class="rk-theory-box">
                <h4><span class="rk-step-badge">3</span> Pojemność całkowita zładu</h4>
                <div class="rk-formula">V_zład = V_rur + V_buf + V_roz + V_wym</div>
                <p>Do litrażu rur dodajemy bufor (V_buf), pojemność belek rozdzielacza (V_roz - ok. 0,5 l na sekcję) oraz pojemność skraplacza źródła ciepła (V_wym).</p>
            </div>

            <div class="rk-theory-box">
                <h4><span class="rk-step-badge">4</span> Dozowanie inhibitora</h4>
                <div class="rk-formula">V_inh = V_zład × 0,015</div>
                <p>Producenci profesjonalnej chemii grzewczej zalecają utrzymanie stężenia na poziomie <strong>1.5%</strong>. Dawka ta gwarantuje powstanie ciągłej warstwy antykorozyjnej.</p>
            </div>
        </div>
    </div>

    <div class="rk-vol-example">
        <h4>Przykład praktycznego wyliczenia dla domu 150 m²</h4>
        <ul>
            <li>Zapotrzebowanie na rurę (rozstaw 10/15 cm): <strong>L = 1100 m</strong></li>
            <li>Pojemność wodna samych rur: 1100 m × 0,113 l/m = <strong>124,3 l</strong></li>
            <li>Pojemność bufora ciepła (V_buf): <strong>40 l</strong></li>
            <li>Rozdzielacze (14 sekcji × 0,5 l): <strong>7 l</strong></li>
            <li>Pojemność wymiennika pompy ciepła (V_wym): <strong>5 l</strong></li>
        </ul>
        <p>Całkowity zład: 124,3 + 40 + 7 + 5 = 176,3 l. Potrzebujesz więc 177 litrów gotowego płynu demineralizowanego lub 173,6 litra wody demin. + 2,64 litra koncentratu.</p>
    </div>

    <div class="rk-vol-cta">
        <h3 class="rk-cta-headline">Masz dość zgadywania i "liczenia na oko"?</h3>
        <p class="rk-cta-desc">Rzetelne obliczenia pojemności wodnej i oporów to fundament profesjonalnego układu. Zleć to inżynierom, którzy na co dzień projektują bezawaryjne instalacje dla pomp ciepła.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-solid">
            Zamów profesjonalny projekt instalacji ogrzewania podłogowego
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Inputs
    const sliderLength = document.getElementById('sliderLength');
    const sliderBuffer = document.getElementById('sliderBuffer');
    const sliderLoops = document.getElementById('sliderLoops');
    const sliderBoiler = document.getElementById('sliderBoiler');

    // Values Displays
    const valLength = document.getElementById('valLength');
    const valBuffer = document.getElementById('valBuffer');
    const valLoops = document.getElementById('valLoops');
    const valBoiler = document.getElementById('valBoiler');

    // Outputs
    const outTotal = document.getElementById('outTotal');
    const outInhibitor = document.getElementById('outInhibitor');
    const outDemin = document.getElementById('outDemin');

    function calculateVolume() {
        // Read values
        const length = parseInt(sliderLength.value);
        const buffer = parseInt(sliderBuffer.value);
        const loops = parseInt(sliderLoops.value);
        const boiler = parseInt(sliderBoiler.value);

        // Update displays
        valLength.textContent = length;
        valBuffer.textContent = buffer;
        valLoops.textContent = loops;
        valBoiler.textContent = boiler;

        // Math
        // Vrur = L * 0.113
        const vRur = length * 0.113;
        // Vroz = loops * 0.5
        const vRoz = loops * 0.5;
        // Total
        const totalVolume = vRur + buffer + vRoz + boiler;
        
        // Inhibitor (1.5%)
        const inhibitor = totalVolume * 0.015;
        const demin = totalVolume - inhibitor;

        // Update outputs
        outTotal.textContent = totalVolume.toFixed(1);
        outInhibitor.textContent = inhibitor.toFixed(2);
        outDemin.textContent = demin.toFixed(1);
    }

    // Event Listeners
    sliderLength.addEventListener('input', calculateVolume);
    sliderBuffer.addEventListener('input', calculateVolume);
    sliderLoops.addEventListener('input', calculateVolume);
    sliderBoiler.addEventListener('input', calculateVolume);

    // Initial calculation
    calculateVolume();
});
</script>



<style>
:root {
    --rk-man-dark: #0f172a;
    --rk-man-navy: #1e293b;
    --rk-man-navy-light: #334155;
    --rk-man-blue: #0284c7;
    --rk-man-blue-light: #e0f2fe;
    --rk-man-accent: #0ea5e9;
    --rk-man-border: #475569;
    --rk-man-text: #cbd5e1;
    --rk-man-title: #f8fafc;
    --rk-man-success: #10b981;
}

.rk-man-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-man-dark);
    border-radius: 12px;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.4);
    border: 1px solid var(--rk-man-border);
    color: var(--rk-man-text);
    overflow: hidden;
}

/* Sekcja Opisowa */
.rk-man-header {
    padding: 40px 40px 30px;
    background: var(--rk-man-navy);
    border-bottom: 1px solid var(--rk-man-border);
}

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

.rk-man-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-man-accent);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-man-intro {
    font-size: 15px;
    line-height: 1.7;
    color: #94a3b8;
    margin-bottom: 0;
}

.rk-man-intro strong {
    color: var(--rk-man-title);
}

/* Interfejs Kroków (Tabulatory) */
.rk-man-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: var(--rk-man-navy-light);
    border-bottom: 1px solid var(--rk-man-border);
}

.rk-man-tab {
    padding: 20px;
    text-align: center;
    background: transparent;
    border: none;
    border-right: 1px solid var(--rk-man-border);
    border-bottom: 3px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    color: #94a3b8;
}

.rk-man-tab:last-child {
    border-right: none;
}

.rk-man-tab:hover {
    background: rgba(255,255,255,0.02);
    color: var(--rk-man-title);
}

.rk-man-tab.active {
    background: var(--rk-man-dark);
    color: var(--rk-man-accent);
    border-bottom-color: var(--rk-man-accent);
}

.rk-tab-num {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
    display: block;
}

.rk-tab-name {
    font-size: 16px;
    font-weight: 700;
}

/* Obszar Treści Procedury */
.rk-man-content-area {
    padding: 40px;
}

.rk-man-step-content {
    display: none;
    animation: fadeIn 0.3s ease-out;
}

.rk-man-step-content.active {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 35px;
}

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

.rk-step-text h4 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-man-title);
    margin: 0 0 20px 0;
}

.rk-step-text p {
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 15px 0;
}

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

.rk-step-text a {
    color: var(--rk-man-accent);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-man-accent);
    transition: all 0.2s;
}

.rk-step-text a:hover {
    color: #7dd3fc;
    border-bottom-style: solid;
}

/* Parametry Inżynierskie (Boks boczny) */
.rk-man-params {
    background: var(--rk-man-navy);
    border-radius: 8px;
    border: 1px solid var(--rk-man-border);
    padding: 25px;
    height: fit-content;
}

.rk-params-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #64748b;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--rk-man-border);
}

.rk-param-row {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}

.rk-param-row:last-child {
    margin-bottom: 0;
}

.rk-param-label {
    font-size: 13px;
    color: #94a3b8;
    margin-bottom: 4px;
}

.rk-param-value {
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-man-title);
}

.rk-param-value.highlight {
    color: var(--rk-man-success);
}

@media (max-width: 768px) {
    .rk-man-header, .rk-man-content-area { padding: 25px; }
    .rk-man-tabs { grid-template-columns: 1fr; border-bottom: none; }
    .rk-man-tab { border-right: none; border-bottom: 1px solid var(--rk-man-border); border-left: 3px solid transparent; text-align: left; }
    .rk-man-tab.active { border-bottom: 1px solid var(--rk-man-border); border-left-color: var(--rk-man-accent); }
    .rk-man-step-content.active { grid-template-columns: 1fr; gap: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-procedura",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Procedura napełniania instalacji ogrzewania podłogowego krok po kroku",
    "description": "Techniczny algorytm napełniania układu zładu: od dynamicznego płukania instalacji, przez wprowadzanie wody z inhibitorem za pomocą stacji tłocznej, aż po wykonanie ciśnieniowej próby szczelności podłogówki na 3.0 bar zgodnie z normą PN-EN 1264-4.",
    "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-10",
    "dateModified": "2026-06-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-procedura",
    "name": "Kluczowe parametry inżynierskie dla płukania i napełniania układów grzewczych",
    "description": "Zestawienie wytycznych technicznych dotyczących ciśnień roboczych, testowych oraz normatywnych rygorów szczelności dla instalacji ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "stacja napełniająca do ogrzewania podłogowego",
      "ciśnienie próbne podłogówki 3 bary",
      "norma PN-EN 1264-4 próba szczelności",
      "dynamiczne płukanie pętli grzewczych",
      "jak odpowietrzyć układ podłogowy z pompą ciepła"
    ],
    "measurementTechnique": "Manometryczny pomiar spadku ciśnienia w zamkniętym zładzie wodnym. Granica błędu według normy to maksymalnie 0.2 bar na 24 godziny.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Metoda płukania: Dynamiczna, sekwencyjna (jedna pętla naraz).",
        "Sposób wprowadzania czynnika: Tłoczenie z zewnętrznego zbiornika stacji, wypieranie cieczy płuczącej.",
        "Ciśnienie testowe (próba szczelności): 3.0 bar (czas trwania: 24 godziny).",
        "Dopuszczalny spadek ciśnienia: < 0.2 bar.",
        "Docelowe ciśnienie robocze zładu (zimnego): 1.5 bar."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-procedura",
    "name": "Interaktywny Przewodnik: Procedura Napełniania Instalacji Grzewczej",
    "description": "Narzędzie techniczne w formie interaktywnej check-listy z podziałem na etapy płukania wstępnego, aplikacji chemii i prób ciśnieniowych z parametrami kontrolnymi przypisanymi do każdego kroku.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-man-container" id="fill-manual-app">
    <div class="rk-man-header">
        <h3>Technologia i Montaż</h3>
        <h2>Procedura napełniania instalacji ogrzewania podłogowego krok po kroku</h2>
        <p class="rk-man-intro">
            Prawidłowe napełnianie instalacji płynem specjalistycznym to proces, który diametralnie różni się od amatorskiego, klasycznego „dobijania” ciśnienia wodą z kranu. Bezpieczne i skuteczne wykonanie tej procedury wymaga zastosowania <strong>profesjonalnej stacji napełniającej do instalacji grzewczych</strong> wyposażonej w zewnętrzną pompę wysokociśnieniową oraz filtr mechaniczny. Taki sprzęt eliminuje ryzyko wpompowania nasyconego powietrza oraz zanieczyszczeń do zładu współpracującego z pompą ciepła.
        </p>
    </div>

    <div class="rk-man-tabs">
        <button class="rk-man-tab active" data-step="1">
            <span class="rk-tab-num">Krok 1</span>
            <span class="rk-tab-name">Płukanie Wstępne</span>
        </button>
        <button class="rk-man-tab" data-step="2">
            <span class="rk-tab-num">Krok 2</span>
            <span class="rk-tab-name">Wtłaczanie Chemii</span>
        </button>
        <button class="rk-man-tab" data-step="3">
            <span class="rk-tab-num">Krok 3</span>
            <span class="rk-tab-name">Próba i Odpowietrzenie</span>
        </button>
    </div>

    <div class="rk-man-content-area">
        
        <div class="rk-man-step-content active" id="man-step-1">
            <div class="rk-step-text">
                <h4>Dynamiczne płukanie sekwencyjne</h4>
                <p>
                    Przed wprowadzeniem docelowego, drogiego płynu ochronnego, każda pętla instalacji musi zostać precyzyjnie przepłukana czystą wodą sieciową. Dynamiczne płukanie pętli grzewczych po montażu ma na celu całkowite usunięcie zanieczyszczeń montażowych: wiórów z docinania rur PEX/PERT, resztek pakułów, piasku oraz kurzu budowlanego.
                </p>
                <p>
                    Procedura polega na zamknięciu wszystkich sekcji na rozdzielaczu, oprócz pierwszej. Wodę płuczemy tak długo, aż z rury zrzutowej zacznie wypływać idealnie klarowna, pozbawiona drobin woda. Tę czynność powtarzamy sekwencyjnie, otwierając i zamykając każdą z kilkunastu pętli osobno. Brak zachowania tego rygoru doprowadzi bardzo szybko do <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">zablokowania rotametrów na powrocie</a> oraz zapieczenia wkładów zaworowych.
                </p>
            </div>
            <div class="rk-man-params">
                <div class="rk-params-title">Parametry Etapu 1</div>
                <div class="rk-param-row">
                    <span class="rk-param-label">Typ płukania</span>
                    <span class="rk-param-value">Dynamiczne, pod ciśnieniem sieci</span>
                </div>
                <div class="rk-param-row">
                    <span class="rk-param-label">Tryb otwarcia pętli</span>
                    <span class="rk-param-value highlight">Sekwencyjny (Tylko 1 otwarta)</span>
                </div>
                <div class="rk-param-row">
                    <span class="rk-param-label">Cel kluczowy</span>
                    <span class="rk-param-value">Usunięcie ciał stałych i opiłków</span>
                </div>
            </div>
        </div>

        <div class="rk-man-step-content" id="man-step-2">
            <div class="rk-step-text">
                <h4>Wprowadzenie wody demineralizowanej z inhibitorem</h4>
                <p>
                    Do zasobnika zewnętrznej stacji napełniającej wlewamy fabrycznie przygotowany, gotowy płyn grzewczy. Następnie podłączamy wąż tłoczny stacji bezpośrednio do zaworu spustowo-napełniającego zlokalizowanego na belce zasilającej rozdzielacza. Drugi wąż, z belki powrotnej, kierujemy jako odpływowy do pojemnika zwrotnego stacji.
                </p>
                <p>
                    Rozpoczynamy wtłaczanie wody demineralizowanej z inhibitorem do pierwszej otwartej pętli. Tłoczona chemia fizycznie wypycha przed sobą resztki czystej wody z płukania wstępnego. Obserwujemy strumień powrotny. Dopiero w momencie, gdy barwa płynu, jego gęstość i klarowność na powrocie są w 100% identyczne z parametrami zasilania płynu z zasobnika stacji, zamykamy tę pętlę i przechodzimy do kolejnej obwodu, co zapewnia pełne zabezpieczenie układu zamkniętego pompy ciepła przed rozcieńczeniem inhibitora.
                </p>
            </div>
            <div class="rk-man-params">
                <div class="rk-params-title">Parametry Etapu 2</div>
                <div class="rk-param-row">
                    <span class="rk-param-label">Urządzenie tłoczące</span>
                    <span class="rk-param-value">Zewnętrzna stacja napełniająca</span>
                </div>
                <div class="rk-param-row">
                    <span class="rk-param-label">Weryfikacja stężenia</span>
                    <span class="rk-param-value">Ocena wizualna / pomiar brixometrem</span>
                </div>
                <div class="rk-param-row">
                    <span class="rk-param-label">Miejsce podłączenia</span>
                    <span class="rk-param-value">Zawory spustowo-napełniające</span>
                </div>
            </div>
        </div>

        <div class="rk-man-step-content" id="man-step-3">
            <div class="rk-step-text">
                <h4>Ciśnieniowa próba szczelności i odpowietrzenie pompy</h4>
                <p>
                    Gdy cały układ zostanie nasycony odpowiednim medium, natychmiast zamykamy zawory zrzutowe. Przy użyciu stacji dobijamy ciśnienie płynu grzewczego do wartości dokładnie <strong>3.0 bar</strong>. Rozpoczyna się ciśnieniowa próba szczelności podłogówki realizowana w oparciu o <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">wytyczne inżynierskie normy PN-EN 1264-4</a>.
                </p>
                <p>
                    Manometr obserwujemy skrupulatnie przez 24 godziny. Ze względu na wahania temperatury, odczyt może nieznacznie ewoluować, jednak jeżeli po dobie spadek ciśnienia na manometrze jest mniejszy niż 0.2 bar, test uznaje się za pozytywny. Dopiero po tym teście możemy bezpiecznie wylewać jastrych.
                </p>
                <p>
                    Na sam koniec dokonujemy redukcji ciśnienia zładu z próbnego do roboczego poziomu – w nowoczesnych systemach ciśnienie robocze dla zimnego zładu wynosi zazwyczaj 1.5 bar. Wtedy możemy uruchomić serwisowy program pompy ciepła, który sekwencyjnie zrzuca bieg i odpowietrza zład za pomocą automatycznych separatorów powietrza.
                </p>
            </div>
            <div class="rk-man-params">
                <div class="rk-params-title">Parametry Etapu 3 (Norma PN-EN 1264-4)</div>
                <div class="rk-param-row">
                    <span class="rk-param-label">Ciśnienie próbne (Test)</span>
                    <span class="rk-param-value highlight">3.0 bar</span>
                </div>
                <div class="rk-param-row">
                    <span class="rk-param-label">Dopuszczalny spadek</span>
                    <span class="rk-param-value">< 0.2 bar / 24h</span>
                </div>
                <div class="rk-param-row">
                    <span class="rk-param-label">Ciśnienie robocze (Zimne)</span>
                    <span class="rk-param-value">1.5 bar</span>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-man-tab');
    const contents = document.querySelectorAll('.rk-man-step-content');

    tabs.forEach(tab => {
        tab.addEventListener('click', () => {
            const stepId = tab.getAttribute('data-step');

            // Reset Tabs
            tabs.forEach(t => t.classList.remove('active'));
            tab.classList.add('active');

            // Switch Content
            contents.forEach(c => c.classList.remove('active'));
            document.getElementById(`man-step-${stepId}`).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-hydr-bg: #0b1121;
    --rk-hydr-card: #151e32;
    --rk-hydr-card-hover: #1e293b;
    --rk-hydr-border: #334155;
    --rk-hydr-text: #cbd5e1;
    --rk-hydr-title: #f8fafc;
    --rk-hydr-muted: #94a3b8;
    --rk-hydr-accent: #f43f5e;
    --rk-hydr-blue: #38bdf8;
    --rk-hydr-green: #10b981;
}

.rk-hydr-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-hydr-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-hydr-border);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    color: var(--rk-hydr-text);
}

.rk-hydr-header {
    padding: 40px;
    background: linear-gradient(135deg, #0b1121 0%, #151e32 100%);
    border-bottom: 1px solid var(--rk-hydr-border);
}

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

.rk-hydr-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-hydr-accent);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-hydr-intro {
    padding: 30px 40px;
    font-size: 16px;
    line-height: 1.7;
}

.rk-hydr-intro a {
    color: var(--rk-hydr-blue);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-hydr-blue);
    transition: all 0.2s;
}

.rk-hydr-intro a:hover {
    color: #7dd3fc;
    border-bottom-style: solid;
}

/* Panel Interaktywnego Kalkulatora */
.rk-hydr-calculator {
    margin: 10px 40px 30px;
    padding: 30px;
    background: var(--rk-hydr-card);
    border-radius: 12px;
    border: 1px solid var(--rk-hydr-border);
}

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

.rk-calc-controls {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

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

.rk-control-label {
    display: flex;
    justify-content: space-between;
    font-weight: 700;
    font-size: 14px;
    color: var(--rk-hydr-title);
    margin-bottom: 8px;
}

.rk-control-val {
    color: var(--rk-hydr-blue);
}

.rk-input-range {
    width: 100%;
    -webkit-appearance: none;
    height: 6px;
    background: #0f172a;
    border: 1px solid var(--rk-hydr-border);
    border-radius: 3px;
    outline: none;
}

.rk-input-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--rk-hydr-blue);
    cursor: pointer;
    border: 2px solid var(--rk-hydr-bg);
    box-shadow: 0 1px 4px rgba(0,0,0,0.4);
}

/* Przełącznik Medium */
.rk-media-toggle {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #0f172a;
    border: 1px solid var(--rk-hydr-border);
    padding: 4px;
    border-radius: 8px;
    margin-top: 10px;
}

.rk-toggle-btn {
    border: none;
    background: transparent;
    padding: 10px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-hydr-muted);
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s;
    text-align: center;
}

.rk-toggle-btn.active {
    background: var(--rk-hydr-card-hover);
    color: var(--rk-hydr-title);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    border: 1px solid var(--rk-hydr-border);
}

/* Wyniki Hydrauliczne */
.rk-calc-results {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
}

.rk-res-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    background: #0f172a;
    border-radius: 8px;
    border: 1px solid var(--rk-hydr-border);
}

.rk-res-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--rk-hydr-muted);
}

.rk-res-val {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-hydr-title);
}

.rk-res-row.highlight {
    border-left: 4px solid var(--rk-hydr-accent);
}

.rk-res-row.highlight .rk-res-val {
    color: var(--rk-hydr-accent);
}

/* Sekcja z opisem wariantów */
.rk-hydr-variants {
    padding: 0 40px 30px;
}

.rk-hydr-variants h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-hydr-title);
    margin: 0 0 20px 0;
}

.rk-variant-box {
    padding: 20px;
    border: 1px solid var(--rk-hydr-border);
    border-radius: 10px;
    margin-bottom: 15px;
    background: var(--rk-hydr-card);
}

.rk-var-a { border-left: 4px solid var(--rk-hydr-green); background: rgba(16, 185, 129, 0.05); }
.rk-var-b { border-left: 4px solid var(--rk-hydr-accent); background: rgba(244, 63, 94, 0.05); }

.rk-variant-box h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 800;
}

.rk-var-a h4 { color: var(--rk-hydr-green); }
.rk-var-b h4 { color: var(--rk-hydr-accent); }

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

/* Blok Sprzedażowy CTA */
.rk-hydr-cta {
    margin: 20px 40px 40px;
    padding: 35px;
    background: var(--rk-hydr-card);
    border: 1px solid var(--rk-hydr-border);
    border-radius: 12px;
    text-align: center;
    color: #ffffff;
}

.rk-cta-title {
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 12px;
    color: var(--rk-hydr-title);
}

.rk-cta-text {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-hydr-muted);
    max-width: 650px;
    margin: 0 auto 25px;
}

.rk-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--rk-hydr-blue);
    color: #0f172a;
    font-weight: 800;
    font-size: 16px;
    padding: 16px 32px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s;
    box-shadow: 0 4px 12px rgba(56, 189, 248, 0.2);
}

.rk-cta-btn:hover {
    background: #7dd3fc;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(56, 189, 248, 0.3);
}

@media (max-width: 768px) {
    .rk-hydr-header, .rk-hydr-intro, .rk-hydr-calculator, .rk-hydr-variants, .rk-hydr-cta { padding: 25px 20px; margin-left: 15px; margin-right: 15px; }
    .rk-calc-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-hydr-header h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Jak dobór płynu grzewczego wpływa na profesjonalny projekt ogrzewania podłogowego?",
    "description": "Analiza wpływu fizykochemicznych właściwości płynów (gęstość, lepkość kinematyczna) na straty ciśnienia, przepływ masowy oraz dobór pompy obiegowej 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-06-10",
    "dateModified": "2026-06-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-hydraulika",
    "name": "Zależności oporów hydraulicznych i przepływów od rodzaju czynnika grzewczego",
    "description": "Zbiór danych technicznych i wyników obliczeń hydraulicznych dla rury PEX 16x2 mm obrazujący skokowe zmiany strat ciśnienia przy przejściu z roztworu wodnego na glikolowy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "strata ciśnienia w rurze pex",
      "przepływ masowy kg na h",
      "lepkość kinematyczna płynu grzewczego",
      "obliczanie oporów hydraulicznych c.o.",
      "ciepło właściwe wody i glikolu"
    ],
    "measurementTechnique": "Modelowanie matematyczne strat liniowych i miejscowych na podstawie równania Darcy-Weisbacha dla zmiennych fizycznych nośników energii termicznej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Woda z inhibitorem: Ciepło właściwe 4,19 kJ/(kg K), Przepływ masowy dla 1.2 kW = 206 kg/h, Opory hydrauliczne = 14,5 kPa.",
        "Glikol propylenowy 35%: Ciepło właściwe 3,52 kJ/(kg K), Przepływ masowy dla 1.2 kW = 245 kg/h, Opory hydrauliczne = 26,8 kPa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-hydraulika",
    "name": "Kalkulator Przepływu Masowego i Oporów Liniowych Podłogówki",
    "description": "Narzędzie inżynierskie przeliczające na żywo natężenie przepływu płynu oraz jednostkowe straty ciśnienia w funkcji zapotrzebowania na moc termiczną oraz wybranego rodzaju medium.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires Modern Web Browser with JS enabled",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-hydr-container" id="hydraulic-impact-section">
    <div class="rk-hydr-header">
        <h3>Projektowanie i Hydraulika Układów</h3>
        <h2>Jak dobór płynu grzewczego wpływa na profesjonalny projekt ogrzewania podłogowego?</h2>
    </div>

    <div class="rk-hydr-intro">
        <p>
            Dobór medium grzewczego jest parametrem wyjściowym w fazie wykonywania <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeń zapotrzebowania na ciepło OZC</a> oraz projektowania hydrauliki według rygorystycznej <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normy PN-EN 1264</a>. Gęstość oraz lepkość kinematyczna płynu bezpośrednio definiują straty ciśnienia w rurach, co wpływa na gęstość ułożenia przewodów, maksymalną dopuszczalną długość pojedynczej pętli oraz parametry niezbędne do prawidłowego <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowego/">doboru pompy obiegowej</a>.
        </p>
        <p>
            Jeśli w projekcie instalacji hydraulicznej założono wodę demineralizowaną z inhibitorem, projektant przyjmuje standardowe opory liniowe. Przy przepływie masowym wyliczonym z zapotrzebowania na ciepło danego pomieszczenia, strata ciśnienia determinuje, czy dana pętla może mieć bezpieczne 100 metrów, czy musi zostać bezwzględnie podzielona na dwa niezależne obiegi po 50 metrów.
        </p>
    </div>

    <div class="rk-hydr-calculator">
        <div class="rk-calc-grid">
            
            <div class="rk-calc-controls">
                <div class="rk-control-group">
                    <div class="rk-control-label">
                        <span>Zapotrzebowanie na ciepło (Q):</span>
                        <span class="rk-control-val" id="qVal">1.2 kW</span>
                    </div>
                    <input type="range" id="powerInput" class="rk-input-range" min="0.5" max="2.5" step="0.1" value="1.2">
                </div>

                <div class="rk-control-group">
                    <div class="rk-control-label">
                        <span>Wybrane medium grzewcze:</span>
                    </div>
                    <div class="rk-media-toggle">
                        <button type="button" class="rk-toggle-btn active" id="btnWater" onclick="setMedium('water')">Demineral + Inhibitor</button>
                        <button type="button" class="rk-toggle-btn" id="btnGlycol" onclick="setMedium('glycol')">Glikol propylenowy 35%</button>
                    </div>
                </div>
            </div>

            <div class="rk-calc-results">
                <div class="rk-res-row">
                    <span class="rk-res-label">Przepływ masowy czynnika:</span>
                    <span class="rk-res-val" id="resFlow">206 kg/h</span>
                </div>
                <div class="rk-res-row highlight">
                    <span class="rk-res-label">Strata ciśnienia w pętli (100 m):</span>
                    <span class="rk-res-val" id="resDrop">14.5 kPa</span>
                </div>
                <div class="rk-res-row">
                    <span class="rk-res-label">Średni pobór mocy pompy:</span>
                    <span class="rk-res-val" id="resPower">18 W</span>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-hydr-variants">
        <h3>Przykład wpływu zmiany medium na parametry hydrauliczne projektu</h3>
        <p style="font-size: 15px; margin-bottom: 20px; line-height: 1.6;">
            Załóżmy standardową, graniczną pętlę o długości 100 metrów wykonaną z rury wielowarstwowej 16x2 mm, o zapotrzebowaniu cieplnym pomieszczenia wynoszącym dokładnie 1.2 kW przy projektowanym spadku temperatury delta T równym 5 K (zasilanie 35 stopni, powrót 30 stopni). Zobacz, jak diametralnie zmieniają się parametry pracy układu:
        </p>

        <div class="rk-variant-box rk-var-a">
            <h4>Wariant A: Woda demineralizowana z inhibitorem (Standard inżynierski)</h4>
            <p>
                Przepływ masowy wynosi dokładnie 206 kg/h, a prędkość liniowa płynu kształtuje się na poziomie 0,51 m/s. Łączna strata ciśnienia dla tej pętli wynosi bezpieczne 14,5 kPa. Fabryczna, standardowa pompa obiegowa zintegrowana w pompie ciepła pracuje w swoim optymalnym punkcie sprawności na energooszczędnym, drugim biegu, pobierając jedynie 18 W energii elektrycznej.
            </p>
        </div>

        <div class="rk-variant-box rk-var-b">
            <h4>Wariant B: Zmiana bez wiedzy projektanta na Glikol propylenowy 35%</h4>
            <p>
                Z powodu znacznie niższego ciepła właściwego glikolu (3,52 kJ / kg K), aby przenieść identyczną moc termiczną 1,2 kW, wymagany przepływ musi wzrosnąć do 245 kg/h. Wyższe natężenie przepływu oraz trzykrotnie większa lepkość kinematyczna glikolu sprawiają, że strata ciśnienia w tej samej pętli drastycznie skacze z 14,5 kPa aż do 26,8 kPa. Pompa obiegowa musi zostać wymuszona do pracy na maksymalnym, trzecim biegu, pobierając 45 W prądu, a w skrajnym przypadku nie osiągnie wymaganego przepływu, co bezpośrednio skutkuje niedogrzaniem strefy mieszkalnej.
            </p>
        </div>
    </div>

    <div class="rk-hydr-cta">
        <div class="rk-cta-title">Zamów bezbłędny, policzony hydraulicznie projekt instalacji</div>
        <p class="rk-cta-text">
            Uniknij zgadywania i błędów wykonawczych, które mszczą się wyższymi rachunkami. Otrzymasz kompletną dokumentację z precyzyjnie wyliczoną objętością zładu, nastawami rotametrów oraz oporami hydraulicznymi dopasowanymi do Twojego źródła ciepła.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-cta-btn">
            <span>Zamów profesjonalny projekt podłogówki</span>
            <svg width="18" height="18" 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>
let currentMedium = 'water';
const powerSlider = document.getElementById('powerInput');
const qValDisplay = document.getElementById('qVal');

const flowDisplay = document.getElementById('resFlow');
const dropDisplay = document.getElementById('resDrop');
const powerDisplay = document.getElementById('resPower');

function setMedium(medium) {
    currentMedium = medium;
    document.getElementById('btnWater').classList.toggle('active', medium === 'water');
    document.getElementById('btnGlycol').classList.toggle('active', medium === 'glycol');
    calculateHydraulics();
}

function calculateHydraulics() {
    const Q = parseFloat(powerSlider.value);
    qValDisplay.textContent = Q.toFixed(1) + ' kW';
    
    let flow, drop, pumpPower;
    
    if (currentMedium === 'water') {
        // qm = Q / (4.19 * 5) * 3600
        flow = Math.round((Q / (4.19 * 5)) * 3600);
        // baseline drop approx linearly-exponentially mapped from 1.2kW -> 14.5kPa
        drop = (14.5 * (flow / 206) * (flow / 206)).toFixed(1);
        pumpPower = Math.round(18 * (flow / 206));
    } else {
        // glycol: qm = Q / (3.52 * 5) * 3600
        flow = Math.round((Q / (3.52 * 5)) * 3600);
        // baseline drop approx from 1.2kW -> 26.8kPa due to viscosity and flow shift
        drop = (26.8 * (flow / 245) * (flow / 245)).toFixed(1);
        pumpPower = Math.round(45 * (flow / 245));
    }
    
    flowDisplay.textContent = flow + ' kg/h';
    dropDisplay.textContent = drop + ' kPa';
    powerDisplay.textContent = pumpPower + ' W';
}

powerSlider.addEventListener('input', calculateHydraulics);

// Initial call
calculateHydraulics();
</script>



<style>
:root {
    --rk-diag-bg: #0b1121;
    --rk-diag-card: #151e32;
    --rk-diag-card-hover: #1e293b;
    --rk-diag-border: #334155;
    --rk-diag-text: #cbd5e1;
    --rk-diag-title: #f8fafc;
    --rk-diag-red: #ef4444;
    --rk-diag-orange: #f97316;
    --rk-diag-yellow: #eab308;
    --rk-diag-blue: #38bdf8;
    --rk-diag-accent: #f43f5e;
}

.rk-diag-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-diag-bg);
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    border: 1px solid var(--rk-diag-border);
    overflow: hidden;
    color: var(--rk-diag-text);
}

.rk-diag-header {
    padding: 40px;
    border-bottom: 1px solid var(--rk-diag-border);
    background: linear-gradient(135deg, #0b1121 0%, #151e32 100%);
}

.rk-diag-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-diag-title);
    margin: 0 0 15px 0;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

.rk-diag-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-diag-accent);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-diag-subtitle {
    font-size: 16px;
    line-height: 1.7;
    max-width: 800px;
    color: #94a3b8;
}

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

/* Karta Diagnostyczna */
.rk-diag-item {
    background: var(--rk-diag-card);
    border: 1px solid var(--rk-diag-border);
    border-radius: 12px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    overflow: hidden;
}

.rk-diag-item:hover {
    border-color: #475569;
    background: var(--rk-diag-card-hover);
}

.rk-diag-item.active {
    border-color: var(--rk-diag-red);
    box-shadow: 0 0 20px rgba(239, 68, 68, 0.1);
}

/* Nagłówek karty (klikadło) */
.rk-diag-trigger {
    width: 100%;
    text-align: left;
    padding: 25px 30px;
    background: none;
    border: none;
    cursor: pointer;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 20px;
    align-items: center;
    color: var(--rk-diag-title);
}

.rk-diag-number {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-diag-border);
    transition: color 0.3s;
}

.rk-diag-item.active .rk-diag-number {
    color: var(--rk-diag-red);
}

.rk-diag-title-box h4 {
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 5px 0;
}

.rk-diag-title-box p {
    font-size: 14px;
    color: #64748b;
    margin: 0;
}

.rk-diag-indicator {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid #475569;
    position: relative;
    transition: all 0.3s;
}

.rk-diag-indicator::after {
    content: '+';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #475569;
    font-weight: bold;
    font-size: 18px;
    transition: all 0.3s;
}

.rk-diag-item.active .rk-diag-indicator {
    border-color: var(--rk-diag-red);
    background: var(--rk-diag-red);
}

.rk-diag-item.active .rk-diag-indicator::after {
    content: '−';
    color: #fff;
}

/* Rozwijana treść (Mięso SEO) */
.rk-diag-body-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-diag-body {
    padding: 0 30px 30px 75px;
    font-size: 15px;
    line-height: 1.7;
    color: #cbd5e1;
}

.rk-diag-body p {
    margin: 0 0 15px 0;
}

.rk-diag-body p:last-child {
    margin: 0;
}

.rk-diag-body a {
    color: var(--rk-diag-blue);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-diag-blue);
    transition: all 0.2s;
}

.rk-diag-body a:hover {
    color: #7dd3fc;
    border-bottom-style: solid;
}

/* Bloki z konsekwencjami */
.rk-diag-impact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--rk-diag-border);
}

.rk-impact-box {
    background: #0f172a;
    padding: 15px;
    border-radius: 8px;
    border-left: 3px solid;
}

.rk-impact-tech { border-color: var(--rk-diag-yellow); }
.rk-impact-cost { border-color: var(--rk-diag-red); }

.rk-impact-box strong {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
    color: #94a3b8;
}

.rk-impact-box span {
    font-weight: 700;
    color: var(--rk-diag-title);
}

/* Tagi SEO Długi Ogon */
.rk-diag-footer {
    padding: 20px 40px;
    background: #0b1121;
    border-top: 1px solid var(--rk-diag-border);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rk-seo-tag {
    background: #1e293b;
    color: #94a3b8;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid #334155;
}

@media (max-width: 768px) {
    .rk-diag-header { padding: 30px 20px; }
    .rk-diag-header h2 { font-size: 24px; }
    .rk-diag-content { padding: 20px; }
    .rk-diag-trigger { padding: 20px; gap: 15px; }
    .rk-diag-body { padding: 0 20px 20px 20px; }
    .rk-diag-impact { grid-template-columns: 1fr; }
    .rk-diag-number { display: none; }
    .rk-diag-footer { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-bledy-chemiczne",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Najczęstsze błędy instalatorów przy napełnianiu podłogówki chemią",
    "description": "Szczegółowa analiza techniczna błędów montażowych: kwasowość czystej wody demineralizowanej, kłaczkowanie mieszanin inhibitorów oraz niszczenie EPDM przez borygo.",
    "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-10",
    "dateModified": "2026-06-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-bledy-chemiczne",
    "name": "Baza Danych: Skutki Chemiczne Błędnych Mediów Grzewczych",
    "description": "Wykaz procesów degradacyjnych w instalacjach niskotemperaturowych wywołanych agresywnością chemiczną płynów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dlaczego woda demineralizowana niszczy mosiądz",
      "odcynkowanie mosiądzu w instalacji",
      "kłaczkowanie inhibitorów korozji",
      "borygo niszczy uszczelki EPDM",
      "spadek pH w układzie zamkniętym"
    ],
    "measurementTechnique": "Analiza chemiczna zładu wody, inspekcja wizualna zablokowanych rotametrów oraz badanie utraty elastyczności membran naczynia wzbiorczego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Proces odcynkowania: Trawienie mosiężnych belek rozdzielacza przez wodę demineralizowaną bez bufora (pH < 6.0).",
        "Wytrącanie osadów: Reakcja antagonistyczna krzemianów z aminami powodująca fizyczne zatory (kłaczki).",
        "Degradacja polimerów: Pęcznienie i kruchość EPDM pod wpływem glikoli etylenowych dedykowanych do silników spalinowych (np. Borygo)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-diagnostyka",
    "name": "Panel Diagnostyczny Błędów Chemicznych Instalacji C.O.",
    "description": "Interaktywny raport techniczny rozwijający szczegółowe opisy symptomów, mechanizmów awarii oraz kosztów napraw błędów instalacyjnych.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-diag-container" id="chem-diagnostics">
    <div class="rk-diag-header">
        <h3>Raport Diagnostyczny</h3>
        <h2>Najczęstsze błędy instalatorów przy napełnianiu podłogówki chemią</h2>
        <p class="rk-diag-subtitle">Większość awarii pomp ciepła i niedogrzanych pętli to nie wina sprzętu, lecz rażących błędów chemicznych popełnianych przez wykonawców na etapie zalewania zładu. Zobacz, co zniszczy Twój system od środka.</p>
    </div>

    <div class="rk-diag-content">
        
        <div class="rk-diag-item">
            <button class="rk-diag-trigger" aria-expanded="false">
                <span class="rk-diag-number">01</span>
                <div class="rk-diag-title-box">
                    <h4>Czysta woda demineralizowana bez inhibitora</h4>
                    <p>Złudzenie absolutnej czystości, które wywołuje agresywną korozję wżerową.</p>
                </div>
                <div class="rk-diag-indicator"></div>
            </button>
            <div class="rk-diag-body-wrapper">
                <div class="rk-diag-body">
                    <p>Wielu instalatorów z dumą wlewa czystą wodę demineralizowaną kupioną w markecie, sądząc, że brak minerałów to pełen sukces. To gigantyczny błąd. Taki płyn jest <strong>„głodny chemicznie”</strong> – pozbawiono go nie tylko kamienia, ale i bufora stabilizującego odczyn pH.</p>
                    <p>W zamkniętej instalacji, w dążeniu do odzyskania równowagi jonowej, płyn drastycznie obniża swoje pH do poziomów kwasowych (nawet 5,5 - 6,0). Powstaje środowisko, które natychmiast inicjuje zjawisko <strong>odcynkowania mosiądzu</strong>. Taka woda agresywnie trawi luty, mosiężne belki i zawory w <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-ogrzewania-podlogowego-mosiezny-czy-ze-stali-nierdzewnej/">rozdzielaczu do ogrzewania podłogowego</a> znacznie szybciej niż zwykła kranówka.</p>
                    
                    <div class="rk-diag-impact">
                        <div class="rk-impact-box rk-impact-tech">
                            <strong>Skutek techniczny:</strong>
                            <span>Kwasowa korozja wżerowa i mikro-wycieki na złączach.</span>
                        </div>
                        <div class="rk-impact-box rk-impact-cost">
                            <strong>Koszty naprawy:</strong>
                            <span>Wymiana przegnitego rozdzielacza (ok. 1 800 - 2 500 PLN).</span>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-diag-item">
            <button class="rk-diag-trigger" aria-expanded="false">
                <span class="rk-diag-number">02</span>
                <div class="rk-diag-title-box">
                    <h4>Mieszanie inhibitorów różnych producentów</h4>
                    <p>Antagonizm chemiczny prowadzący do całkowitego zablokowania przepływów.</p>
                </div>
                <div class="rk-diag-indicator"></div>
            </button>
            <div class="rk-diag-body-wrapper">
                <div class="rk-diag-body">
                    <p>Zabrakło płynu X, więc instalator dolewa na sam koniec bańkę płynu Y. Zmieszanie preparatu (np. opartego na krzemianach) z produktem innej marki (opartym na aminach filmotwórczych) wywołuje w zładzie reakcję antagonistyczną.</p>
                    <p>Związki czynne neutralizują się nawzajem, całkowicie tracąc właściwości antykorozyjne. Co gorsza, reakcja ta powoduje <strong>wytrącanie się kłaczkowatego osadu chemicznego</strong> (tzw. żelowanie). Gęsta, lepka zawiesina zaczyna krążyć w układzie i zaledwie w kilka dni zatyka cienkie przekroje – unieruchamia rotametry, zakleja filtry magnetyczne oraz blokuje iglice w <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">termostatach pokojowych do podłogówki</a>.</p>
                    
                    <div class="rk-diag-impact">
                        <div class="rk-impact-box rk-impact-tech">
                            <strong>Skutek techniczny:</strong>
                            <span>Żelowanie zładu i fizyczne zatory (brak przepływu w pętlach).</span>
                        </div>
                        <div class="rk-impact-box rk-impact-cost">
                            <strong>Koszty naprawy:</strong>
                            <span>Płukanie chemiczne całej instalacji (ok. 1 500 - 2 000 PLN).</span>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-diag-item">
            <button class="rk-diag-trigger" aria-expanded="false">
                <span class="rk-diag-number">03</span>
                <div class="rk-diag-title-box">
                    <h4>Stosowanie samochodowych płynów do chłodnic</h4>
                    <p>Borygo lub Petrygo jako cichy zabójca uszczelnień gumowych EPDM.</p>
                </div>
                <div class="rk-diag-indicator"></div>
            </button>
            <div class="rk-diag-body-wrapper">
                <div class="rk-diag-body">
                    <p>To relikt z lat 90., kiedy do starych kopciuchów lano dosłownie wszystko, byle nie zamarzło. Płyny samochodowe (na bazie tanich glikoli etylenowych) posiadają inhibitory zoptymalizowane do bloków silnika – pracują właściwie dopiero w temperaturach rzędu 80 - 110°C.</p>
                    <p>W niskotemperaturowej podłogówce (parametr 30-35°C) pakiety ochronne z Borygo w ogóle się nie aktywują. Ale to nie jest najgorsze. Ekstremalnie agresywna baza tych płynów wchodzi w reakcję z gumą syntetyczną. Skutkuje to szybkim pęcznieniem, parcieniem i kruszeniem uszczelnień EPDM (O-ringi) oraz <strong>całkowitym zniszczeniem membrany</strong>, w którą wyposażone jest <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynie wzbiorcze pompy ciepła</a>.</p>
                    
                    <div class="rk-diag-impact">
                        <div class="rk-impact-box rk-impact-tech">
                            <strong>Skutek techniczny:</strong>
                            <span>Pęknięta przepona w naczyniu, skoki ciśnienia, zrzuty z zaworu bezpieczeństwa.</span>
                        </div>
                        <div class="rk-impact-box rk-impact-cost">
                            <strong>Koszty naprawy:</strong>
                            <span>Nowe naczynie, zawory i wymiana zładu (ok. 2 500 - 3 500 PLN).</span>
                        </div>
                    </div>
                </div>
            </div>
        </div>

    </div>

    <div class="rk-diag-footer">
        <span class="rk-seo-tag"># odcynkowanie mosiądzu w instalacji</span>
        <span class="rk-seo-tag"># dlaczego woda demineralizowana jest agresywna</span>
        <span class="rk-seo-tag"># kłaczkowanie płynu w c.o.</span>
        <span class="rk-seo-tag"># borygo w ogrzewaniu podłogowym</span>
        <span class="rk-seo-tag"># uszkodzona membrana naczynia wzbiorczego EPDM</span>
    </div>
</div>

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

    diagItems.forEach(item => {
        const trigger = item.querySelector('.rk-diag-trigger');
        const bodyWrapper = item.querySelector('.rk-diag-body-wrapper');

        trigger.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Akordion: zwiń wszystkie inne
            diagItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-diag-trigger').setAttribute('aria-expanded', 'false');
                otherItem.querySelector('.rk-diag-body-wrapper').style.maxHeight = null;
            });

            // Rozwiń kliknięty (jeśli nie był aktywny)
            if (!isActive) {
                item.classList.add('active');
                trigger.setAttribute('aria-expanded', 'true');
                // Przypisz dynamiczną wysokość do CSS transition
                bodyWrapper.style.maxHeight = bodyWrapper.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-auth-bg: #0b1121;
    --rk-auth-card: #151e32;
    --rk-auth-card-hover: #1e293b;
    --rk-auth-border: #334155;
    --rk-auth-text: #cbd5e1;
    --rk-auth-title: #f8fafc;
    --rk-auth-muted: #94a3b8;
    --rk-auth-accent: #38bdf8; /* Cyjan inżynierski */
    --rk-auth-social: #0ea5e9;
}

.rk-auth-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-auth-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-auth-border);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    color: var(--rk-auth-text);
}

.rk-auth-header {
    padding: 40px 40px 30px;
    background: linear-gradient(135deg, #0b1121 0%, #151e32 100%);
    border-bottom: 1px solid var(--rk-auth-border);
}

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

.rk-auth-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-auth-accent);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Układ główny: Biogram + Złote Zasady */
.rk-auth-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: var(--rk-auth-bg);
}

/* Kolumna Lewa: Profil Eksperta */
.rk-auth-profile {
    padding: 40px 30px;
    border-right: 1px solid var(--rk-auth-border);
    background: #0f172a;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-auth-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--rk-auth-card);
    box-shadow: 0 0 0 2px var(--rk-auth-accent);
    margin-bottom: 20px;
}

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

.rk-auth-role {
    font-size: 14px;
    font-weight: 600;
    color: var(--rk-auth-accent);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 20px 0;
}

.rk-auth-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-auth-muted);
    margin: 0 0 25px 0;
}

.rk-auth-socials {
    display: flex;
    gap: 15px;
}

.rk-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: var(--rk-auth-card);
    border: 1px solid var(--rk-auth-border);
    color: var(--rk-auth-social);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
}

.rk-social-btn:hover {
    background: var(--rk-auth-card-hover);
    border-color: var(--rk-auth-accent);
}

/* Kolumna Prawa: Złote Zasady */
.rk-auth-rules {
    padding: 40px;
    display: flex;
    flex-direction: column;
}

.rk-rules-quote {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    color: var(--rk-auth-title);
    font-style: italic;
    margin: 0 0 30px 0;
    padding-left: 20px;
    border-left: 4px solid var(--rk-auth-accent);
}

/* Globalny układ akordeonu (Jedno pod drugim) */
.rk-rules-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-rule-item {
    background: var(--rk-auth-card);
    border: 1px solid var(--rk-auth-border);
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.rk-rule-item.active {
    border-color: var(--rk-auth-accent);
    box-shadow: 0 4px 15px rgba(56, 189, 248, 0.05);
}

.rk-rule-trigger {
    width: 100%;
    padding: 20px 25px;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s;
}

.rk-rule-trigger:hover {
    background: var(--rk-auth-card-hover);
}

.rk-rule-item.active .rk-rule-trigger {
    background: rgba(56, 189, 248, 0.05);
    border-bottom: 1px solid var(--rk-auth-border);
}

.rk-rule-trigger-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-auth-title);
    transition: color 0.3s;
}

.rk-rule-item.active .rk-rule-trigger-title {
    color: var(--rk-auth-accent);
}

/* Ikona +/- */
.rk-rule-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-auth-bg);
    border: 1px solid var(--rk-auth-border);
    position: relative;
    flex-shrink: 0;
    margin-left: 15px;
    transition: all 0.3s;
}

.rk-rule-icon::before, .rk-rule-icon::after {
    content: '';
    position: absolute;
    background: var(--rk-auth-text);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s;
}

.rk-rule-icon::before { width: 12px; height: 2px; }
.rk-rule-icon::after { width: 2px; height: 12px; }

.rk-rule-item.active .rk-rule-icon {
    background: var(--rk-auth-accent);
    border-color: var(--rk-auth-accent);
}

.rk-rule-item.active .rk-rule-icon::before {
    background: #0f172a;
}

.rk-rule-item.active .rk-rule-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}

/* Treść rozwijana */
.rk-rule-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-rule-body {
    padding: 25px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-auth-text);
}

.rk-rule-body strong {
    color: var(--rk-auth-title);
}

@media (max-width: 768px) {
    .rk-auth-grid { grid-template-columns: 1fr; }
    .rk-auth-profile { border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 30px 20px; }
    .rk-auth-rules { padding: 30px 20px; }
    .rk-auth-header { padding: 30px 20px; text-align: center; }
    .rk-auth-header h2 { font-size: 24px; }
    .rk-rules-quote { font-size: 16px; padding-left: 15px; }
    .rk-rule-trigger { padding: 18px 20px; }
    .rk-rule-body { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Okiem Eksperta: Robert Kucharski o doborze płynów do instalacji",
    "description": "Autorskie podsumowanie i inżynierskie zasady doboru medium grzewczego. Czysta woda demineralizowana, znaczenie inhibitora oraz bezwzględny zakaz stosowania kranówki w nowoczesnych pompach ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "CEO & Ekspert HVAC",
      "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-11",
    "dateModified": "2026-06-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-ekspert",
    "name": "Złote Zasady Inżynierskie Instalacji Płaszczyznowych wg Roberta Kucharskiego",
    "description": "Baza danych określająca bezwzględne reguły doboru, tłoczenia i zabezpieczania medium grzewczego w celu utrzymania gwarancji producenta pompy ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "woda demineralizowana opinie eksperta",
      "czy można wlać kranówkę do pompy ciepła",
      "jak zabezpieczyć układ c.o. przed korozją",
      "zatarty wirnik pompy obiegowej",
      "prawidłowe napełnianie podłogówki"
    ],
    "measurementTechnique": "Weryfikacja parametrów fizykochemicznych instalacji w oparciu o wytyczne autoryzowanych serwisów oraz wieloletnie doświadczenie z ponad 1000 projektów ogrzewania.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zasada 1: Bezwzględny zakaz stosowania surowej wody wodociągowej w układach z pompą ciepła.",
        "Zasada 2: Czysta woda demineralizowana bez bufora to droga do natychmiastowej korozji wżerowej.",
        "Zasada 3: Tłoczenie wyłącznie profesjonalną stacją ze stałą kontrolą barwy i pH."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-ekspert",
    "name": "Interaktywny Panel Ekspercki: Fakty i Mity Instalacyjne",
    "description": "Hybrydowy moduł techniczny prezentujący kluczowe zasady ochrony hydrauliki przed degradacją biologiczną i elektrochemiczną w formie akordeonu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container" id="expert-summary-app">
    <div class="rk-auth-header">
        <h3>Podsumowanie Techniczne</h3>
        <h2>Okiem Eksperta: Robert Kucharski o doborze płynów do instalacji</h2>
    </div>

    <div class="rk-auth-grid">
        <!-- Lewa: Profil -->
        <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 Projekt Ogrzewania" class="rk-auth-photo">
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <div class="rk-auth-role">CEO & Główny Projektant</div>
            <p class="rk-auth-desc">
                Inżynier z potężnym zapleczem praktycznym. Odpowiadał za opracowanie hydrauliki i audyty w ponad 1000 projektach instalacji niskotemperaturowych. Bezwzględny przeciwnik prowizorki budowlanej.
            </p>
            <div class="rk-auth-socials">
                <!-- Facebook -->
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-btn" aria-label="Facebook Projekt Ogrzewania">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.469h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.469h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg>
                </a>
                <!-- LinkedIn -->
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-btn" aria-label="LinkedIn Robert Kucharski">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                </a>
            </div>
        </div>

        <!-- Prawa: Zasady / Treść (Zoptymalizowany Akordeon Pionowy) -->
        <div class="rk-auth-rules">
            <div class="rk-rules-quote">
                "Beton wybaczy niemal każdą krzywiznę, ale hydraulika i pompy ciepła nigdy nie wybaczą błędów chemicznych w zładzie. Oszczędność na płynie mści się utratą gwarancji."
            </div>

            <div class="rk-rules-wrapper">
                
                <div class="rk-rule-item active">
                    <button class="rk-rule-trigger">
                        <span class="rk-rule-trigger-title">1. Nigdy Kranówki</span>
                        <div class="rk-rule-icon"></div>
                    </button>
                    <div class="rk-rule-content">
                        <div class="rk-rule-body">
                            Napełnianie współczesnego układu surową wodą z sieci to <strong>techniczne samobójstwo</strong>. Wysoka przewodność elektrolityczna, zawartość chlorków i tlenu natychmiast inicjują produkcję magnetytu. To zjawisko w 100% przypadków doprowadzi do uszkodzenia ceramicznych łożysk w pompach obiegowych w ciągu 3-5 lat.
                        </div>
                    </div>
                </div>

                <div class="rk-rule-item">
                    <button class="rk-rule-trigger">
                        <span class="rk-rule-trigger-title">2. Pusty Demineral</span>
                        <div class="rk-rule-icon"></div>
                    </button>
                    <div class="rk-rule-content">
                        <div class="rk-rule-body">
                            Wielu wykonawców wpada w pułapkę "czystości", kupując samą wodę demineralizowaną w markecie. Brak inhibitora sprawia, że woda ta jest niestabilna chemicznie. Jej pH gwałtownie spada, stając się kwasem, który <strong>agresywnie trawi i odcynkowuje elementy mosiężne</strong> rozdzielacza.
                        </div>
                    </div>
                </div>

                <div class="rk-rule-item">
                    <button class="rk-rule-trigger">
                        <span class="rk-rule-trigger-title">3. Maszyna Tłocząca</span>
                        <div class="rk-rule-icon"></div>
                    </button>
                    <div class="rk-rule-content">
                        <div class="rk-rule-body">
                            Prawidłowy proces to nie "dobijanie ciśnienia". Płyn wprowadzamy wyłącznie zewnętrzną stacją wysokociśnieniową, wypierając uprzednio wodę używaną do płukania dynamicznego pętli. Jeśli instalator przychodzi na budowę tylko z wężem ogrodowym, <strong>możesz być pewien, że zład zostanie zapowietrzony</strong>.
                        </div>
                    </div>
                </div>

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

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

    // Inicjalizacja wysokości dla pierwszego (aktywnego) elementu po załadowaniu
    const firstActive = document.querySelector('.rk-rule-item.active .rk-rule-content');
    if (firstActive) {
        firstActive.style.maxHeight = firstActive.scrollHeight + "px";
    }

    ruleItems.forEach(item => {
        const trigger = item.querySelector('.rk-rule-trigger');
        const content = item.querySelector('.rk-rule-content');

        trigger.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zwijamy wszystkie elementy
            ruleItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-rule-content').style.maxHeight = null;
            });

            // Rozwijamy kliknięty, o ile nie był wcześniej otwarty
            if (!isActive) {
                item.classList.add('active');
                content.style.maxHeight = content.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-cs-bg: #0b1121;
    --rk-cs-card: #151e32;
    --rk-cs-card-hover: #1e293b;
    --rk-cs-border: #334155;
    --rk-cs-text: #cbd5e1;
    --rk-cs-title: #f8fafc;
    --rk-cs-muted: #94a3b8;
    --rk-cs-accent: #8b5cf6; /* Fiolet / Purpura - kolor oznaczający studium przypadku / premium */
    --rk-cs-cyan: #38bdf8;
    --rk-cs-warn: #eab308;
    --rk-cs-danger: #f43f5e;
}

.rk-cs-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-cs-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-cs-border);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    color: var(--rk-cs-text);
}

.rk-cs-header {
    padding: 40px;
    background: linear-gradient(135deg, #0b1121 0%, #1c1936 100%);
    border-bottom: 1px solid var(--rk-cs-border);
    position: relative;
}

.rk-cs-badge {
    position: absolute;
    top: 0;
    right: 40px;
    background: var(--rk-cs-accent);
    color: #ffffff;
    padding: 8px 16px;
    border-radius: 0 0 8px 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

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

.rk-cs-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-cs-accent);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-cs-intro {
    padding: 30px 40px;
    font-size: 15px;
    line-height: 1.7;
    border-bottom: 1px solid var(--rk-cs-border);
    background: #0f172a;
}

.rk-cs-intro strong {
    color: var(--rk-cs-title);
}

/* Układ Grid (Lewa: Historia, Prawa: Symulator) */
.rk-cs-grid {
    display: grid;
    grid-template-columns: 1fr 350px;
    background: var(--rk-cs-bg);
}

/* Moduł Interaktywny (Prawa strona na desktopie) */
.rk-cs-simulator {
    padding: 40px;
    background: #111827;
    border-left: 1px solid var(--rk-cs-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-cs-sim-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-cs-muted);
    margin-bottom: 25px;
    text-align: center;
    letter-spacing: 1px;
}

/* SVG Rotametr */
.rk-rotameter-box {
    background: #000000;
    border: 1px solid var(--rk-cs-border);
    border-radius: 12px;
    padding: 20px;
    width: 100%;
    display: flex;
    justify-content: center;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
    margin-bottom: 25px;
    position: relative;
}

.rk-rota-glass {
    width: 60px;
    height: 180px;
    background: rgba(255,255,255,0.05);
    border: 2px solid #475569;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
}

.rk-rota-water {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #713f12; 
    transition: background 1.5s ease;
}

.rk-rota-water.clean {
    background: rgba(56, 189, 248, 0.4);
}

.rk-rota-float {
    width: 30px;
    height: 30px;
    background: #ef4444;
    border-radius: 50%;
    position: absolute;
    bottom: 10%; 
    transition: bottom 1s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: inset -5px -5px 10px rgba(0,0,0,0.5);
}

.rk-rota-float.active {
    bottom: 70%;
    animation: floatBounce 2s infinite alternate ease-in-out;
}

@keyframes floatBounce {
    0% { transform: translateY(0); }
    100% { transform: translateY(10px); }
}

.rk-rota-scale {
    position: absolute;
    left: 0;
    width: 10px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 10px 0;
}

.rk-rota-scale span {
    width: 100%;
    height: 2px;
    background: rgba(255,255,255,0.3);
}

.rk-sim-action-btn {
    background: var(--rk-cs-accent);
    color: #ffffff;
    border: none;
    padding: 15px 25px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    width: 100%;
    transition: all 0.3s;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

.rk-sim-action-btn:hover {
    background: #7c3aed;
    transform: translateY(-2px);
}

.rk-sim-action-btn.done {
    background: var(--rk-cs-cyan);
    box-shadow: 0 4px 12px rgba(56, 189, 248, 0.4);
}

/* Kolumna Lewa: Historia / Zoptymalizowane Zakładki */
.rk-cs-history {
    padding: 0; /* Usunięcie ogólnego paddingu dla lepszego spasowania Gridu */
    display: flex;
    flex-direction: column;
}

/* ------------------------------------------------ */
/* Układ Desktopowy (Zakładki Poziome u góry)       */
/* ------------------------------------------------ */
@media (min-width: 769px) {
    .rk-cs-wrapper {
        width: 100%;
        height: 100%;
        background: var(--rk-cs-card);
    }
    
    .rk-cs-nav {
        display: grid;
        grid-template-columns: repeat(3, 1fr); /* Trzy równe przyciski */
        grid-template-rows: auto 1fr;
        width: 100%;
        height: 100%;
        align-content: start;
    }

    .rk-cs-item { 
        display: contents; /* Treść z item "wyskakuje" bezpośrednio do siatki nav */
    }

    .rk-cs-trigger {
        grid-row: 1; /* Wszystkie przyciski lądują w pierwszym rzędzie */
        padding: 20px 15px;
        background: #0f172a;
        border: none;
        border-bottom: 1px solid var(--rk-cs-border);
        border-right: 1px solid var(--rk-cs-border);
        display: flex;
        flex-direction: column;
        align-items: center; /* Centrujemy zawartość na środku przycisku */
        text-align: center;
        cursor: pointer;
        transition: all 0.2s;
    }

    /* Przypisanie konkretnych kolumn dla przycisków */
    .rk-cs-item:nth-child(1) .rk-cs-trigger { grid-column: 1; }
    .rk-cs-item:nth-child(2) .rk-cs-trigger { grid-column: 2; }
    .rk-cs-item:nth-child(3) .rk-cs-trigger { grid-column: 3; border-right: none; }

    .rk-cs-trigger:hover { 
        background: var(--rk-cs-card-hover); 
    }

    .rk-cs-item.active .rk-cs-trigger {
        background: var(--rk-cs-card);
        border-bottom: 3px solid var(--rk-cs-accent); /* Akcent na dole przycisku */
    }

    .rk-cs-trigger-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
    }

    .rk-cs-trigger-title {
        font-size: 15px;
        font-weight: 800;
        color: var(--rk-cs-title);
        margin-bottom: 2px;
    }

    .rk-cs-trigger-date {
        font-size: 12px;
        color: var(--rk-cs-muted);
        font-family: monospace;
    }

    .rk-cs-item.active .rk-cs-trigger-title { color: var(--rk-cs-accent); }

    .rk-cs-icon { display: none; } /* Ukrywamy ikony +/- na desktopie */

    /* Kontener tekstu na pełnej szerokości */
    .rk-cs-content {
        grid-row: 2; /* Drugi rząd - pod zakładkami */
        grid-column: 1 / 4; /* Rozciągnięcie na wszystkie 3 kolumny */
        display: none;
        background: var(--rk-cs-card);
        width: 100%;
    }

    .rk-cs-item.active .rk-cs-content {
        display: block;
        animation: fadeInCS 0.4s ease-out forwards;
    }

    @keyframes fadeInCS {
        from { opacity: 0; transform: translateY(5px); }
        to { opacity: 1; transform: translateY(0); }
    }
    
    .rk-cs-body {
        padding: 40px;
        font-size: 15px;
        line-height: 1.7;
        color: var(--rk-cs-text);
    }
}

/* ------------------------------------------------ */
/* Wymuszony układ Mobilny (Akordeon pionowy)       */
/* ------------------------------------------------ */
@media (max-width: 768px) {
    .rk-cs-header .rk-cs-badge { display: none; }
    .rk-cs-grid { grid-template-columns: 1fr; }
    .rk-cs-history { padding: 30px 20px; }
    .rk-cs-header { padding: 30px 20px; }
    .rk-cs-header h2 { font-size: 22px; }
    .rk-cs-simulator { border-left: none; border-top: 1px solid var(--rk-cs-border); padding: 30px 20px; }

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

    .rk-cs-nav { display: contents; }

    .rk-cs-item {
        background: var(--rk-cs-card);
        border: 1px solid var(--rk-cs-border);
        border-radius: 10px;
        overflow: hidden;
        display: block; /* Wymuszenie na mobile */
    }

    .rk-cs-item.active { border-color: var(--rk-cs-accent); }

    .rk-cs-trigger {
        width: 100%;
        padding: 15px 20px;
        background: transparent;
        border: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
        text-align: left;
    }

    .rk-cs-item.active .rk-cs-trigger {
        background: rgba(139, 92, 246, 0.05);
        border-bottom: 1px solid var(--rk-cs-border);
    }

    .rk-cs-trigger-content { display: flex; flex-direction: column; gap: 4px; }

    .rk-cs-trigger-title {
        font-size: 15px;
        font-weight: 800;
        color: var(--rk-cs-title);
    }

    .rk-cs-trigger-date {
        font-size: 12px;
        color: var(--rk-cs-muted);
        font-family: monospace;
    }

    .rk-cs-item.active .rk-cs-trigger-title { color: var(--rk-cs-accent); }

    .rk-cs-icon {
        width: 24px;
        height: 24px;
        position: relative;
        flex-shrink: 0;
        margin-left: 10px;
    }

    .rk-cs-icon::before, .rk-cs-icon::after {
        content: '';
        position: absolute;
        background: var(--rk-cs-muted);
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .rk-cs-icon::before { width: 14px; height: 2px; }
    .rk-cs-icon::after { width: 2px; height: 14px; }

    .rk-cs-item.active .rk-cs-icon::before { background: var(--rk-cs-accent); }
    .rk-cs-item.active .rk-cs-icon::after { display: none; }

    .rk-cs-content { display: none; }
    .rk-cs-item.active .rk-cs-content { display: block; }

    .rk-cs-body {
        padding: 20px;
        font-size: 15px;
        line-height: 1.7;
        color: var(--rk-cs-text);
    }
}

.rk-cs-body strong { color: var(--rk-cs-title); }
.rk-cs-body a { color: var(--rk-cs-cyan); text-decoration: none; border-bottom: 1px dashed var(--rk-cs-cyan); }
.rk-cs-body a:hover { color: #f8fafc; border-bottom-style: solid; }
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Case Study: Akcja ratunkowa w Grodzisku Mazowieckim – Kiedy hydraulik wie lepiej od producenta",
    "description": "Studium przypadku instalacji ogrzewania podłogowego zalanej kranówką przez nierzetelnych wykonawców. Sprzeczne opinie instalatorów, zablokowane rotametry i proces płukania chemicznego instalacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-11",
    "dateModified": "2026-06-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-case-study",
    "name": "Parametry diagnostyczne i koszty akcji ratunkowej zładu w Grodzisku Mazowieckim",
    "description": "Realne dane z audytu instalacji ogrzewania płaszczyznowego uszkodzonego przez wlanie zwykłej wody z kranu i brak inhibitora korozji.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "co zrobić gdy podłogówka zalana kranówką",
      "hydraulik kazał wlać wodę z sieci",
      "sprzeczne opinie instalatorów ogrzewanie podłogowe",
      "czyszczenie podłogówki po kranówce koszty",
      "brudna woda w rotametrach podłogówki"
    ],
    "measurementTechnique": "Weryfikacja organoleptyczna wskaźników przepływu (rotametrów), ocena spadku sprawności pompy ciepła i badanie przewodności wody powyżej normy.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Lokalizacja: Grodzisk Mazowiecki, Dom parterowy 180 m2.",
        "Czas do wystąpienia objawów (brudne rotametry): 4 miesiące (Październik 2025 - Luty 2026).",
        "Rozwiązanie usterki: Dynamiczne płukanie chemiczne i napełnienie stacją roztworem demineralizowanym z inhibitorem."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-case-study",
    "name": "Symulator Oczyszczania Rotametrów",
    "description": "Interaktywna demonstracja wizualizująca skutki zalania układu kranówką (zablokowany pływak w magnetycie) oraz efekt po zastosowaniu płukania chemicznego i inhibitora.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs-container" id="case-study-app">
    <div class="rk-cs-header">
        <div class="rk-cs-badge">Case Study</div>
        <h3>Analiza Przypadku (Realny Problem)</h3>
        <h2>Akcja ratunkowa w Grodzisku Maz. – Kiedy hydraulik wie "lepiej" od producenta</h2>
    </div>

    <div class="rk-cs-intro">
        <p>
            Teoria to jedno, ale rzeczywistość na polskich budowach często wygląda inaczej. W lutym 2026 roku zgłosiła się do mnie Pani Katarzyna, inwestorka budująca parterowy dom (180 m²) w Grodzisku Mazowieckim. Instalację ogrzewania podłogowego i pompę ciepła wykonano u niej w październiku 2025. Niestety, na etapie zalewania układu, zderzyła się ze <strong>sprzecznymi opiniami trzech różnych instalatorów</strong>. Finał tej historii to gotowy scenariusz na to, czego bezwzględnie unikać.
        </p>
    </div>

    <div class="rk-cs-grid">
        
        <div class="rk-cs-history">
            <div class="rk-cs-wrapper">
                <div class="rk-cs-nav">
                    
                    <div class="rk-cs-item active">
                        <button class="rk-cs-trigger">
                            <div class="rk-cs-trigger-content">
                                <span class="rk-cs-trigger-title">Faza 1: Festiwal mitów</span>
                                <span class="rk-cs-trigger-date">Październik 2025</span>
                            </div>
                            <div class="rk-cs-icon"></div>
                        </button>
                        <div class="rk-cs-content">
                            <div class="rk-cs-body">
                                Przed zalaniem instalacji, inwestorka zapytała o płyn. Pierwszy hydraulik z uśmiechem stwierdził: <em>"Kranówka wystarczy, pani Kasiu, od 20 lat tak leję i u wszystkich grzeje"</em>. Drugi, "nowocześniejszy", doradził zakup 200 litrów pustej, najtańszej wody zdemineralizowanej w markecie budowlanym. Ostatecznie, ekipa montująca pompę ciepła <strong>zalała układ zwykłą wodą z sieci wodociągowej</strong>, rzucając klasyczne: <em>"Pompa ciepła i tak to przemieli, nie ma co przepłacać za chemię"</em>.
                            </div>
                        </div>
                    </div>

                    <div class="rk-cs-item">
                        <button class="rk-cs-trigger">
                            <div class="rk-cs-trigger-content">
                                <span class="rk-cs-trigger-title">Faza 2: Pierwsze objawy awarii</span>
                                <span class="rk-cs-trigger-date">Luty 2026</span>
                            </div>
                            <div class="rk-cs-icon"></div>
                        </button>
                        <div class="rk-cs-content">
                            <div class="rk-cs-body">
                                Po zaledwie 4 miesiącach pracy układu, Pani Katarzyna zauważyła problem. Pompa ciepła zaczęła zużywać podejrzanie dużo prądu (drastyczny spadek COP). Gorzej wyglądała sytuacja w skrzynkach rozdzielaczy: przezroczyste szkiełka <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów pokryły się gęstym, niemal czarnym nalotem</a>. Kilka pływaków całkowicie zablokowało się w dolnej pozycji (brak przepływu), a podłoga w salonie przestała dogrzewać równomiernie.
                            </div>
                        </div>
                    </div>

                    <div class="rk-cs-item">
                        <button class="rk-cs-trigger">
                            <div class="rk-cs-trigger-content">
                                <span class="rk-cs-trigger-title">Faza 3: Akcja ratunkowa</span>
                                <span class="rk-cs-trigger-date">Marzec 2026</span>
                            </div>
                            <div class="rk-cs-icon"></div>
                        </button>
                        <div class="rk-cs-content">
                            <div class="rk-cs-body">
                                Diagnoza była natychmiastowa: reakcja tlenu i chlorków z kranówki spowodowała gwałtowny wyrzut <strong>szlamu magnetytowego</strong>. Oszczędność 800 zł na inhibitorze skończyła się wezwaniem profesjonalnego serwisu. Musieliśmy wykonać inwazyjne, <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">dynamiczne płukanie chemiczne całej podłogówki</a> (koszt: 2000 PLN), wyczyszczenie rotametrów, a następnie napełnienie zładu stacją tłoczącą przy użyciu dedykowanego płynu demineralizowanego z inhibitorem korozji.
                            </div>
                        </div>
                    </div>

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

        <div class="rk-cs-simulator">
            <div class="rk-cs-sim-title">Symulator stanu rotametru</div>
            
            <div class="rk-rotameter-box">
                <div class="rk-rota-glass">
                    <div class="rk-rota-scale">
                        <span></span><span></span><span></span><span></span><span></span><span></span>
                    </div>
                    <div class="rk-rota-water" id="simWater"></div>
                    <div class="rk-rota-float" id="simFloat"></div>
                </div>
            </div>

            <p style="font-size: 13px; text-align: center; color: var(--rk-cs-muted); margin: 0 0 20px 0; line-height: 1.5;" id="simDesc">
                Stan po wylaniu kranówki. Pływak zablokowany przez magnetyt, zero przepływu.
            </p>

            <button class="rk-sim-action-btn" id="simBtn">Wykonaj płukanie chemiczne</button>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Logika Akordeonu / Zakładek
    const ruleItems = document.querySelectorAll('.rk-cs-item');

    // Inicjalizacja pierwszej zakładki
    const firstActive = document.querySelector('.rk-cs-item.active .rk-cs-content');
    if (firstActive && !window.matchMedia("(min-width: 769px)").matches) {
        firstActive.style.maxHeight = firstActive.scrollHeight + "px";
    }

    ruleItems.forEach(item => {
        const trigger = item.querySelector('.rk-cs-trigger');
        const content = item.querySelector('.rk-cs-content');

        trigger.addEventListener('click', () => {
            const wasActive = item.classList.contains('active');

            ruleItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                if (!window.matchMedia("(min-width: 769px)").matches) {
                    otherItem.querySelector('.rk-cs-content').style.maxHeight = null;
                }
            });

            if (!wasActive) {
                item.classList.add('active');
                if (!window.matchMedia("(min-width: 769px)").matches) {
                    content.style.maxHeight = content.scrollHeight + "px";
                }
            }
        });
    });

    window.addEventListener('resize', () => {
        if (window.matchMedia("(min-width: 769px)").matches) {
            ruleItems.forEach(item => {
                item.querySelector('.rk-cs-content').style.maxHeight = null;
            });
        } else {
            const activeItem = document.querySelector('.rk-cs-item.active');
            if (activeItem) {
                const content = activeItem.querySelector('.rk-cs-content');
                content.style.maxHeight = content.scrollHeight + "px";
            }
        }
    });

    // Logika Symulatora (SVG)
    const simBtn = document.getElementById('simBtn');
    const simWater = document.getElementById('simWater');
    const simFloat = document.getElementById('simFloat');
    const simDesc = document.getElementById('simDesc');
    let isClean = false;

    simBtn.addEventListener('click', () => {
        if(!isClean) {
            // Czyszczenie
            simWater.classList.add('clean');
            simFloat.classList.add('active');
            simBtn.textContent = "Zasymuluj błąd hydraulika";
            simBtn.classList.add('done');
            simDesc.textContent = "Instalacja przepłukana i zalana płynem z inhibitorem. Pełny, swobodny przepływ (4 l/min).";
            isClean = true;
        } else {
            // Brudzenie
            simWater.classList.remove('clean');
            simFloat.classList.remove('active');
            simBtn.textContent = "Wykonaj płukanie chemiczne";
            simBtn.classList.remove('done');
            simDesc.textContent = "Stan po wylaniu kranówki. Pływak zablokowany przez ciężki szlam (magnetyt).";
            isClean = false;
        }
    });
});
</script>



<style>
:root {
    --rk-faq-bg: #0b1121;
    --rk-faq-card: #151e32;
    --rk-faq-card-hover: #1e293b;
    --rk-faq-border: #334155;
    --rk-faq-text: #cbd5e1;
    --rk-faq-title: #f8fafc;
    --rk-faq-muted: #94a3b8;
    --rk-faq-accent: #38bdf8;
    --rk-faq-danger: #f43f5e;
}

.rk-faq-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-faq-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-faq-border);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    color: var(--rk-faq-text);
}

.rk-faq-header {
    padding: 40px;
    background: linear-gradient(135deg, #0b1121 0%, #151e32 100%);
    border-bottom: 1px solid var(--rk-faq-border);
    text-align: center;
}

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

.rk-faq-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-faq-accent);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-faq-container {
    padding: 30px 40px 40px;
}

.rk-faq-item {
    border: 1px solid var(--rk-faq-border);
    border-radius: 12px;
    margin-bottom: 15px;
    background: var(--rk-faq-card);
    transition: all 0.3s ease;
    overflow: hidden;
}

.rk-faq-item.active {
    border-color: var(--rk-faq-accent);
    box-shadow: 0 4px 15px rgba(56, 189, 248, 0.15);
}

.rk-faq-question {
    width: 100%;
    text-align: left;
    padding: 20px 25px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-faq-title);
    transition: background 0.3s ease;
}

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

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

.rk-faq-item.active .rk-faq-icon {
    background: var(--rk-faq-accent);
    border-color: var(--rk-faq-accent);
    color: #0b1121;
    transform: rotate(180deg);
}

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

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

.rk-faq-item.active .rk-faq-answer {
    border-top-color: var(--rk-faq-border);
    padding-top: 20px;
}

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

.rk-faq-answer a:hover {
    color: #7dd3fc;
    border-bottom-style: solid;
}

.rk-faq-alert {
    display: flex;
    gap: 12px;
    background: rgba(244, 63, 94, 0.05);
    border-left: 4px solid var(--rk-faq-danger);
    padding: 15px;
    border-radius: 0 8px 8px 0;
    margin-top: 15px;
    font-size: 14px;
    color: var(--rk-faq-text);
}

.rk-faq-alert svg {
    flex-shrink: 0;
    color: var(--rk-faq-danger);
}

@media (max-width: 768px) {
    .rk-faq-header { padding: 30px 20px 20px; }
    .rk-faq-header h2 { font-size: 22px; }
    .rk-faq-container { padding: 15px 20px 30px; }
    .rk-faq-question { padding: 15px; font-size: 15px; }
    .rk-faq-answer { padding: 0 15px 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "FAQ – Najważniejsze pytania dotyczące wody demineralizowanej z inhibitorem",
    "description": "Baza wiedzy i odpowiedzi na najczęstsze pytania inwestorów dotyczące eksploatacji, uzupełniania i kontroli płynów w instalacjach ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-10",
    "dateModified": "2026-06-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy mogę dolać zwykłej wody z kranu, jeśli spadnie ciśnienie w instalacji?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, jednorazowe dolanie więcej niż 2 - 3 litrów zwykłej wody niszczy strukturę bufora pH i wprowadza do układu jony wapniowe, co inicjuje odkładanie kamienia. Do uzupełniania ubytków należy używać wyłącznie dedykowanej wody demineralizowanej w roztworze z inhibitorem przy pomocy ręcznej pompki ciśnieniowej."
        }
      },
      {
        "@type": "Question",
        "name": "Jak często należy wymieniać wodę demineralizowaną z inhibitorem w podłogówce?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowo zaaplikowany płyn renomowanego producenta nie wymaga wymiany przez okres 10 – 15 lat, pod warunkiem, że układ jest szczelny i nie dochodzi do częstych zrzutów ciśnienia. Co 3 lata należy przeprowadzić kontrolę odczynu pH (musi być powyżej 8,2) za pomocą prostego testu paskowego lub pehametru."
        }
      },
      {
        "@type": "Question",
        "name": "Czym grozi zbyt niskie stężenie inhibitora korozji w instalacji?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zbyt niskie stężenie (poniżej 0,5%) nie jest w stanie utworzyć ciągłej warstwy molekularnej na metalach, co prowadzi do tzw. korozji lokalnej (wżerowej). Miejsca niechronione stają się centrami gwałtownej reakcji elektrochemicznej, co skutkuje miejscowym przewężeniem ścianek rur lub wymienników i ich uszkodzeniem."
        }
      },
      {
        "@type": "Question",
        "name": "Czy woda demineralizowana z inhibitorem chroni przed mrozem?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, ten rodzaj płynu chroni instalację przed zamarzaniem jedynie w ograniczonym stopniu – krystalizacja następuje w temperaturze około -2°C. Jeśli budynek nie będzie ogrzewany zimą i istnieje realne ryzyko spadku temperatury wnętrza poniżej zera, należy zastosować certyfikowany płyn na bazie glikolu propylenowego."
        }
      },
      {
        "@type": "Question",
        "name": "Skąd mam wiedzieć, ile litrów płynu wlał instalator do mojego układu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Ilość wlanego czynnika powinna zostać odnotowana w protokole odbioru instalacji na podstawie wskazań wodomierza stacji napełniającej. Można to również zweryfikować, mnożąc liczbę metrów ułożonych rur przez wskaźnik pojemności rury 16x2 mm, czyli 0,113 litra na metr bieżący, dodając zład zlokalizowany w kotłowni."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-faq",
    "name": "Zestawienie parametrów serwisowych i eksploatacyjnych płynów grzewczych",
    "description": "Kluczowe wartości graniczne dla instalacji c.o.: częstotliwość wymiany medium, minimalne stężenie inhibitora, normatywne pH, wskaźniki pojemności pętli grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kontrola pH w układzie c.o.",
      "częstotliwość wymiany płynu grzewczego",
      "stężenie inhibitora korozji",
      "pojemność rury pex 16",
      "zamarzanie wody w instalacji"
    ],
    "measurementTechnique": "Określanie parametrów fizykochemicznych poprzez testy paskowe, pehametry oraz przeliczniki pojemności wodnej (0,113 l/m) dla rur wielowarstwowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalne pH: > 8,2",
        "Trwałość medium: 10 - 15 lat (przy pełnej szczelności)",
        "Krytyczne stężenie inhibitora: < 0,5% (ryzyko korozji wżerowej)",
        "Temp. krystalizacji medium wodnego: ok. -2°C"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywna Baza Wiedzy FAQ – Płyny Grzewcze",
    "description": "Moduł typu accordion umożliwiający szybkie wyszukiwanie i rozwiązywanie problemów instalacyjnych związanych z wodą zdemineralizowaną, glikolem i ciśnieniem zładu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-wrapper" id="faq-app">
    <div class="rk-faq-header">
        <h2>FAQ – Najważniejsze pytania dotyczące wody demineralizowanej z inhibitorem</h2>
        <h3>Eksperckie odpowiedzi na problemy techniczne i eksploatacyjne</h3>
    </div>

    <div class="rk-faq-container">
        
        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                Czy mogę dolać zwykłej wody z kranu, jeśli spadnie ciśnienie w instalacji?
                <div 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>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer">
                    Nie, jednorazowe dolanie więcej niż 2 - 3 litrów zwykłej wody niszczy strukturę bufora pH i wprowadza do układu jony wapniowe, co inicjuje odkładanie kamienia. Aby <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/">czym napełnić instalację ogrzewania podłogowego</a> i uzupełnić ubytki, należy używać wyłącznie dedykowanej wody demineralizowanej w roztworze z inhibitorem przy pomocy ręcznej pompki ciśnieniowej.
                    <div class="rk-faq-alert">
                        <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="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>
                        Mieszanie kranówki z demineralem to najszybsza droga do korozji galwanicznej.
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                Jak często należy wymieniać wodę demineralizowaną z inhibitorem w podłogówce?
                <div 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>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer">
                    Prawidłowo zaaplikowany płyn renomowanego producenta nie wymaga wymiany przez okres 10 – 15 lat, pod warunkiem, że układ jest szczelny i nie dochodzi do częstych zrzutów ciśnienia. Co 3 lata należy przeprowadzić kontrolę odczynu pH (musi być powyżej 8,2) za pomocą prostego testu paskowego lub pehametru.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                Czym grozi zbyt niskie stężenie inhibitora korozji w instalacji?
                <div 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>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer">
                    Zbyt niskie stężenie (poniżej 0,5%) nie jest w stanie utworzyć ciągłej warstwy molekularnej na metalach, co prowadzi do tzw. korozji lokalnej (wżerowej). Miejsca niechronione stają się centrami gwałtownej reakcji elektrochemicznej, co skutkuje miejscowym przewężeniem ścianek rur lub <a href="https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/">płytowych wymienników ciepła</a> i ich trwałym uszkodzeniem.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                Czy woda demineralizowana z inhibitorem chroni przed mrozem?
                <div 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>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer">
                    Nie, ten rodzaj płynu chroni instalację przed zamarzaniem jedynie w ograniczonym stopniu – krystalizacja następuje w temperaturze około -2°C. Jeśli budynek nie będzie ogrzewany zimą i istnieje realne ryzyko spadku temperatury wnętrza poniżej zera, należy rozważyć zastosowanie certyfikowanego płynu na bazie <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/">glikolu propylenowego</a>, mając jednak na uwadze wyższe opory tłoczenia dla pompy obiegowej.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-question" aria-expanded="false">
                Skąd mam wiedzieć, ile litrów płynu wlał instalator do mojego układu?
                <div 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>
                </div>
            </button>
            <div class="rk-faq-answer-wrapper">
                <div class="rk-faq-answer">
                    Ilość wlanego czynnika powinna zostać odnotowana w protokole odbioru instalacji na podstawie wskazań wodomierza stacji napełniającej. Można to również bardzo precyzyjnie zweryfikować samemu, <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">obliczając pojemność w 1 metrze rury PEX</a> (wskaźnik pojemności dla rury 16x2 mm to dokładnie 0,113 litra na metr bieżący) i dodając zład bufora zlokalizowany w kotłowni.
                </div>
            </div>
        </div>

    </div>
</div>

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

    faqItems.forEach(item => {
        const questionBtn = item.querySelector('.rk-faq-question');
        const answerWrapper = item.querySelector('.rk-faq-answer-wrapper');

        questionBtn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zwiń wszystkie pozostałe panele dla czystszego UX (opcjonalne, ale zalecane)
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-faq-question').setAttribute('aria-expanded', 'false');
                otherItem.querySelector('.rk-faq-answer-wrapper').style.maxHeight = null;
            });

            // Rozwiń kliknięty, jeśli nie był aktywny
            if (!isActive) {
                item.classList.add('active');
                questionBtn.setAttribute('aria-expanded', 'true');
                answerWrapper.style.maxHeight = answerWrapper.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-end-bg: #0b1121;
    --rk-end-card: #151e32;
    --rk-end-card-hover: #1e293b;
    --rk-end-border: #334155;
    --rk-end-text: #cbd5e1;
    --rk-end-title: #f8fafc;
    --rk-end-muted: #94a3b8;
    --rk-end-accent: #38bdf8;
    --rk-end-green: #10b981;
    --rk-end-red: #f43f5e;
}

.rk-end-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-end-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-end-border);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    color: var(--rk-end-text);
}

.rk-end-header {
    padding: 40px;
    background: linear-gradient(135deg, #0b1121 0%, #151e32 100%);
    border-bottom: 1px solid var(--rk-end-border);
}

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

.rk-end-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-end-accent);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

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

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

.rk-end-text a:hover {
    color: #7dd3fc;
    border-bottom-style: solid;
}

/* Tagi SEO */
.rk-end-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}

.rk-mat-tag {
    background: #0f172a;
    color: var(--rk-end-muted);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid var(--rk-end-border);
    transition: all 0.3s;
}

.rk-mat-tag:hover {
    background: var(--rk-end-card-hover);
    color: var(--rk-end-title);
    border-color: var(--rk-end-accent);
}

/* Interaktywny Kalkulator */
.rk-end-interactive {
    padding: 40px;
    background: var(--rk-end-card);
}

.rk-slider-box {
    background: #0f172a;
    padding: 30px;
    border-radius: 12px;
    border: 1px solid var(--rk-end-border);
    margin-bottom: 30px;
}

.rk-slider-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    font-weight: 700;
    color: var(--rk-end-title);
}

.rk-slider-value {
    background: var(--rk-end-accent);
    color: #0f172a;
    padding: 4px 12px;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 800;
}

.rk-range {
    width: 100%;
    -webkit-appearance: none;
    height: 6px;
    background: #1e293b;
    border: 1px solid var(--rk-end-border);
    border-radius: 3px;
    outline: none;
    margin: 15px 0;
}

.rk-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-end-accent);
    cursor: pointer;
    border: 2px solid var(--rk-end-bg);
    box-shadow: 0 1px 4px rgba(0,0,0,0.4);
    transition: transform 0.1s;
}

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

/* Wizualizacja Danych */
.rk-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-data-card {
    background: #0f172a;
    padding: 25px;
    border-radius: 12px;
    border: 1px solid var(--rk-end-border);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

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

.rk-card-bad::before { background: var(--rk-end-red); }
.rk-card-good::before { background: var(--rk-end-green); }

.rk-svg-wrap {
    height: 70px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-card-title {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--rk-end-title);
    margin-bottom: 10px;
}

.rk-card-cost {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-end-title);
}

.rk-card-bad .rk-card-cost { color: var(--rk-end-red); }
.rk-card-good .rk-card-cost { color: var(--rk-end-green); }

.rk-card-desc {
    font-size: 14px;
    color: var(--rk-end-text);
    margin-top: 10px;
    min-height: 40px;
    line-height: 1.6;
}

/* Animacje SVG */
.pipe-wall { transition: fill 0.5s ease; }
.pipe-flow { transition: stroke-width 0.5s ease, stroke 0.5s ease; }

@media (max-width: 768px) {
    .rk-end-header, .rk-end-interactive { padding: 25px 20px; }
    .rk-data-grid { grid-template-columns: 1fr; }
    .rk-end-header h2 { font-size: 22px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie – Woda demineralizowana z inhibitorem korozji to inwestycja, nie wydatek",
    "description": "Zalanie instalacji c.o. zdemineralizowanym medium grzewczym z inhibitorem korozji to gwarancja wydajności pompy ciepła i brak czarnego szlamu w rurach.",
    "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-10",
    "dateModified": "2026-06-10"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-podsumowanie",
    "name": "Porównanie kosztów eksploatacji instalacji c.o. z wodą demineralizowaną i wodociągową",
    "description": "Zestawienie finansowe obrazujące narastające koszty serwisu, płukania i wymiany podzespołów (np. zatartej pompy) dla układu zasilanego zwykłą kranówką w stosunku do instalacji z profesjonalnym płynem grzewczym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "koszty eksploatacji pompy ciepła",
      "cena płukania instalacji c.o.",
      "awaria pompy obiegowej",
      "osady w rurach pex",
      "ROI medium grzewczego"
    ],
    "measurementTechnique": "Algorytm sumujący koszt początkowy czynnika, cykliczne spadki wydajności COP, koszty chemicznego płukania szlamu co 4 lata oraz wymianę uszkodzonych części.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Kranówka: Niski koszt startowy, drastyczny wzrost kosztów serwisu z powodu osadzania kamienia i magnetytu.",
        "Woda z inhibitorem: Wyższy koszt startowy, płaska krzywa kosztów serwisowych przez 15 lat, optymalny transfer ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-podsumowanie",
    "name": "Interaktywny Kalkulator Oszczędności Eksploatacyjnych Medium Grzewczego",
    "description": "Aplikacja symulująca zużycie instalacji i narastające koszty serwisowe w czasie, w zależności od wybranego płynu do ogrzewania podłogowego. Generuje na żywo wizualizacje zatykających się rur.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-end-container" id="podsumowanie-app">
    <div class="rk-end-header">
        <h3>Ochrona pompy ciepła i niższe koszty eksploatacji w perspektywie lat</h3>
        <h2>Podsumowanie – Woda demineralizowana z inhibitorem korozji to inwestycja, nie wydatek</h2>
        
        <p class="rk-end-text">
            Wybór odpowiedniego medium grzewczego to nie kwestia estetyki, lecz bezwzględny wymóg techniczny nowoczesnego układu c.o. Zalanie ogrzewania podłogowego czynnikiem, jakim jest profesjonalna woda demineralizowana z inhibitorem korozji, gwarantuje utrzymanie fabrycznej sprawności pompy ciepła, eliminuje ryzyko powstawania czarnego szlamu i chroni komponenty przed kosztownymi awariami. Pamiętaj, że oszczędności szuka się na etapie <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">unikania błędów przy montażu</a>, a nie na płynie.
        </p>
        <p class="rk-end-text">
            Koszt zakupu preparatu to ułamek budżetu inwestycji. Zwraca się on w postaci niższych rachunków za energię i braku problemów serwisowych przez dekady. Decyzję o rodzaju płynu należy podjąć już na etapie projektowania układu i wpisać ją w protokół zasilenia. Zanim zdecydujesz się nalać kranówkę, przelicz, <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">jak często trzeba serwisować ogrzewanie podłogowe</a>, gdy rury zarosną magnetytem.
        </p>

        <div class="rk-end-tags">
            <span class="rk-mat-tag"># woda demineralizowana do podłogówki cena</span>
            <span class="rk-mat-tag"># czarne błoto w instalacji c.o. jak usunąć</span>
            <span class="rk-mat-tag"># płukanie ogrzewania podłogowego koszty</span>
            <span class="rk-mat-tag"># żywotność pompy ciepła a jakość wody</span>
        </div>
    </div>

    <div class="rk-end-interactive">
        <div class="rk-slider-box">
            <div class="rk-slider-label">
                <span>Symulator upływu czasu (lata eksploatacji):</span>
                <span class="rk-slider-value" id="yearValDisplay">Rok 1</span>
            </div>
            <input type="range" id="yearsSlider" class="rk-range" min="1" max="15" value="1" step="1">
        </div>

        <div class="rk-data-grid">
            <div class="rk-data-card rk-card-bad">
                <div class="rk-card-title">Zwykła woda wodociągowa</div>
                <div class="rk-svg-wrap">
                    <svg width="60" height="60" viewBox="0 0 100 100">
                        <circle cx="50" cy="50" r="45" fill="none" stroke="#334155" stroke-width="10"></circle>
                        <path id="pipeOsad" class="pipe-wall" d="M10,50 A40,40 0 0,0 90,50 Z" fill="transparent"></path>
                        <circle cx="50" cy="50" r="20" fill="none" id="pipeFlowBad" class="pipe-flow" stroke="#38bdf8" stroke-width="20" opacity="0.8"></circle>
                    </svg>
                </div>
                <div class="rk-card-cost" id="costBad">0 PLN</div>
                <div class="rk-card-desc" id="descBad">Koszty startowe równe zero. Czysta woda płynie bez oporów.</div>
            </div>

            <div class="rk-data-card rk-card-good">
                <div class="rk-card-title">Demineral + Inhibitor</div>
                <div class="rk-svg-wrap">
                    <svg width="60" height="60" viewBox="0 0 100 100">
                        <circle cx="50" cy="50" r="43" fill="none" stroke="#10b981" stroke-width="2" stroke-dasharray="4 4"></circle>
                        <circle cx="50" cy="50" r="45" fill="none" stroke="#334155" stroke-width="10"></circle>
                        <circle cx="50" cy="50" r="20" fill="none" stroke="#38bdf8" stroke-width="40" opacity="0.8"></circle>
                    </svg>
                </div>
                <div class="rk-card-cost" id="costGood">850 PLN</div>
                <div class="rk-card-desc" id="descGood">Większy wydatek na start, ale system zabezpieczony aktywną barierą.</div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('yearsSlider');
    const displayYear = document.getElementById('yearValDisplay');
    
    const costBadEl = document.getElementById('costBad');
    const costGoodEl = document.getElementById('costGood');
    const descBadEl = document.getElementById('descBad');
    const descGoodEl = document.getElementById('descGood');
    
    // Elementy SVG
    const pipeOsad = document.getElementById('pipeOsad');
    const pipeFlowBad = document.getElementById('pipeFlowBad');

    function updateSimulation(years) {
        displayYear.textContent = `Rok ${years}`;
        
        // Obliczenia dla Dobrego Medium (Demineral + Inhibitor)
        // Start: 850 PLN. Co 5 lat test płynu (150 PLN).
        let costGood = 850;
        if (years >= 5) costGood += 150;
        if (years >= 10) costGood += 150;
        if (years >= 15) costGood += 150;
        
        costGoodEl.textContent = `${costGood} PLN`;
        
        if (years === 1) {
            descGoodEl.innerHTML = "Większy wydatek na start, ale system zabezpieczony aktywną barierą.";
        } else if (years < 10) {
            descGoodEl.innerHTML = "Instalacja pracuje z maksymalnym COP. Pełny przepływ w pętlach.";
        } else {
            descGoodEl.innerHTML = "Drobne przeglądy chemiczne. Zero korozji, wymiennik i pompa jak nowe.";
        }

        // Obliczenia dla Złego Medium (Kranówka)
        // Start: 0 PLN.
        // Spadek wydajności: +120 PLN za prąd rocznie od 3 roku (kamień na grzałce/wymienniku).
        // Płukanie z błota: ok. 1500 PLN co 4-5 lat.
        // Awaria pompy (zatarcie przez magnetyt): ok. 1800 PLN w 7-8 roku.
        
        let costBad = 0;
        let badDesc = "Koszty startowe równe zero. Czysta woda płynie bez oporów.";
        
        // Symulacja osadu w SVG dopasowana do ciemnego motywu
        let osadFill = "transparent";
        let flowStrokeWidth = 20;

        if (years >= 2) {
            costBad += (years - 1) * 120; // spadek wydajności
            osadFill = "#64748b"; // szary osad
            flowStrokeWidth = 15;
            badDesc = "Wytrąca się kamień. Wymiennik traci sprawność, pompa ciepła pobiera więcej prądu.";
        }
        
        if (years >= 5) {
            costBad += 1500; // płukanie chemiczne
            osadFill = "#334155"; // ciemniejszy osad
            flowStrokeWidth = 10;
            badDesc = "Rotametry zablokowane czarnym szlamem. Konieczne drogie płukanie instalacji.";
        }
        
        if (years >= 8) {
            costBad += 1800; // wymiana pompy obiegowej
            osadFill = "#020617"; // bardzo ciemny szlam (magnetyt)
            flowStrokeWidth = 5;
            badDesc = "Magnetyt zatarł pompę obiegową. Ogromne koszty serwisu i brak ogrzewania zimą.";
        }
        
        if (years > 10) {
            costBad += 1500; // drugie płukanie
            badDesc = "Cykl się powtarza. Układ wżarty przez korozję elektrochemiczną.";
        }

        costBadEl.textContent = `${costBad} PLN`;
        descBadEl.innerHTML = badDesc;
        
        // Animacja osadu
        pipeOsad.setAttribute("fill", osadFill);
        pipeFlowBad.setAttribute("stroke-width", flowStrokeWidth);
    }

    slider.addEventListener('input', (e) => {
        updateSimulation(parseInt(e.target.value));
    });

    // Inicjalizacja
    updateSimulation(1);
});
</script>



<style>
:root {
    --rk-dl-bg: #0b1121;
    --rk-dl-card: #151e32;
    --rk-dl-card-hover: #1e293b;
    --rk-dl-border: #334155;
    --rk-dl-text: #cbd5e1;
    --rk-dl-title: #f8fafc;
    --rk-dl-muted: #94a3b8;
    --rk-dl-accent: #38bdf8; /* Cyjan */
    --rk-dl-pdf: #ef4444; /* Czerwony dla PDF */
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-dl-border);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    color: var(--rk-dl-text);
}

.rk-dl-header {
    padding: 40px;
    background: linear-gradient(135deg, #0b1121 0%, #151e32 100%);
    border-bottom: 1px solid var(--rk-dl-border);
}

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

.rk-dl-header h3 {
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-dl-accent);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-dl-intro {
    padding: 30px 40px;
    font-size: 15px;
    line-height: 1.7;
    background: #0b1121;
    border-bottom: 1px solid var(--rk-dl-border);
}

.rk-dl-intro strong {
    color: var(--rk-dl-title);
}

/* Moduł Główny */
.rk-dl-main {
    padding: 40px;
}

/* ------------------------------------------------ */
/* Układ Desktopowy (Zakładki poziome u góry)       */
/* ------------------------------------------------ */
@media (min-width: 769px) {
    .rk-dl-wrapper {
        width: 100%;
        background: var(--rk-dl-card);
        border: 1px solid var(--rk-dl-border);
        border-radius: 12px;
        overflow: hidden;
    }
    
    .rk-dl-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
        background: #0f172a;
    }

    .rk-dl-item { display: contents; }

    .rk-dl-trigger {
        grid-row: 1;
        padding: 20px;
        background: #0f172a;
        border: none;
        border-bottom: 1px solid var(--rk-dl-border);
        border-right: 1px solid var(--rk-dl-border);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 15px;
        cursor: pointer;
    }

    .rk-dl-item:nth-child(1) .rk-dl-trigger { grid-column: 1; }
    .rk-dl-item:nth-child(2) .rk-dl-trigger { grid-column: 2; border-right: none; }

    .rk-dl-trigger:hover { background: var(--rk-dl-card-hover); }

    .rk-dl-item.active .rk-dl-trigger {
        background: var(--rk-dl-card);
        border-bottom: 3px solid var(--rk-dl-accent);
    }
    
    .rk-dl-item:nth-child(2).active .rk-dl-trigger {
        border-bottom: 3px solid var(--rk-dl-pdf);
    }

    .rk-dl-trigger-title {
        font-size: 16px;
        font-weight: 800;
        color: var(--rk-dl-title);
    }

    .rk-dl-item.active[data-target="view"] .rk-dl-trigger-title { color: var(--rk-dl-accent); }
    .rk-dl-item.active[data-target="pdf"] .rk-dl-trigger-title { color: var(--rk-dl-pdf); }

    .rk-dl-icon { display: none; } /* Ikony +/- chowamy na desktopie */

    .rk-dl-content {
        grid-row: 2;
        grid-column: 1 / 3;
        display: none;
        background: var(--rk-dl-card);
        width: 100%;
    }

    .rk-dl-item.active .rk-dl-content {
        display: block;
    }
    
    .rk-dl-body {
        padding: 40px;
    }
}

/* ------------------------------------------------ */
/* Układ Mobilny (Pionowy Akordeon)                 */
/* ------------------------------------------------ */
@media (max-width: 768px) {
    .rk-dl-header, .rk-dl-intro, .rk-dl-main { padding: 25px 20px; }
    .rk-dl-header h2 { font-size: 22px; }

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

    .rk-dl-nav { display: contents; }

    .rk-dl-item {
        background: var(--rk-dl-card);
        border: 1px solid var(--rk-dl-border);
        border-radius: 10px;
        overflow: hidden;
    }

    .rk-dl-item.active[data-target="view"] { border-color: var(--rk-dl-accent); }
    .rk-dl-item.active[data-target="pdf"] { border-color: var(--rk-dl-pdf); }

    .rk-dl-trigger {
        width: 100%;
        padding: 18px 20px;
        background: transparent;
        border: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
        text-align: left;
    }

    .rk-dl-item.active .rk-dl-trigger {
        background: #0b1121;
        border-bottom: 1px solid var(--rk-dl-border);
    }

    .rk-dl-trigger-content {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .rk-dl-trigger-title {
        font-size: 15px;
        font-weight: 800;
        color: var(--rk-dl-title);
    }

    .rk-dl-item.active[data-target="view"] .rk-dl-trigger-title { color: var(--rk-dl-accent); }
    .rk-dl-item.active[data-target="pdf"] .rk-dl-trigger-title { color: var(--rk-dl-pdf); }

    .rk-dl-icon {
        width: 24px;
        height: 24px;
        position: relative;
        flex-shrink: 0;
        margin-left: 10px;
    }

    .rk-dl-icon::before, .rk-dl-icon::after {
        content: '';
        position: absolute;
        background: var(--rk-dl-muted);
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .rk-dl-icon::before { width: 14px; height: 2px; }
    .rk-dl-icon::after { width: 2px; height: 14px; }

    .rk-dl-item.active[data-target="view"] .rk-dl-icon::before { background: var(--rk-dl-accent); }
    .rk-dl-item.active[data-target="pdf"] .rk-dl-icon::before { background: var(--rk-dl-pdf); }
    .rk-dl-item.active .rk-dl-icon::after { display: none; }

    .rk-dl-content { display: none; }
    .rk-dl-item.active .rk-dl-content { display: block; }

    .rk-dl-body {
        padding: 20px;
    }
}

/* Wnętrze Zakładek */
.rk-image-preview {
    width: 100%;
    border-radius: 8px;
    border: 1px solid var(--rk-dl-border);
    display: block;
}

.rk-pdf-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px 0;
}

.rk-pdf-icon-svg {
    width: 64px;
    height: 64px;
    color: var(--rk-dl-pdf);
    margin-bottom: 20px;
}

.rk-pdf-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-dl-title);
    margin: 0 0 10px 0;
}

.rk-pdf-desc {
    font-size: 15px;
    color: var(--rk-dl-text);
    margin: 0 0 25px 0;
    max-width: 500px;
    line-height: 1.6;
}

.rk-btn-download {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--rk-dl-pdf);
    color: #ffffff;
    padding: 16px 32px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
}

.rk-btn-download:hover {
    background: #dc2626;
}

.rk-copyright-box {
    margin-top: 30px;
    padding: 15px;
    background: rgba(255,255,255,0.02);
    border-left: 3px solid var(--rk-dl-muted);
    font-size: 12px;
    line-height: 1.6;
    color: var(--rk-dl-muted);
    text-align: left;
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/"
    },
    "headline": "Infografika: Parametry zalecanej wody i skutki braku inhibitora w instalacji",
    "description": "Darmowy materiał edukacyjny w formacie PDF. Kompendium wiedzy o parametrach wody (pH, przewodność) i skutkach stosowania kranówki w pompach ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.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-11",
    "dateModified": "2026-06-11"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#dataset-infografika",
    "name": "Zestawienie parametrów wody kotłowej i diagnoza osadów",
    "description": "Dane techniczne zaprezentowane w formie graficznej, obejmujące optymalne zakresy pH, dopuszczalne stężenie chlorków oraz wizualizację szlamu magnetytowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe pdf",
      "parametry wody kotłowej tabela",
      "jakie ph do pompy ciepła",
      "woda demineralizowana właściwości",
      "skutki zalania podłogówki kranówką"
    ],
    "measurementTechnique": "Zestawienie normatywne parametrów chemicznych zładu (DIN 4726, PN-EN 12828) opracowane w czytelnej formie graficznej do użytku na budowie.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalne pH: 7.0 - 9.0",
        "Przewodność elektryczna: < 50 μS/cm",
        "Chlorki (Cl-): < 25 mg/l",
        "Żelazo (Fe): < 0.1 mg/l"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/#webapp-infografika",
    "name": "Przeglądarka Infografik i Materiałów PDF",
    "description": "Moduł umożliwiający szybki podgląd technicznej infografiki w wysokiej rozdzielczości (WebP) oraz bezpieczne pobranie pliku do druku (PDF).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="infographic-download-app">
    <div class="rk-dl-header">
        <h3>Materiały do pobrania</h3>
        <h2>Infografika: Parametry zalecanej wody i skutki braku inhibitora w instalacji</h2>
    </div>

    <div class="rk-dl-intro">
        <p>
            Przygotowałem dla Państwa kompleksowe zestawienie w formie czytelnej grafiki. Znajdziecie tam <strong>rygorystyczne parametry zalecanej wody (pH, przewodność, stężenie chlorków)</strong> oraz wizualizację tego, co dzieje się we wnętrzu rur po 5 latach od zalania układu zwykłą kranówką. Materiał ten warto mieć pod ręką podczas rozmowy z instalatorem.
        </p>
    </div>

    <div class="rk-dl-main">
        <div class="rk-dl-wrapper">
            <div class="rk-dl-nav">
                
                <div class="rk-dl-item active" data-target="view">
                    <button class="rk-dl-trigger">
                        <div class="rk-dl-trigger-content">
                            <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="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>
                            <span class="rk-dl-trigger-title">Podgląd Infografiki</span>
                        </div>
                        <div class="rk-dl-icon"></div>
                    </button>
                    <div class="rk-dl-content">
                        <div class="rk-dl-body">
                            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego.webp" alt="Infografika - Parametry wody do ogrzewania podłogowego i wpływ na żywotność instalacji" class="rk-image-preview" loading="lazy">
                        </div>
                    </div>
                </div>

                <div class="rk-dl-item" data-target="pdf">
                    <button class="rk-dl-trigger">
                        <div class="rk-dl-trigger-content">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 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>
                            <span class="rk-dl-trigger-title">Pobierz plik PDF</span>
                        </div>
                        <div class="rk-dl-icon"></div>
                    </button>
                    <div class="rk-dl-content">
                        <div class="rk-dl-body">
                            <div class="rk-pdf-box">
                                <svg class="rk-pdf-icon-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                                
                                <h4 class="rk-pdf-title">Raport Ekspercki do druku</h4>
                                <p class="rk-pdf-desc">
                                    Pobierz bezstratną wersję w formacie PDF. Idealna do wydruku w formacie A4 lub przesłania wykonawcy przed rozpoczęciem prac instalacyjnych w Twojej kotłowni.
                                </p>

                                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego.pdf" target="_blank" class="rk-btn-download">
                                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                                    Pobierz plik PDF
                                </a>

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

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

<script>
document.addEventListener('DOMContentLoaded', function() {
    const isDesktop = () => window.matchMedia("(min-width: 769px)").matches;
    const ruleItems = document.querySelectorAll('.rk-dl-item');

    ruleItems.forEach(item => {
        const trigger = item.querySelector('.rk-dl-trigger');
        const content = item.querySelector('.rk-dl-content');

        trigger.addEventListener('click', () => {
            const wasActive = item.classList.contains('active');

            // Reset
            ruleItems.forEach(otherItem => {
                otherItem.classList.remove('active');
            });

            // Aktywacja
            if (!wasActive || isDesktop()) {
                item.classList.add('active');
            }
        });
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">Woda demineralizowana z inhibitorem korozji do 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>Jak często trzeba serwisować ogrzewanie podłogowe?</title>
		<link>https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 12 Oct 2025 12:21:11 +0000</pubDate>
				<category><![CDATA[Domowe systemy grzewcze]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Konserwacja systemów grzewczych]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki domowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady dla domu]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Serwis i konserwacja]]></category>
		<category><![CDATA[Systemy grzewcze]]></category>
		<category><![CDATA[częstotliwość serwisu ogrzewania]]></category>
		<category><![CDATA[jak dbać o ogrzewanie podłogowe]]></category>
		<category><![CDATA[konserwacja ogrzewania podłogowego]]></category>
		<category><![CDATA[koszt serwisu ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe wodne]]></category>
		<category><![CDATA[płukanie instalacji grzewczej]]></category>
		<category><![CDATA[przegląd instalacji grzewczej]]></category>
		<category><![CDATA[rozdzielacz ogrzewania podłogowego]]></category>
		<category><![CDATA[serwis ogrzewania podłogowego]]></category>
		<category><![CDATA[zapowietrzone ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2801</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe to synonim komfortu i efektywnego rozprowadzania ciepła. Jednak, aby przez lata cieszyć się jego bezawaryjną pracą, niezbędna jest odpowiednia profilaktyka. Wielu inwestorów zastanawia się więc, jak często trzeba serwisować ogrzewanie podłogowe i czy naprawdę jest to konieczne. Odpowiedź jest kluczowa dla zdrowia całej instalacji. Regularne przeglądy to nie fanaberia, a konieczność, która pozwala uniknąć kosztownych awarii w środku sezonu grzewczego, zapewnia optymalną wydajność i znacząco wydłuża żywotność wszystkich komponentów systemu. W naszym artykule znajdziesz szczegółowy harmonogram prac serwisowych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">Jak często trzeba serwisować ogrzewanie podłogowe?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Jak często trzeba serwisować ogrzewanie podłogowe?</strong>&nbsp;To pytanie zadaje sobie wielu właścicieli domów i mieszkań, którzy zdecydowali się na ten komfortowy system grzewczy. Odpowiedź nie jest jednoznaczna, ponieważ zależy od typu instalacji, jej elementów oraz intensywności użytkowania. W tym artykule rozwiejemy wszystkie wątpliwości, przedstawiając szczegółowy harmonogram przeglądów dla wodnego ogrzewania podłogowego. Dowiesz się, które czynności możesz wykonać samodzielnie, a kiedy bezwzględnie należy wezwać specjalistę, aby zapewnić systemowi długą i bezawaryjną żywotność.</p>



<h2 class="wp-block-heading">Wodne ogrzewanie podłogowe – system wymagający regularnej uwagi</h2>



<p class="wp-block-paragraph">Wodne ogrzewanie podłogowe to system, który cieszy się ogromną popularnością ze względu na swoją energooszczędność i komfort cieplny. Składa się z wielu skomplikowanych elementów: źródła ciepła (kocioł, pompa ciepła), <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacza</a>, pompy obiegowej, <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur</a> ukrytych w wylewce oraz sterowników. To właśnie złożoność tej instalacji sprawia, że <strong>regularny serwis ogrzewania podłogowego</strong> jest nie tyle zalecany, co konieczny.</p>



<p class="wp-block-paragraph">Wielu inwestorów popełnia błąd, traktując instalację jako &#8222;zapomnianą&#8221; po jej montażu. Niestety, brak profilaktyki może prowadzić do spadku wydajności, zwiększonych kosztów ogrzewania, a w skrajnych przypadkach – do kosztownych awarii. Poniżej przedstawiamy kompletny harmonogram, który pomoże Ci utrzymać system w idealnej kondycji.</p>



<h3 class="wp-block-heading">Roczny przegląd techniczny – podstawa bezpieczeństwa i efektywności</h3>



<p class="wp-block-paragraph"><strong>Bezwzględnym minimum</strong>&nbsp;jest przeprowadzenie corocznego przeglądu przez wykwalifikowanego serwisanta. Najlepszym momentem na tę czynność jest koniec lata lub początek jesieni, czyli tuż przed rozpoczęciem sezonu grzewczego. Dlaczego to takie ważne? Pozwala to na identyfikację i usunięcie potencjalnych problemów zanim nadejdą mrozy, kiedy awaria systemu grzewczego jest szczególnie dotkliwa.</p>



<ul class="wp-block-list">
<li><strong>Kontrola źródła ciepła:</strong> Serwisant powinien dokładnie sprawdzić kocioł gazowy, kondensacyjny lub pompę ciepła. Czynności obejmują:
<ul class="wp-block-list">
<li>Pomiar ciśnienia w instalacji i sprawdzenie szczelności.</li>



<li>Kontrolę spalin dla kotłów gazowych (sprawność combustion).</li>



<li>Czyszczenie wymiennika i palnika.</li>



<li>Sprawdzenie parametrów pracy i ewentualną kalibrację.</li>



<li><strong>Zalecamy</strong> korzystanie z usług autoryzowanych serwisów, które dysponują odpowiednim sprzętem i wiedzą na temat Twojego urządzenia.</li>
</ul>
</li>



<li><strong>Przegląd rozdzielacza ogrzewania podłogowego:</strong> To &#8222;serce&#8221; całego systemu. Specjalista:
<ul class="wp-block-list">
<li><strong>Odpowietrzy instalację</strong> – to kluczowa czynność, ponieważ powietrze w rurach jest najczęstszą przyczyną nierównego grzania i tzw. &#8222;zimnych placów&#8221; na podłodze.</li>



<li>Sprawdzi działanie siłowników i głowic termostatycznych – czy prawidłowo otwierają i zamykają przepływ do poszczególnych pętli grzewczych.</li>



<li>Skontroluje stan zaworów odcinających i regulacyjnych.</li>



<li>Sprawdzi działanie pompy obiegowej.</li>
</ul>
</li>



<li><strong>Wyregulowanie hydrauliczne systemu:</strong> To często pomijany, ale niezwykle ważny element. Polega na takim ustawieniu przepływów na rozdzielaczu, aby każda <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">pętla grzewcza</a> otrzymywała dokładnie taką ilość ciepłej wody, jaka jest potrzebna do osiągnięcia jednakowej temperatury w wszystkich pomieszczeniach. Dzięki temu unikniesz sytuacji, w której jedna część domu jest przegrzana, a druga zimna.</li>
</ul>



<h2 class="wp-block-heading">Czynności serwisowe w dłuższych odstępach czasu</h2>



<p class="wp-block-paragraph">Podczas gdy przegląd roczny jest standardem, istnieją czynności, które należy wykonywać rzadziej, ale są równie istotne dla żywotności instalacji.</p>



<h3 class="wp-block-heading">Płukanie instalacji – dlaczego jest konieczne?</h3>



<p class="wp-block-paragraph"><strong>Co 3 do 5 lat</strong>&nbsp;należy rozważyć&nbsp;<strong>płukanie i czyszczenie chemiczne</strong>&nbsp;całej instalacji grzewczej. Nawet jeśli na początku napełniona była czystą wodą z inhibitorami korozji, z czasem zachodzą w niej niekorzystne procesy.</p>



<ul class="wp-block-list">
<li><strong>Powstawanie osadów:</strong> W wyniku korozji wewnętrznej oraz wytrącania się związków mineralnych z wody (szczególnie w rejonach z twardą wodą) w rurach i innych elementach tworzy się muł, kamień kotłowy i biofilm.</li>



<li><strong>Skutki zanieczyszczeń:</strong> Te osady działają jak izolator, pogarszając wymianę ciepła między wodą a podłogą. System staje się mniej wydajny, a Ty płacisz wyższe rachunki za ogrzewanie. Dodatkowo, zanieczyszczenia obciążają pompę obiegową, mogą blokować zawory i prowadzić do awarii drogich komponentów.</li>



<li><strong>Przebieg procesu:</strong> Serwisant używa specjalistycznej pompy, która tłoczy przez instalację środki chemiczne rozpuszczające osady. Następnie instalacja jest dokładnie płukana czystą wodą, zanim zostanie ponownie napełniona i zabezpieczona inhibitorami.</li>
</ul>



<p class="wp-block-paragraph">Warto zaznaczyć, że na potrzeby takiego serwisu, warto wyposażyć instalację w odpowiednie&nbsp;<strong>zawory serwisowe</strong>&nbsp;już na etapie projektu, co znacznie ułatwi ten proces.</p>



<h2 class="wp-block-heading">Rola użytkownika – codzienna obserwacja i proste czynności</h2>



<p class="wp-block-paragraph">Odpowiedzialność za stan ogrzewania podłogowego nie spoczywa wyłącznie na serwisancie. Jako użytkownik możesz i powinieneś wykonywać regularne, proste obserwacje, które pozwolą w porę wychwycić nieprawidłowości.</p>



<h3 class="wp-block-heading">Kontrola ciśnienia w instalacji</h3>



<p class="wp-block-paragraph">Raz w miesiącu, a koniecznie przed sezonem grzewczym, rzuć okiem na&nbsp;<strong>manometr</strong>&nbsp;(wskazówkę ciśnienia), który zazwyczaj znajduje się na kotle lub przy rozdzielaczu. Prawidłowe ciśnienie w zimnej instalacji mieści się zwykle w przedziale&nbsp;<strong>1,0 – 1,5 bara</strong>. Jeśli zauważysz, że ciśnienie systematycznie spada (np. poniżej 0,8 bara) i musisz je często uzupełniać, jest to wyraźny sygnał, że w systemie może być nieszczelność. W takim przypadku niezwłocznie skontaktuj się z serwisem.</p>



<h3 class="wp-block-heading">Testowe uruchomienie systemu</h3>



<p class="wp-block-paragraph">Zanim na dobre rozpocznie się sezon grzewczy, uruchom ogrzewanie na niskiej temperaturze (np. 20-21°C) i pozwól mu pracować przez dzień lub dwa. Przejdź się po wszystkich pomieszczeniach i dotknij podłogi. Czy jest równomiernie ciepła? Czy nie ma miejsc, które pozostają zimne? Czy słyszysz jakieś niepokojące dźwięki, takie jak bulgotanie lub szum? Taki test pozwoli Ci zweryfikować działanie systemu w kontrolowanych warunkach, zanim będzie musiał zmierzyć się z siarczystym mrozem.</p>



<h2 class="wp-block-heading">Sygnały ostrzegawcze – kiedy nie zwlekać z wezwaniem pomocy?</h2>



<p class="wp-block-paragraph">Niektóre problemy nie mogą czekać na coroczny przegląd. Jeśli zaobserwujesz którykolwiek z poniższych objawów, działaj natychmiast.</p>



<ul class="wp-block-list">
<li><strong>Wyraźnie nierówne grzanie podłogi:</strong> Gdy niektóre jej fragmenty są ciepłe, a inne zimne, to niemal pewny objaw zapowietrzenia którejś z pętli lub jej zablokowania przez zanieczyszczenia.</li>



<li><strong>Gwałtowny spadek ciśnienia:</strong> Manometr wskazuje wartość bliską zeru, a uzupełnianie wody nie daje trwałego efektu.</li>



<li><strong>Dostrzegalny wyciek wody:</strong> W okolicy rozdzielacza, kotła lub na rurach widoczne są krople wody, kałuże lub zacięki.</li>



<li><strong>Nietypowe dźwięki:</strong> Głośne bulgotanie, pukanie, terkotanie lub gwiżdżąca pompa obiegowa to sygnały, że w systemie jest powietrze, pompa jest uszkodzona lub występują inne problemy hydrauliczne.</li>



<li><strong>System całkowicie nie reaguje:</strong> Ogrzewanie nie włącza się pomocy ustawienia wyższej temperatury na sterowniku. Przyczyn może być wiele, od awarii źródła ciepła po problem z zasilaniem.</li>
</ul>



<h2 class="wp-block-heading">Znaczenie projektu instalacji dla późniejszego serwisu</h2>



<p class="wp-block-paragraph">Warto wspomnieć, że łatwość i koszt późniejszego <strong>serwisu ogrzewania podłogowego</strong> są w dużej mierze uzależnione od jego <strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki">profesjonalnego projektu</a></strong>. Dobry projekt przewiduje między innymi:</p>



<ul class="wp-block-list">
<li><strong>Odpowiedni dostęp do rozdzielacza:</strong> Powinien on być zamontowany w takim miejscu (np. w szafce ściennej), aby serwisant miał swobodny dostęp do wszystkich jego elementów.</li>



<li><strong>Montaż zaworów odcinających i odpowietrzników:</strong> Umożliwiają one odizolowanie części systemu, odpowietrzanie i podłączanie urządzeń do płukania.</li>



<li><strong>Podział na strefy grzewcze:</strong> Logiczny podział na pętle ułatwia późniejsze diagnozowanie problemów i regulację systemu.</li>



<li><strong>Dobór odpowiedniego źródła ciepła:</strong> Urządzenie o odpowiedniej mocy i parametrach będzie pracowało sprawniej i z mniejszym ryzykiem awarii.</li>
</ul>



<p class="wp-block-paragraph">Inwestycja w <strong>profesjonalny projekt ogrzewania podłogowego</strong> zwraca się z nawiązaniem przez cały okres użytkowania domu, w postaci niższych rachunków, mniejszej liczby awarii i prostszego serwisowania. </p>



<h2 class="wp-block-heading">FAQ: Konserwacja ogrzewania podłogowego – najczęstsze pytania</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1760268473288"><strong class="schema-faq-question"><strong>Czy coroczny przegląd ogrzewania podłogowego jest obowiązkowy?</strong></strong> <p class="schema-faq-answer">Tak. Roczny serwis to działania profilaktyczne. Pozwala on wychwycić drobne usterki (jak spadki ciśnienia czy minimalne zapowietrzenie), zanim przekształcą się one w kosztowną awarię w środku zimy.</p> </div> <div class="schema-faq-section" id="faq-question-1760268583548"><strong class="schema-faq-question"><strong>Jakie prace serwisowe mogę wykonać sam?</strong></strong> <p class="schema-faq-answer">Do samodzielnych czynności należy miesięczna <strong>kontrola ciśnienia</strong> na manometrze (norma: 1,0-1,5 bara) oraz testowe uruchomienie systemu przed sezonem w celu sprawdzenia równomierności grzania.</p> </div> <div class="schema-faq-section" id="faq-question-1760268592585"><strong class="schema-faq-question"><strong>Po czym poznaję, że instalacja jest zapowietrzona?</strong></strong> <p class="schema-faq-answer">Głównym objawem są <strong>nierówno grzejące się place podłogi</strong> (ciepłe obok zimnych) oraz bulgotanie dochodzące z rozdzielacza. Naprawa polega na odpowietrzeniu instalacji na kolektorze.</p> </div> <div class="schema-faq-section" id="faq-question-1760268608717"><strong class="schema-faq-question"><strong>Co ile lat należy płukać instalację?</strong></strong> <p class="schema-faq-answer">Zalecany okres to <strong>co 3-5 lat</strong>. Częstotliwość zależy od twardości wody i stosowania inhibitorów. Zabieg ten usuwa osady, które pogarszają wydajność grzania i obciążają pompę.</p> </div> <div class="schema-faq-section" id="faq-question-1760268628877"><strong class="schema-faq-question"><strong>Czy serwis wydłuża żywotność systemu?</strong></strong> <p class="schema-faq-answer">Zdecydowanie tak. Czysta i wyregulowana instalacja pracuje optymalnie, mniej obciążając swoje kluczowe komponenty (kocioł, pompę, zawory), co znacząco przedłuża ich żywotność.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie – regularity to klucz do sukcesu</h2>



<p class="wp-block-paragraph">Odpowiadając na pytanie&nbsp;<strong>&#8222;Jak często trzeba serwisować ogrzewanie podłogowe?&#8221;</strong>&nbsp;– kluczowe jest zrozumienie, że to system, który wymaga&nbsp;<strong>regularnej, profilaktycznej opieki</strong>. Roczny przegląd przez specjalistę to podstawa, która zapewni bezpieczeństwo i efektywność. Płukanie instalacji co kilka lat przedłuży jej żywotność, a czujność samego użytkownika pozwoli na szybką reakcję w razie problemów. Pamiętaj, że koszt corocznego przeglądu jest nieporównywalnie niższy od kosztów naprawy awarii czy strat energii spowodowanych przez zaniedbany system. Inwestując w&nbsp;<strong>konserwację ogrzewania podłogowego</strong>, inwestujesz w długotrwały komfort i spokój ducha.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">Jak często trzeba serwisować ogrzewanie podłogowe?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Objawy zapowietrzenia ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 06 Mar 2025 12:20:59 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Eksploatacja instalacji]]></category>
		<category><![CDATA[Hydraulika domowa]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie domu]]></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[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Serwis i konserwacja]]></category>
		<category><![CDATA[błędy montażowe]]></category>
		<category><![CDATA[bulgotanie w rurach]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[konserwacja instalacji]]></category>
		<category><![CDATA[nierównomierne grzanie]]></category>
		<category><![CDATA[objawy zapowietrzenia]]></category>
		<category><![CDATA[odpowietrzanie instalacji]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[serwis ogrzewania]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2359</guid>

					<description><![CDATA[<p>Objawy zapowietrzenia ogrzewania podłogowego mogą być łatwo rozpoznawalne, jeśli wiesz, na co zwrócić uwagę. Chłodne miejsca na podłodze, bulgotanie w rurach czy wydłużony czas nagrzewania to sygnały, że w instalacji znajduje się powietrze. Bagatelizowanie problemu może prowadzić do większych usterek i wyższych rachunków za ogrzewanie. Dowiedz się, jakie są najczęstsze przyczyny zapowietrzenia, jak skutecznie odpowietrzyć instalację oraz jak zapobiegać problemowi w przyszłości. Dzięki temu Twój system grzewczy będzie działał sprawnie i efektywnie.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">Objawy zapowietrzenia ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Każdy właściciel ogrzewania podłogowego powinien umieć szybko rozpoznać, czy system działa poprawnie. Jednym z najczęstszych problemów jest zapowietrzenie instalacji, które może znacząco obniżyć komfort cieplny w pomieszczeniach. W tym artykule podpowiadamy, jakie są najczęstsze <strong>objawy zapowietrzenia ogrzewania podłogowego</strong> oraz jak sobie z nimi poradzić.</p>



<h2 class="wp-block-heading">Objawy zapowietrzenia ogrzewania podłogowego – jak je rozpoznać?</h2>



<p class="wp-block-paragraph">Zapowietrzenie instalacji podłogowej objawia się w bardzo charakterystyczny sposób, co pozwala szybko podjąć odpowiednie działania naprawcze. Do najczęstszych symptomów należą:</p>



<ul class="wp-block-list">
<li>nierównomierne grzanie podłogi – odczuwalne chłodniejsze miejsca na powierzchni,</li>



<li>głośne szumy, bulgotanie lub charakterystyczne stukanie w rurach,</li>



<li>długie nagrzewanie się pomieszczeń mimo ustawionej wysokiej temperatury,</li>



<li>spadek efektywności energetycznej – zauważalne w wyższych rachunkach za ogrzewanie.</li>
</ul>



<p class="wp-block-paragraph">Warto szybko reagować na takie oznaki, by uniknąć większych usterek i kosztownych napraw.</p>



<h2 class="wp-block-heading">Jak powstaje zapowietrzenie ogrzewania podłogowego?</h2>



<p class="wp-block-paragraph">Zapowietrzenie instalacji podłogowej najczęściej powstaje podczas napełniania lub uruchamiania systemu. Powietrze może również dostać się do układu podczas prac konserwacyjnych, awarii lub niewłaściwego montażu. Czasem przyczyną może być także niedokładne odpowietrzenie po napełnianiu instalacji lub po przerwie w użytkowaniu ogrzewania.</p>



<p class="wp-block-paragraph">Ważne jest, aby pamiętać, że zapowietrzona instalacja <a href="https://projekt-ogrzewania.pl/category/ogrzewanie-podlogowe/">ogrzewania podłogowego</a> nie tylko źle grzeje, ale również przyczynia się do szybszego zużywania komponentów, takich jak pompy czy rozdzielacze.</p>



<h3 class="wp-block-heading">Najczęstsze przyczyny zapowietrzenia:</h3>



<ul class="wp-block-list">
<li>Nieszczelności instalacji.</li>



<li>Błędy montażowe.</li>



<li>Brak regularnych kontroli technicznych.</li>



<li>Niepoprawne napełnianie i uruchamianie ogrzewania.</li>
</ul>



<h2 class="wp-block-heading">Co zrobić, gdy podejrzewasz zapowietrzenie podłogówki?</h2>



<p class="wp-block-paragraph">Jeśli zauważysz objawy zapowietrzenia ogrzewania podłogowego, pierwszym krokiem powinno być sprawdzenie rozdzielacza ogrzewania podłogowego. Jest to kluczowy element systemu, którego prawidłowe działanie ma decydujące znaczenie dla skuteczności całej instalacji.</p>



<p class="wp-block-paragraph">Najczęściej wystarczy odpowietrzenie układu, co możesz wykonać samodzielnie, korzystając z zaworów odpowietrzających na rozdzielaczu. Jeśli jednak problem utrzymuje się po takim zabiegu, warto zwrócić się o pomoc do specjalistów.</p>



<p class="wp-block-paragraph">Więcej o tym, jak działa rozdzielacz do podłogówki, przeczytasz tutaj: <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacz do podłogówki – kluczowy element systemu ogrzewania podłogowego</a>.</p>



<h2 class="wp-block-heading">Konsekwencje ignorowania zapowietrzenia ogrzewania podłogowego</h2>



<p class="wp-block-paragraph">Nie warto bagatelizować objawów zapowietrzenia ogrzewania podłogowego, gdyż może to prowadzić do poważniejszych problemów, takich jak:</p>



<ul class="wp-block-list">
<li>Korozja rur i komponentów instalacji.</li>



<li>Skrócenie żywotności pomp i rozdzielaczy.</li>



<li>Zwiększone zużycie energii.</li>



<li>Kosztowne remonty i naprawy instalacji.</li>
</ul>



<p class="wp-block-paragraph">Regularne sprawdzanie instalacji pozwala uniknąć tych nieprzyjemności i zapewnia długą, bezawaryjną pracę ogrzewania.</p>



<h2 class="wp-block-heading">Jak zapobiegać zapowietrzeniu instalacji podłogowej?</h2>



<p class="wp-block-paragraph">Aby uniknąć objawów zapowietrzenia ogrzewania podłogowego, warto pamiętać o kilku prostych zasadach:</p>



<ul class="wp-block-list">
<li>Regularnie kontroluj i odpowietrzaj system.</li>



<li>Dbaj o szczelność instalacji – unikaj samodzielnych modyfikacji, jeśli nie masz odpowiednich kwalifikacji.</li>



<li>Korzystaj z usług doświadczonych specjalistów zarówno podczas montażu, jak i późniejszego serwisu.</li>
</ul>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego – dlaczego jest tak ważny?</h2>



<p class="wp-block-paragraph">Aby uniknąć problemów takich jak zapowietrzenie instalacji podłogowej, kluczowe znaczenie ma profesjonalnie przygotowany <strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt ogrzewania podłogowego</a></strong>. Dzięki dobrze zaplanowanej instalacji unikasz błędów montażowych, które często prowadzą do późniejszych usterek, takich jak właśnie zapowietrzenie.</p>



<p class="wp-block-paragraph">Na naszej stronie znajdziesz kompleksowe projekty dostosowane do potrzeb zarówno małych mieszkań, jak i dużych budynków. Projekt uwzględnia nie tylko rozmieszczenie <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur</a> czy rozdzielaczy, ale również kwestie efektywności energetycznej i komfortu cieplnego, minimalizując ryzyko awarii.</p>



<h2 class="wp-block-heading">Kiedy wezwać specjalistę?</h2>



<p class="wp-block-paragraph">Samodzielne odpowietrzanie instalacji może nie przynieść oczekiwanych rezultatów, jeśli problem tkwi głębiej, np. w nieszczelnościach lub błędach projektowych. W takich przypadkach najlepiej skontaktować się ze specjalistą, który oceni stan systemu i zaproponuje najskuteczniejsze rozwiązanie.</p>



<p class="wp-block-paragraph">Specjaliści mają odpowiednią wiedzę oraz narzędzia, aby szybko i skutecznie rozwiązać problem zapowietrzenia podłogówki, zabezpieczając Cię przed dodatkowymi kosztami naprawy czy remontów.</p>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1741262491737"><strong class="schema-faq-question"><strong>Jakie są najczęstsze objawy zapowietrzenia ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Zapowietrzona instalacja może powodować nierównomierne nagrzewanie podłogi, bulgotanie w rurach, stukanie oraz dłuższy czas osiągania zadanej temperatury.</p> </div> <div class="schema-faq-section" id="faq-question-1741262502426"><strong class="schema-faq-question"><strong>Jak odpowietrzyć ogrzewanie podłogowe?</strong></strong> <p class="schema-faq-answer">Można to zrobić, korzystając z zaworów odpowietrzających na rozdzielaczu. Jeśli problem nie ustępuje, warto skorzystać z pomocy specjalisty.</p> </div> <div class="schema-faq-section" id="faq-question-1741262517675"><strong class="schema-faq-question"><strong>Czy zapowietrzenie ogrzewania podłogowego zwiększa rachunki za ogrzewanie?</strong></strong> <p class="schema-faq-answer">Tak, ponieważ zapowietrzony system działa mniej efektywnie, co prowadzi do zwiększonego zużycia energii i wyższych kosztów eksploatacji.</p> </div> <div class="schema-faq-section" id="faq-question-1741262613371"><strong class="schema-faq-question"><strong>Jakie są najczęstsze przyczyny zapowietrzenia instalacji podłogowej?</strong></strong> <p class="schema-faq-answer">Do głównych przyczyn należą błędy montażowe, nieszczelności, nieprawidłowe napełnianie systemu oraz brak regularnych kontroli i odpowietrzania.</p> </div> <div class="schema-faq-section" id="faq-question-1741262621482"><strong class="schema-faq-question"><strong>Jak zapobiegać zapowietrzeniu ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Kluczowe jest regularne odpowietrzanie, dbanie o szczelność instalacji oraz korzystanie z dobrze zaprojektowanego systemu ogrzewania podłogowego, dostosowanego do potrzeb budynku.</p> </div> </div>



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



<p class="wp-block-paragraph">Regularna kontrola, odpowiednie odpowietrzanie instalacji oraz dobrze wykonany projekt ogrzewania podłogowego to klucz do komfortowego i bezpiecznego użytkowania systemu grzewczego. Jeśli zauważysz jakiekolwiek objawy zapowietrzenia, nie zwlekaj – szybka reakcja pozwoli Ci zaoszczędzić czas, pieniądze oraz zapewni niezawodne działanie ogrzewania przez wiele lat.</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="ySPp8NrX7G"><a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-100-m2/">Projekt ogrzewania podłogowego &#8211; do 100 m2</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt ogrzewania podłogowego &#8211; do 100 m2&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-100-m2/embed/#?secret=PyxrBDUsNC#?secret=ySPp8NrX7G" data-secret="ySPp8NrX7G" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">Objawy zapowietrzenia ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
