<?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 inhibitor korozji - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/inhibitor-korozji/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/inhibitor-korozji/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Tue, 14 Jul 2026 10:46:56 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa inhibitor korozji - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/inhibitor-korozji/</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>Woda demineralizowana w ogrzewaniu podłogowym – dlaczego to najlepszy wybór zamiast zwykłej wody z kranu?</title>
		<link>https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/</link>
					<comments>https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 14 Sep 2025 08:54:31 +0000</pubDate>
				<category><![CDATA[Bezpieczeństwo systemów grzewczych]]></category>
		<category><![CDATA[Chemia instalacyjna]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Eksploatacja instalacji]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Materiały instalacyjne]]></category>
		<category><![CDATA[Normy i standardy]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[inhibitor korozji]]></category>
		<category><![CDATA[jak chronić instalację grzewczą]]></category>
		<category><![CDATA[jaka woda do podłogówki]]></category>
		<category><![CDATA[kamień kotłowy w instalacji]]></category>
		<category><![CDATA[napełnianie instalacji grzewczej]]></category>
		<category><![CDATA[normy en 1264]]></category>
		<category><![CDATA[pH w instalacji grzewczej]]></category>
		<category><![CDATA[przewodność wody w podłogówce]]></category>
		<category><![CDATA[woda demineralizowana w ogrzewaniu podłogowym]]></category>
		<category><![CDATA[woda destylowana a demineralizowana]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2759</guid>

					<description><![CDATA[<p>Woda demineralizowana w ogrzewaniu podłogowym to standard, który coraz częściej zastępuje zwykłą wodę z kranu. Brak osadów kamienia, ochrona przed korozją i zgodność z normami europejskimi sprawiają, że instalacja działa dłużej i bardziej efektywnie. W artykule pokazujemy zarówno proste wyjaśnienia dla inwestora, jak i eksperckie dane techniczne, parametry wody oraz procedury serwisowe. To pełne kompendium dla każdego, kto planuje lub eksploatuje podłogówkę.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/">Woda demineralizowana w ogrzewaniu podłogowym – dlaczego to najlepszy wybór zamiast zwykłej wody z kranu?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-hero-dark: #0f172a;
    --rk-hero-blue: #0284c7;
    --rk-hero-sky: #f0f9ff;
    --rk-hero-danger: #dc2626;
    --rk-hero-danger-bg: #fef2f2;
    --rk-hero-success: #059669;
    --rk-hero-success-bg: #ecfdf5;
    --rk-hero-border: #cbd5e1;
    --rk-hero-text: #334155;
    --rk-hero-bg: #ffffff;
}

.rk-hero-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-hero-bg);
    border: 3px solid var(--rk-hero-blue);
    border-radius: 0; /* Surowy, inżynierski wygląd */
    box-shadow: 6px 6px 0px var(--rk-hero-dark); /* Twardy cień bez rozmycia */
}

/* Mocne Otwarcie - Hook */
.rk-hero-hook {
    background: var(--rk-hero-danger);
    color: #ffffff;
    padding: 20px 30px;
    display: flex;
    align-items: center;
    gap: 15px;
    font-weight: 900;
    font-size: 18px;
    letter-spacing: 0.5px;
}

.rk-hero-hook-icon {
    background: #ffffff;
    color: var(--rk-hero-danger);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-hero-header {
    padding: 35px 40px 25px 40px;
    background: var(--rk-hero-bg);
}

.rk-hero-h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-hero-dark);
    margin: 0;
    line-height: 1.2;
}

.rk-hero-h2 span {
    color: var(--rk-hero-blue);
}

/* Zakładki Interaktywne (Natychmiastowe, bez animacji) */
.rk-hero-tabs-nav {
    display: flex;
    border-top: 2px solid var(--rk-hero-border);
    border-bottom: 2px solid var(--rk-hero-border);
    background: #f8fafc;
}

.rk-hero-tab-btn {
    flex: 1;
    padding: 20px 15px;
    background: transparent;
    border: none;
    border-right: 2px solid var(--rk-hero-border);
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-hero-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-transform: uppercase;
}

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

.rk-hero-tab-btn:hover {
    background: #e2e8f0;
    color: var(--rk-hero-dark);
}

.rk-hero-tab-btn.active {
    background: var(--rk-hero-bg);
    color: var(--rk-hero-blue);
    border-bottom: 4px solid var(--rk-hero-blue);
    margin-bottom: -2px; /* Zastąpienie dolnego borderu */
}

/* Zawartość zakładek */
.rk-hero-content-wrapper {
    padding: 35px 40px;
}

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

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

.rk-hero-quick-answer {
    background: var(--rk-hero-success-bg);
    border-left: 6px solid var(--rk-hero-success);
    padding: 20px 25px;
    font-size: 16px;
    line-height: 1.6;
    color: #064e3b;
    margin-bottom: 25px;
}

.rk-hero-quick-answer strong {
    font-weight: 900;
    color: #065f46;
}

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

.rk-hero-text a {
    color: var(--rk-hero-blue);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-hero-text a:hover {
    color: var(--rk-hero-dark);
}

/* Notyfikacja o narzędziach */
.rk-hero-tools-notice {
    background: var(--rk-hero-dark);
    color: #ffffff;
    padding: 20px 40px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.rk-hero-tools-notice svg {
    color: #38bdf8;
    flex-shrink: 0;
}

.rk-hero-tools-text {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    line-height: 1.5;
}

/* RWD */
@media (max-width: 768px) {
    .rk-hero-hook { padding: 15px 20px; font-size: 15px; align-items: flex-start; }
    .rk-hero-header { padding: 25px 20px; }
    .rk-hero-h2 { font-size: 24px; }
    .rk-hero-tabs-nav { flex-direction: column; }
    .rk-hero-tab-btn { border-right: none; border-bottom: 2px solid var(--rk-hero-border); justify-content: flex-start; padding: 15px 20px; }
    .rk-hero-tab-btn.active { border-bottom: 4px solid var(--rk-hero-blue); margin-bottom: 0; }
    .rk-hero-content-wrapper { padding: 25px 20px; }
    .rk-hero-tools-notice { padding: 20px; 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-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Wstęp: Woda demineralizowana w ogrzewaniu podłogowym to absolutny wymóg technologiczny",
    "description": "Zalałeś nową podłogówkę wodą z kranu? Sprawdź dlaczego woda demineralizowana to jedyny bezpieczny czynnik grzewczy gwarantujący najwyższą sprawność.",
    "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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-14",
    "dateModified": "2026-07-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-wstep",
    "name": "Baza Wiedzy i Narzędzi: Media Robocze w Instalacjach CO",
    "description": "Zestawienie interaktywnych narzędzi diagnostycznych, norm fizykochemicznych oraz instrukcji eksploatacyjnych zawartych w przewodniku inżynierskim.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "woda demineralizowana w ogrzewaniu podłogowym",
      "jaka woda do instalacji podłogówki",
      "zabezpieczenie pompy ciepła przed kamieniem",
      "woda z kranu czy demineralizowana do co",
      "inhibitor korozji w instalacji grzewczej"
    ],
    "measurementTechnique": "Udostepnienie kalkulatorów, analizatorów chemicznych i osi czasu symulujących procesy degradacji wewnątrz rur płaszczyznowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Definicja: Medium robocze pozbawione minerałów z dodatkiem stabilizatora pH.",
        "Cel: 100% ochrona przed kamieniem kotłowym i korozją biologiczną.",
        "Wymóg: Bezwzględny warunek zachowania gwarancji producenta urządzenia."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-wstep",
    "name": "Nawigator Wiedzy Instalacyjnej CO",
    "description": "Moduł wprowadzający czytelnika do zaawansowanych, interaktywnych narzędzi inżynierskich pozwalających wyliczyć parametry i koszty instalacji.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-hero-container" id="rk-wstep-artykulu">
    
    <!-- Hook -->
    <div class="rk-hero-hook">
        <div class="rk-hero-hook-icon">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
        </div>
        Wlałeś zwykłą kranówkę do nowej podłogówki? Prawdopodobnie właśnie zniszczyłeś żywotność źródła ciepła.
    </div>

    <!-- Tytuł główny dla wstępu -->
    <div class="rk-hero-header">
        <h2 class="rk-hero-h2">
            Woda demineralizowana w ogrzewaniu podłogowym – <span>kompendium inwestora</span>
        </h2>
    </div>

    <!-- Nawigacja Tabs -->
    <div class="rk-hero-tabs-nav">
        <button class="rk-hero-tab-btn active" id="btn-intro-tl" onclick="rkSwitchIntro('tl')">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
            Szybka odpowiedź
        </button>
        <button class="rk-hero-tab-btn" id="btn-intro-det" onclick="rkSwitchIntro('det')">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
            Szczegóły inżynierskie
        </button>
    </div>

    <!-- Zawartość zakładek -->
    <div class="rk-hero-content-wrapper">
        
        <!-- Panel 1: Szybka odpowiedź -->
        <div class="rk-hero-panel active" id="panel-intro-tl">
            <div class="rk-hero-quick-answer">
                <strong>SZYBKA ODPOWIEDŹ:</strong> Najlepszym i bezwzględnie wymaganym przez producentów wyborem jest <strong>woda demineralizowana w ogrzewaniu podłogowym</strong> połączona z chemicznym inhibitorem korozji. Taka mieszanka charakteryzuje się twardością 0 °dH. W przeciwieństwie do wody z kranu nie tworzy izolującego kamienia kotłowego, hamuje niszczącą korozję elektrochemiczną i stanowi warunek konieczny do zachowania gwarancji urządzeń.
            </div>
            <p class="rk-hero-text">
                Woda demineralizowana w ogrzewaniu podłogowym to specjalistyczne medium robocze pozbawione większości minerałów i soli rozpuszczonych. Stanowi jedyny zalecany sposób napełniania nowoczesnych instalacji płaszczyznowych opartych o wysokiej klasy <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> oraz kondensacyjne <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kotły gazowe</a>.
            </p>
        </div>

        <!-- Panel 2: Szczegóły -->
        <div class="rk-hero-panel" id="panel-intro-det">
            <p class="rk-hero-text">
                W przeciwieństwie do surowej wody z kranu, <strong>woda demineralizowana w ogrzewaniu podłogowym</strong> całkowicie eliminuje problem odkładania się kamienia kotłowego w wymiennikach ciepła. Minimalizuje ona również przewodnictwo elektryczne cieczy (nawet poniżej 10 µS/cm przed stabilizacją).
            </p>
            <p class="rk-hero-text">
                Te dwa czynniki bezpośrednio zabezpieczają układ przed wżerną korozją elektrochemiczną i biologiczną (rozwojem czarnego szlamu). Stosowanie tego rozwiązania to nie luksus, lecz bezwzględny <strong>standard technologiczny</strong>, od którego producenci urządzeń uzależniają uznanie praw z tytułu pełnej ochrony gwarancyjnej. Więcej na temat stabilizacji pH przeczytasz w dziale o <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">wodzie z inhibitorem korozji</a>.
            </p>
        </div>

    </div>

    <!-- Notice o narzędziach (Hook na dalsze czytanie) -->
    <div class="rk-hero-tools-notice">
        <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
        <p class="rk-hero-tools-text">
            To nie jest zwykły artykuł. Przewijając poniżej, uzyskasz dostęp do darmowych <strong>interaktywnych narzędzi</strong>: inżynierskiego kalkulatora zładu wody, wizualizacji norm chemicznych oraz symulatora kosztów awaryjnych w czasie.
        </p>
    </div>

</div>

<script>
function rkSwitchIntro(tab) {
    // Przyciski
    var btnTl = document.getElementById('btn-intro-tl');
    var btnDet = document.getElementById('btn-intro-det');
    
    // Panele
    var panelTl = document.getElementById('panel-intro-tl');
    var panelDet = document.getElementById('panel-intro-det');

    // Natychmiastowe przełączenie bez animacji
    if (tab === 'tl') {
        btnTl.classList.add('active');
        btnDet.classList.remove('active');
        
        panelTl.classList.add('active');
        panelDet.classList.remove('active');
    } else {
        btnDet.classList.add('active');
        btnTl.classList.remove('active');
        
        panelDet.classList.add('active');
        panelTl.classList.remove('active');
    }
}
</script>



<style>
:root {
    --rk-nrm-dark: #0f172a;
    --rk-nrm-blue: #0284c7;
    --rk-nrm-danger: #dc2626;
    --rk-nrm-danger-light: #fef2f2;
    --rk-nrm-success: #059669;
    --rk-nrm-success-light: #ecfdf5;
    --rk-nrm-border: #cbd5e1;
    --rk-nrm-bg: #ffffff;
    --rk-nrm-text: #475569;
}

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

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

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

.rk-nrm-h2 svg {
    color: #38bdf8;
    flex-shrink: 0;
}

.rk-nrm-desc {
    font-size: 16px;
    color: #cbd5e1;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

/* Panel Sterowania */
.rk-nrm-controls {
    padding: 30px 40px;
    background: #f1f5f9;
    display: flex;
    justify-content: center;
    border-bottom: 1px solid var(--rk-nrm-border);
}

.rk-nrm-toggle-box {
    display: flex;
    background: var(--rk-nrm-bg);
    border: 2px solid var(--rk-nrm-border);
    border-radius: 14px;
    padding: 6px;
    width: 100%;
    max-width: 600px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

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

.rk-nrm-btn.active-kran {
    background: var(--rk-nrm-danger-light);
    color: var(--rk-nrm-danger);
    box-shadow: 0 2px 5px rgba(220, 38, 38, 0.15);
}

.rk-nrm-btn.active-demi {
    background: var(--rk-nrm-success-light);
    color: var(--rk-nrm-success);
    box-shadow: 0 2px 5px rgba(5, 150, 105, 0.15);
}

/* Siatka Wyników */
.rk-nrm-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 35px 40px;
}

@media (min-width: 900px) {
    .rk-nrm-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.rk-nrm-card {
    background: var(--rk-nrm-bg);
    border: 1px solid var(--rk-nrm-border);
    border-radius: 16px;
    padding: 25px 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
}

.rk-nrm-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: var(--rk-nrm-border);
    transition: background 0.4s ease;
}

.state-kran .rk-nrm-card::before { background: var(--rk-nrm-danger); }
.state-demi .rk-nrm-card::before { background: var(--rk-nrm-success); }

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

.state-kran .rk-nrm-icon-wrapper { background: var(--rk-nrm-danger-light); color: var(--rk-nrm-danger); }
.state-demi .rk-nrm-icon-wrapper { background: var(--rk-nrm-success-light); color: var(--rk-nrm-success); }

.rk-nrm-card-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-nrm-dark);
    margin: 0 0 15px 0;
}

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

.rk-nrm-card-text a {
    color: var(--rk-nrm-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.rk-nrm-card-text a:hover {
    border-bottom-color: var(--rk-nrm-blue);
}

/* Chemia - Wzór */
.rk-nrm-formula {
    background: #1e293b;
    color: #38bdf8;
    padding: 12px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    margin-top: 15px;
    transition: all 0.4s ease;
}

.state-kran .rk-nrm-formula { color: #f87171; }
.state-demi .rk-nrm-formula { color: #34d399; }

/* Termika - Wykresy */
.rk-nrm-bar-group {
    margin-top: 15px;
}

.rk-nrm-bar-label {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    margin-bottom: 5px;
}

.rk-nrm-bar-track {
    width: 100%;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    margin-bottom: 12px;
    overflow: hidden;
}

.rk-nrm-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1), background 0.4s ease;
}

/* RWD */
@media (max-width: 768px) {
    .rk-nrm-header { padding: 30px 20px; text-align: left; }
    .rk-nrm-h2 { justify-content: flex-start; font-size: 22px; align-items: flex-start; }
    .rk-nrm-h2 svg { margin-top: 3px; }
    .rk-nrm-controls { padding: 20px; }
    .rk-nrm-toggle-box { flex-direction: column; }
    .rk-nrm-btn { padding: 12px; }
    .rk-nrm-grid { padding: 20px; gap: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-norma",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Dlaczego woda demineralizowana w ogrzewaniu podłogowym jest niezbędna i co mówi norma PN-EN 14868?",
    "description": "Fizykochemiczna analiza wody instalacyjnej w świetle normy PN-EN 14868. Wpływ kamienia kotłowego na opór cieplny oraz ryzyko mikroogniw galwanicznych.",
    "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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-norma",
    "name": "Właściwości termofizyczne i normatywne czynników roboczych CO",
    "description": "Zestawienie danych dotyczących przewodności cieplnej (izolacyjności) osadów z węglanu wapnia oraz limitów przewodności elektrycznej według europejskich wytycznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "norma PN-EN 14868",
      "kamień kotłowy w podłogówce",
      "przewodność cieplna kamienia",
      "mikroogniwa galwaniczne",
      "twardość wody mmol/l",
      "utrata gwarancji na pompę ciepła"
    ],
    "measurementTechnique": "Modelowanie spadku współczynnika przewodzenia ciepła lambda z 15 W/(mK) do 0,5 W/(mK) oraz ocena ryzyka korozji w oparciu o przewodność powyżej 100 µS/cm.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Reakcja: Rozpad wodorowęglanów prowadzi do trwałego osadu CaCO3.",
        "Przewodność cieplna: Osad (0,5 W/mK) vs Stal nierdzewna (15 W/mK).",
        "Norma: Wymóg całkowitej twardości ponizej 0,1 mmol/l oraz przewodności poniżej 100 µS/cm."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-norma",
    "name": "Symulator Reakcji Termochemicznych i Zgodności Normatywnej",
    "description": "Interaktywny pulpit pozwalający zaobserwować chemiczne i prawne skutki podgrzania wody wodociągowej w mikro-przekrojach instalacji grzewczej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-nrm-container" id="rk-norm-dashboard">
    <div class="rk-nrm-header">
        <h2 class="rk-nrm-h2">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
            Dlaczego demineralizacja jest niezbędna? Analiza PN-EN 14868
        </h2>
        <p class="rk-nrm-desc">
            Europejska norma techniczna bezwzględnie określa fizykochemiczne parametry cieczy roboczej. Sprawdź, jak zachowuje się fizyka płynów w małych przekrojach rur w zależności od napełnienia.
        </p>
    </div>

    <div class="rk-nrm-controls">
        <div class="rk-nrm-toggle-box">
            <button class="rk-nrm-btn active-kran" id="btn-nrm-kran" onclick="rkSwitchNorm('kran')">
                Podgrzanie zwykłej kranówki
            </button>
            <button class="rk-nrm-btn" id="btn-nrm-demi" onclick="rkSwitchNorm('demi')">
                Podgrzanie wody demineralizowanej
            </button>
        </div>
    </div>

    <div class="rk-nrm-grid state-kran" id="rk-nrm-grid-wrapper">
        
        <!-- Karta 1: Chemia -->
        <div class="rk-nrm-card">
            <div class="rk-nrm-icon-wrapper">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 2v7.31"></path><path d="M14 9.3V1.99"></path><path d="M8.5 2h7"></path><path d="M14 9.3a6.5 6.5 0 1 1-4 0"></path><line x1="5.52" y1="16" x2="18.48" y2="16"></line></svg>
            </div>
            <h3 class="rk-nrm-card-title">Chemia Fizyczna</h3>
            <p class="rk-nrm-card-text" id="nrm-txt-chem">
                Podgrzanie kranówki (11–45°dH) wywołuje termiczny rozpad wodorowęglanów wapnia i magnezu. Z roztworu wytrąca się nierozpuszczalny węglan wapnia – czyli twardy kamień kotłowy.
            </p>
            <div class="rk-nrm-formula" id="nrm-formula">
                Ca(HCO<sub>3</sub>)<sub>2</sub> &rarr; CaCO<sub>3</sub>&darr; + H<sub>2</sub>O + CO<sub>2</sub>&uarr;
            </div>
        </div>

        <!-- Karta 2: Termika -->
        <div class="rk-nrm-card">
            <div class="rk-nrm-icon-wrapper">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            </div>
            <h3 class="rk-nrm-card-title">Opór Cieplny &lambda;</h3>
            <p class="rk-nrm-card-text" id="nrm-txt-therm">
                Osad staje się potężnym <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/">izolatorem termicznym</a>. Wymiana ciepła zostaje zablokowana. Przewodność elektryczna powyżej 600 µS/cm napędza niszczące mikroogniwa galwaniczne.
            </p>
            <div class="rk-nrm-bar-group">
                <div class="rk-nrm-bar-label"><span>Stal (wymiennik)</span> <span>15 W/(m&middot;K)</span></div>
                <div class="rk-nrm-bar-track"><div class="rk-nrm-bar-fill" style="width: 80%; background: #94a3b8;"></div></div>
                
                <div class="rk-nrm-bar-label"><span>Medium (Woda)</span> <span id="nrm-val-heat">0.5 W/(m&middot;K) Izolator!</span></div>
                <div class="rk-nrm-bar-track"><div class="rk-nrm-bar-fill" id="nrm-bar-heat" style="width: 10%; background: #ef4444;"></div></div>
            </div>
        </div>

        <!-- Karta 3: Norma -->
        <div class="rk-nrm-card">
            <div class="rk-nrm-icon-wrapper">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            </div>
            <h3 class="rk-nrm-card-title">Norma PN-EN 14868</h3>
            <p class="rk-nrm-card-text" id="nrm-txt-legal">
                Twardość wynosi 2–8 mmol/l, a dopuszczalna norma to <strong>&le; 0,1 mmol/l</strong>. Zignorowanie wytycznych skutkuje <strong>natychmiastową utratą gwarancji producenta</strong> na <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompę ciepła</a>.
            </p>
        </div>

    </div>
</div>

<script>
function rkSwitchNorm(mode) {
    var btnKran = document.getElementById('btn-nrm-kran');
    var btnDemi = document.getElementById('btn-nrm-demi');
    var gridWrapper = document.getElementById('rk-nrm-grid-wrapper');

    // Teksty
    var txtChem = document.getElementById('nrm-txt-chem');
    var formula = document.getElementById('nrm-formula');
    var txtTherm = document.getElementById('nrm-txt-therm');
    var valHeat = document.getElementById('nrm-val-heat');
    var barHeat = document.getElementById('nrm-bar-heat');
    var txtLegal = document.getElementById('nrm-txt-legal');

    if (mode === 'kran') {
        btnKran.classList.add('active-kran');
        btnDemi.classList.remove('active-demi');
        gridWrapper.className = 'rk-nrm-grid state-kran';

        txtChem.innerHTML = "Podgrzanie kranówki (11–45°dH) wywołuje termiczny rozpad wodorowęglanów wapnia i magnezu. Z roztworu wytrąca się nierozpuszczalny węglan wapnia – czyli twardy kamień kotłowy.";
        formula.innerHTML = "Ca(HCO<sub>3</sub>)<sub>2</sub> &rarr; CaCO<sub>3</sub>&darr; + H<sub>2</sub>O + CO<sub>2</sub>&uarr;";
        
        txtTherm.innerHTML = "Osad staje się potężnym <a href=\"https://projekt-ogrzewania.pl/opor-cieplny-r-m2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/\">izolatorem termicznym</a>. Wymiana ciepła zostaje zablokowana. Przewodność elektryczna powyżej 600 µS/cm napędza niszczące mikroogniwa galwaniczne.";
        valHeat.innerText = "0.5 W/(m·K) Izolator!";
        barHeat.style.width = "10%";
        barHeat.style.background = "#ef4444";

        txtLegal.innerHTML = "Twardość wynosi 2–8 mmol/l, a dopuszczalna norma to <strong>&le; 0,1 mmol/l</strong>. Zignorowanie wytycznych skutkuje <strong>natychmiastową utratą gwarancji producenta</strong> na <a href=\"https://projekt-ogrzewania.pl/pompa-ciepla/\">pompę ciepła</a>.";

    } else {
        btnDemi.classList.add('active-demi');
        btnKran.classList.remove('active-kran');
        gridWrapper.className = 'rk-nrm-grid state-demi';

        txtChem.innerHTML = "Woda zdemineralizowana pozbawiona jest wodorowęglanów. Nawet podczas podgrzewania na małych przekrojach rur nie zachodzą żadne reakcje strąceniowe.";
        formula.innerHTML = "Brak minerałów = Brak reakcji (Czysty obieg)";
        
        txtTherm.innerHTML = "Brak warstwy izolującej pozwala na bezstratny przepływ ciepła do miedzianych (380 W/(m·K)) i stalowych elementów. Niska przewodność prądu gasi ryzyko korozji elektrochemicznej.";
        valHeat.innerText = "Optymalny przepływ ciepła";
        barHeat.style.width = "80%";
        barHeat.style.background = "#059669";

        txtLegal.innerHTML = "Medium posiada twardość <strong>0,0 mmol/l</strong> oraz przewodność właściwą poniżej wytyczonej granicy 100 µS/cm. <strong>Pełna ochrona gwarancyjna</strong> jest bezwzględnie zachowana.";
    }
}
</script>



<style>
:root {
    --rk-dmg-dark: #0f172a;
    --rk-dmg-blue: #0284c7;
    --rk-dmg-danger: #dc2626;
    --rk-dmg-danger-bg: #fef2f2;
    --rk-dmg-warning: #d97706;
    --rk-dmg-warning-bg: #fffbeb;
    --rk-dmg-stone: #475569;
    --rk-dmg-bg: #ffffff;
    --rk-dmg-border: #e2e8f0;
}

.rk-dmg-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #f8fafc;
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--rk-dmg-border);
    overflow: hidden;
}

.rk-dmg-header {
    background: linear-gradient(135deg, var(--rk-dmg-dark) 0%, #1e293b 100%);
    padding: 35px 40px;
    text-align: center;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dmg-danger);
}

.rk-dmg-h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.rk-dmg-h2 svg {
    color: #f87171;
}

.rk-dmg-intro {
    font-size: 16px;
    color: #cbd5e1;
    line-height: 1.7;
    max-width: 800px;
    margin: 0 auto;
}

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

/* Nawigacja raportów */
.rk-dmg-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 30px;
}

@media (min-width: 768px) {
    .rk-dmg-nav {
        flex-direction: row;
    }
}

.rk-dmg-btn {
    flex: 1;
    background: var(--rk-dmg-bg);
    border: 2px solid var(--rk-dmg-border);
    border-radius: 12px;
    padding: 16px 20px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-dmg-stone);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

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

.rk-dmg-btn.active-scale {
    background: #fefce8;
    border-color: #ca8a04;
    color: #854d0e;
}

.rk-dmg-btn.active-sludge {
    background: #f1f5f9;
    border-color: #334155;
    color: #0f172a;
}

.rk-dmg-btn.active-pump {
    background: var(--rk-dmg-danger-bg);
    border-color: var(--rk-dmg-danger);
    color: var(--rk-dmg-danger);
}

/* Karta Raportu */
.rk-dmg-report {
    background: var(--rk-dmg-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-dmg-border);
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
}

.rk-dmg-report::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    transition: background 0.4s ease;
}

.rk-dmg-report.state-scale::before { background: #ca8a04; }
.rk-dmg-report.state-sludge::before { background: #334155; }
.rk-dmg-report.state-pump::before { background: var(--rk-dmg-danger); }

.rk-dmg-impact-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: 900;
    font-size: 18px;
    margin-bottom: 20px;
}

.state-scale .rk-dmg-impact-badge { background: #fefce8; color: #854d0e; border: 1px solid #fef08a; }
.state-sludge .rk-dmg-impact-badge { background: #f1f5f9; color: #0f172a; border: 1px solid #cbd5e1; }
.state-pump .rk-dmg-impact-badge { background: var(--rk-dmg-danger-bg); color: var(--rk-dmg-danger); border: 1px solid #fecaca; }

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

@media (min-width: 768px) {
    .rk-dmg-content-grid {
        grid-template-columns: 80px 1fr;
        align-items: flex-start;
    }
}

.rk-dmg-icon-wrapper {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.state-scale .rk-dmg-icon-wrapper { background: #fef08a; color: #a16207; }
.state-sludge .rk-dmg-icon-wrapper { background: #e2e8f0; color: #334155; }
.state-pump .rk-dmg-icon-wrapper { background: #fecaca; color: #dc2626; }

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

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

.rk-dmg-text a {
    color: var(--rk-dmg-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(2, 132, 199, 0.2);
    transition: border-color 0.2s;
}

.rk-dmg-text a:hover {
    border-bottom-color: var(--rk-dmg-blue);
}

.rk-dmg-list {
    margin: 0;
    padding-left: 20px;
    color: var(--rk-dmg-stone);
    font-size: 15px;
    line-height: 1.6;
}

.rk-dmg-list li {
    margin-bottom: 8px;
}

@media (max-width: 768px) {
    .rk-dmg-header { padding: 30px 20px; text-align: left; }
    .rk-dmg-h2 { justify-content: flex-start; font-size: 22px; align-items: flex-start; }
    .rk-dmg-h2 svg { flex-shrink: 0; margin-top: 3px; }
    .rk-dmg-body { padding: 25px 20px; }
    .rk-dmg-btn { padding: 14px; flex-direction: row; justify-content: flex-start; }
    .rk-dmg-report { padding: 25px 20px 25px 25px; } /* Miejsce na lewy border */
    .rk-dmg-icon-wrapper { display: none; } /* Ukrywamy ikonę na mobilce dla oszczędności miejsca */
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-skutki",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Jakie są skutki wlania zwykłej wody z kranu do instalacji ogrzewania podłogowego?",
    "description": "Analiza nieodwracalnych strat eksploatacyjnych, spadków sprawności i awarii pomp obiegowych wywołanych odkładaniem się kamienia kotłowego i magnetytu z surowej kranówki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-skutki",
    "name": "Baza Danych Strat Eksploatacyjnych: Woda sieciowa w instalacjach CO",
    "description": "Zestawienie kosztów i spadków sprawności energetycznej wywołanych zjawiskami korozji podosadowej i wytrącaniem węglanu wapnia.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "skutki wlania kranówki do podłogówki",
      "spadek sprawności wymiany ciepła",
      "koszt wymiany pompy obiegowej",
      "czarny szlam w instalacji co",
      "korozja podosadowa rozdzielacza"
    ],
    "measurementTechnique": "Analiza fizykochemiczna osadów (Fe3O4, kamień kotłowy) i wyliczanie szacunkowych strat sprawności cieplnej oraz wydatków na serwis armatury.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Kamień kotłowy: 1 mm osadu redukuje sprawność systemu o 10-15%.",
        "Czarny szlam (magnetyt): zablokowanie rotametrów i procesy korozji podosadowej.",
        "Awarie: zatarcie elektronicznej pompy obiegowej (koszt: 800 - 1800 PLN)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-skutki",
    "name": "Interaktywny Raport Uszkodzeń Hydraulicznych",
    "description": "Narzędzie pozwalające na zdiagnozowanie krytycznych punktów awaryjnych instalacji CO poprzez symulację wpływu surowej wody sieciowej na poszczególne komponenty.",
    "applicationCategory": "DiagnosticTool",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dmg-container" id="rk-raport-awarii">
    <div class="rk-dmg-header">
        <h2 class="rk-dmg-h2">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="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>
            Jakie są skutki wlania kranówki do podłogówki?
        </h2>
        <p class="rk-dmg-intro">
            Zwykła woda z kranu wpuszczona do układu grzewczego powoduje <strong>nieodwracalne straty eksploatacyjne</strong>. Wybierz zjawisko poniżej, aby wygenerować inżynierski raport uszkodzeń i kosztów.
        </p>
    </div>

    <div class="rk-dmg-body">
        
        <div class="rk-dmg-nav">
            <button class="rk-dmg-btn active-scale" id="btn-dmg-scale" onclick="rkLoadDamage('scale')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>
                Kamień Kotłowy
            </button>
            <button class="rk-dmg-btn" id="btn-dmg-sludge" onclick="rkLoadDamage('sludge')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                Szlam i Magnetyt
            </button>
            <button class="rk-dmg-btn" id="btn-dmg-pump" onclick="rkLoadDamage('pump')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path><line x1="9" y1="9" x2="15" y2="15"></line><line x1="15" y1="9" x2="9" y2="15"></line></svg>
                Zatarcie Pompy
            </button>
        </div>

        <div class="rk-dmg-report state-scale" id="rk-dmg-report-card">
            
            <div class="rk-dmg-impact-badge" id="rk-dmg-badge">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>
                Spadek Sprawności: 10% &#8211; 15%
            </div>

            <div class="rk-dmg-content-grid">
                <div class="rk-dmg-icon-wrapper" id="rk-dmg-icon">
                    <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                </div>
                
                <div id="rk-dmg-text-content">
                    <p class="rk-dmg-text">
                        Zarastanie pętli grzewczych i wymienników osadem to najdroższa, bo powolna awaria. Już <strong>warstwa kamienia kotłowego o grubości zaledwie 1 mm</strong> na ściankach wymiennika ciepła generuje potężny opór termiczny. Co to oznacza w praktyce?
                    </p>
                    <ul class="rk-dmg-list">
                        <li>Efektywność energetyczna całego systemu drastycznie spada.</li>
                        <li>Źródło ciepła musi pracować dłużej i na wyższych parametrach.</li>
                        <li>W skali sezonu podnosi to <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">koszty eksploatacyjne budynku</a> o kilkaset złotych.</li>
                    </ul>
                </div>
            </div>

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

<script>
function rkLoadDamage(type) {
    var btnScale = document.getElementById('btn-dmg-scale');
    var btnSludge = document.getElementById('btn-dmg-sludge');
    var btnPump = document.getElementById('btn-dmg-pump');
    
    var reportCard = document.getElementById('rk-dmg-report-card');
    var badge = document.getElementById('rk-dmg-badge');
    var content = document.getElementById('rk-dmg-text-content');

    // Reset przycisków
    btnScale.className = 'rk-dmg-btn';
    btnSludge.className = 'rk-dmg-btn';
    btnPump.className = 'rk-dmg-btn';

    if (type === 'scale') {
        btnScale.classList.add('active-scale');
        reportCard.className = 'rk-dmg-report state-scale';
        
        badge.innerHTML = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg> Spadek Sprawności: 10% - 15%';
        
        content.innerHTML = `
            <p class="rk-dmg-text">
                Zarastanie pętli grzewczych i wymienników osadem to najdroższa, bo powolna awaria. Już <strong>warstwa kamienia kotłowego o grubości zaledwie 1 mm</strong> na ściankach wymiennika ciepła generuje potężny opór termiczny. Co to oznacza w praktyce?
            </p>
            <ul class="rk-dmg-list">
                <li>Efektywność energetyczna całego systemu drastycznie spada.</li>
                <li>Źródło ciepła musi pracować dłużej i na wyższych parametrach.</li>
                <li>W skali sezonu podnosi to <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">koszty eksploatacyjne budynku</a> o kilkaset złotych.</li>
            </ul>
        `;
    } else if (type === 'sludge') {
        btnSludge.classList.add('active-sludge');
        reportCard.className = 'rk-dmg-report state-sludge';
        
        badge.innerHTML = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg> Czarny Szlam i Blokady';
        
        content.innerHTML = `
            <p class="rk-dmg-text">
                Obecny w surowej kranówce tlen rozpuszczony (często osiągający wartości nawet do 10 mg/l) błyskawicznie wchodzi w reakcję z komponentami żelaznymi. Skutkuje to tworzeniem <strong>czarnego magnetytu (Fe3O4)</strong>, który w połączeniu z biofilmem bakteryjnym tworzy gęstą maź.
            </p>
            <ul class="rk-dmg-list">
                <li>Mineralne osady zatykają precyzyjne mechanizmy regulacyjne na rozdzielaczach.</li>
                <li>Uniemożliwia to prawidłowe <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/">zrównoważenie hydrauliczne instalacji</a>.</li>
                <li>Pojawia się tzw. korozja podosadowa – lokalne drastyczne obniżenie pH, prowadzące do perforacji metalu.</li>
            </ul>
        `;
    } else if (type === 'pump') {
        btnPump.classList.add('active-pump');
        reportCard.className = 'rk-dmg-report state-pump';
        
        badge.innerHTML = '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg> Koszt awarii: 800 – 1800 PLN';
        
        content.innerHTML = `
            <p class="rk-dmg-text">
                Najszybsza i najbardziej bolesna dla portfela konsekwencja napełniania instalacji wodą sieciową. Współczesne, elektroniczne pompy obiegowe wykorzystują do działania silne magnesy stałe.
            </p>
            <p class="rk-dmg-text">
                Zawieszony w cieczy magnetyt z rdzy jest <strong>niczym magnes przyciągany bezpośrednio do wirnika pompy</strong>. Następuje jej całkowite zablokowanie i zniszczenie układu elektronicznego. Z uwagi na winę instalatora (brak odpowiedniej wody zgodnej z normą), naprawa <strong>nie podlega gwarancji</strong>. Pamiętaj, by regularnie zlecać <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">przeglądy serwisowe podłogówki</a>.
            </p>
        `;
    }
}
</script>



<style>
:root {
    --rk-chem-dark: #0f172a;
    --rk-chem-blue: #0284c7;
    --rk-chem-sky: #f0f9ff;
    --rk-chem-danger: #ef4444;
    --rk-chem-danger-bg: #fef2f2;
    --rk-chem-warning: #f59e0b;
    --rk-chem-warning-bg: #fffbeb;
    --rk-chem-success: #10b981;
    --rk-chem-success-bg: #ecfdf5;
    --rk-chem-border: #cbd5e1;
    --rk-chem-text: #334155;
    --rk-chem-bg: #ffffff;
}

.rk-chem-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: #f8fafc;
    border-radius: 20px;
    box-shadow: 0 12px 30px -10px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-chem-blue);
    overflow: hidden;
}

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

.rk-chem-h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.rk-chem-h2 svg {
    color: #38bdf8;
}

.rk-chem-desc {
    font-size: 16px;
    color: #cbd5e1;
    line-height: 1.7;
    max-width: 750px;
    margin: 0 auto;
}

.rk-chem-body {
    padding: 30px 40px;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Interaktywne przyciski wyboru */
.rk-chem-toggles {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

@media (min-width: 768px) {
    .rk-chem-toggles {
        flex-direction: row;
    }
}

.rk-chem-btn {
    flex: 1;
    padding: 16px 20px;
    background: var(--rk-chem-bg);
    border: 2px solid var(--rk-chem-border);
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-chem-text);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}

.rk-chem-btn:hover {
    background: var(--rk-chem-sky);
    border-color: var(--rk-chem-blue);
}

.rk-chem-btn.active-danger {
    background: var(--rk-chem-danger-bg);
    border-color: var(--rk-chem-danger);
    color: var(--rk-chem-danger);
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.15);
}

.rk-chem-btn.active-warning {
    background: var(--rk-chem-warning-bg);
    border-color: var(--rk-chem-warning);
    color: #b45309;
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.15);
}

.rk-chem-btn.active-success {
    background: var(--rk-chem-success-bg);
    border-color: var(--rk-chem-success);
    color: var(--rk-chem-success);
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.15);
}

/* Karta wyników laboratoryjnych */
.rk-chem-lab-card {
    background: var(--rk-chem-bg);
    border-radius: 16px;
    border: 1px solid var(--rk-chem-border);
    padding: 30px;
    position: relative;
    transition: all 0.4s ease;
}

.rk-chem-lab-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: var(--rk-chem-border);
    border-radius: 16px 16px 0 0;
    transition: background 0.4s ease;
}

.rk-chem-lab-card.state-danger::before { background: var(--rk-chem-danger); }
.rk-chem-lab-card.state-warning::before { background: var(--rk-chem-warning); }
.rk-chem-lab-card.state-success::before { background: var(--rk-chem-success); }

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

.rk-chem-lab-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rk-chem-sky);
    color: var(--rk-chem-blue);
}

.state-danger .rk-chem-lab-icon { background: var(--rk-chem-danger-bg); color: var(--rk-chem-danger); }
.state-warning .rk-chem-lab-icon { background: var(--rk-chem-warning-bg); color: var(--rk-chem-warning); }
.state-success .rk-chem-lab-icon { background: var(--rk-chem-success-bg); color: var(--rk-chem-success); }

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

/* Parametry */
.rk-chem-param-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-chem-param-row {
    background: #f8fafc;
    padding: 15px 20px;
    border-radius: 10px;
    border-left: 4px solid var(--rk-chem-border);
    transition: all 0.3s ease;
}

.state-danger .rk-chem-param-row.ph-row { border-left-color: var(--rk-chem-danger); }
.state-warning .rk-chem-param-row.ph-row { border-left-color: var(--rk-chem-warning); }
.state-success .rk-chem-param-row.ph-row { border-left-color: var(--rk-chem-success); }

.rk-chem-param-label {
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

.rk-chem-param-val {
    font-size: 16px;
    color: var(--rk-chem-dark);
    line-height: 1.6;
}

.rk-chem-param-val strong {
    font-weight: 800;
}

.rk-chem-param-val a {
    color: var(--rk-chem-blue);
    font-weight: 700;
    text-decoration: none;
}

/* Wskaźnik pH wizualny */
.rk-chem-ph-bar {
    width: 100%;
    height: 8px;
    background: linear-gradient(90deg, #ef4444 0%, #f59e0b 50%, #10b981 85%, #3b82f6 100%);
    border-radius: 4px;
    margin-top: 10px;
    position: relative;
}

.rk-chem-ph-marker {
    position: absolute;
    top: -6px;
    width: 4px;
    height: 20px;
    background: var(--rk-chem-dark);
    border-radius: 2px;
    transition: left 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 0 0 2px #ffffff;
}

@media (max-width: 768px) {
    .rk-chem-header { padding: 25px 20px; }
    .rk-chem-body { padding: 20px; }
    .rk-chem-h2 { font-size: 22px; text-align: left; justify-content: flex-start; align-items: flex-start; }
    .rk-chem-h2 svg { flex-shrink: 0; margin-top: 3px; }
    .rk-chem-btn { flex-direction: row; text-align: left; padding: 15px; }
    .rk-chem-lab-card { padding: 20px; }
    .rk-chem-param-row { padding: 12px 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-destylowana",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Czym różni się woda demineralizowana od wody destylowanej w instalacji CO?",
    "description": "Technologiczne zestawienie różnic w produkcji i agresywności chemicznej pomiędzy wodą destylowaną a zdemineralizowaną w kontekście korozji instalacji grzewczych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-destylowana",
    "name": "Baza Danych Właściwości Fizykochemicznych: Destylowana vs Demineralizowana",
    "description": "Zbiór danych określających zachowanie korozyjne wód oczyszczonych w zamkniętych instalacjach centralnego ogrzewania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "woda destylowana a demineralizowana",
      "woda głodna jonów",
      "korozja miedzi i mosiądzu",
      "inhibitor korozji do ogrzewania",
      "ph wody w centralnym ogrzewaniu"
    ],
    "measurementTechnique": "Analiza spektralna i elektrochemiczna: ocena stabilności odczynu pH w kontakcie z powietrzem (absorpcja CO2) oraz redukcji przewodności poniżej 10 µS/cm.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Woda destylowana: pH spada do 5,5 (silnie korozyjna, pochłania CO2).",
        "Woda demineralizowana: pH 6,0-7,0 (wymaga natychmiastowej stabilizacji inhibitorami).",
        "Medium docelowe: pH podniesione do bezpiecznego okna 8,2-9,5 dzięki buforom chemicznym."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-destylowana",
    "name": "Symulator Agresywności Chemicznej Medium",
    "description": "Aplikacja edukacyjna obrazująca korozyjny wpływ tzw. wody głodnej na instalacje sanitarne i konieczność stosowania stabilizatorów pH.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-chem-container" id="rk-chem-analyzer">
    <div class="rk-chem-header">
        <h2 class="rk-chem-h2">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10 2v7.31"></path><path d="M14 9.3V1.99"></path><path d="M8.5 2h7"></path><path d="M14 9.3a6.5 6.5 0 1 1-4 0"></path><line x1="5.52" y1="16" x2="18.48" y2="16"></line></svg>
            Woda demineralizowana czy destylowana?
        </h2>
        <p class="rk-chem-desc">
            Podstawowa różnica leży w technologii produkcji oraz finalnej agresywności chemicznej. Sprawdź, dlaczego wlanie &#8222;najczystszej&#8221; wody zniszczy Twoją instalację szybciej niż zwykła kranówka.
        </p>
    </div>

    <div class="rk-chem-body">
        
        <div class="rk-chem-toggles">
            <button class="rk-chem-btn active-danger" id="btn-chem-dest" onclick="rkSwitchChem('dest')">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                Woda Destylowana
            </button>
            <button class="rk-chem-btn" id="btn-chem-demi" onclick="rkSwitchChem('demi')">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                Czysta Woda Demi
            </button>
            <button class="rk-chem-btn" id="btn-chem-safe" onclick="rkSwitchChem('safe')">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path><polyline points="9 12 11 14 15 10"></polyline></svg>
                Woda Demi + Inhibitor
            </button>
        </div>

        <div class="rk-chem-lab-card state-danger" id="rk-chem-card">
            <div class="rk-chem-lab-header">
                <div class="rk-chem-lab-icon">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                </div>
                <h3 class="rk-chem-lab-title" id="rk-chem-title">Status: Czysta Woda Destylowana</h3>
            </div>

            <div class="rk-chem-param-list">
                
                <div class="rk-chem-param-row">
                    <div class="rk-chem-param-label">Metoda produkcji</div>
                    <div class="rk-chem-param-val" id="rk-chem-prod">Powstaje w procesie termicznego odparowania i skraplania. Jest droga w produkcji i całkowicie jałowa.</div>
                </div>

                <div class="rk-chem-param-row ph-row">
                    <div class="rk-chem-param-label">Zachowanie chemiczne i odczyn pH</div>
                    <div class="rk-chem-param-val" id="rk-chem-ph-text">Bardzo niestabilna. Wychwytuje dwutlenek węgla (CO2) z powietrza, co gwałtownie obniża jej <strong>pH do poziomu 5,5 (odczyn kwaśny)</strong>.</div>
                    <div class="rk-chem-ph-bar">
                        <div class="rk-chem-ph-marker" id="rk-chem-ph-marker" style="left: 20%;"></div>
                    </div>
                </div>

                <div class="rk-chem-param-row">
                    <div class="rk-chem-param-label">Agresywność względem instalacji CO</div>
                    <div class="rk-chem-param-val" id="rk-chem-agr">Staje się wysoce korozyjna. To zjawisko tzw. <strong>&#8222;wody głodnej jonów&#8221;</strong>, która agresywnie trawi elementy z miedzi i mosiądzu.</div>
                </div>

            </div>
        </div>

    </div>
</div>

<script>
function rkSwitchChem(type) {
    var btnDest = document.getElementById('btn-chem-dest');
    var btnDemi = document.getElementById('btn-chem-demi');
    var btnSafe = document.getElementById('btn-chem-safe');
    var card = document.getElementById('rk-chem-card');
    
    // Pola tekstowe
    var title = document.getElementById('rk-chem-title');
    var prod = document.getElementById('rk-chem-prod');
    var phText = document.getElementById('rk-chem-ph-text');
    var agr = document.getElementById('rk-chem-agr');
    var marker = document.getElementById('rk-chem-ph-marker');

    // Reset przycisków
    btnDest.className = 'rk-chem-btn';
    btnDemi.className = 'rk-chem-btn';
    btnSafe.className = 'rk-chem-btn';

    if (type === 'dest') {
        btnDest.classList.add('active-danger');
        card.className = 'rk-chem-lab-card state-danger';
        
        title.innerText = "Status: Czysta Woda Destylowana";
        prod.innerHTML = "Powstaje w procesie termicznego odparowania i skraplania. Jest droga w produkcji i całkowicie jałowa.";
        phText.innerHTML = "Bardzo niestabilna. Wychwytuje dwutlenek węgla z powietrza, co gwałtownie obniża jej <strong>pH do poziomu 5,5 (odczyn kwaśny)</strong>.";
        agr.innerHTML = "Staje się wysoce korozyjna. To zjawisko tzw. <strong>\"wody głodnej jonów\"</strong>, która agresywnie trawi elementy z miedzi i mosiądzu w instalacji.";
        marker.style.left = "20%"; // Strefa czerwona/kwaśna

    } else if (type === 'demi') {
        btnDemi.classList.add('active-warning');
        card.className = 'rk-chem-lab-card state-warning';
        
        title.innerText = "Status: Surowa Woda Demineralizowana";
        prod.innerHTML = "Oczyszczana metodami fizykochemicznymi (odwrócona osmoza i wymiana jonowa). Przewodność obniżona do &lt; 10 µS/cm.";
        phText.innerHTML = "Zachowuje stabilniejsze wyjściowe <strong>pH w granicach 6,0–7,0</strong>, jednak wciąż brakuje jej jonów ochronnych.";
        agr.innerHTML = "Nadal jest to medium \"głodne\". Pozbawiona minerałów woda dąży do samorzutnego nasycenia, <strong>agresywnie \"wyciągając\" cząsteczki z metalowych rur</strong>.";
        marker.style.left = "45%"; // Strefa pomarańczowa/neutralna

    } else {
        btnSafe.classList.add('active-success');
        card.className = 'rk-chem-lab-card state-success';
        
        title.innerText = "Status: Woda Demi + Inhibitor (ZALECANA)";
        prod.innerHTML = "Profesjonalne medium powstałe poprzez natychmiastowe uzdatnienie czystej wody demi dedykowanym dodatkiem chemicznym.";
        phText.innerHTML = "Chemiczny bufor podnosi i trwale stabilizuje <strong>odczyn pH do bezpiecznego poziomu 8,2–9,5</strong>.";
        agr.innerHTML = "Zerowa agresywność. Inhibitor tworzy na powierzchniach metali molekularną <strong>warstwę pasywną chroniącą przed korozją</strong>. Pamiętaj o regularnym dolewaniu np. przy użyciu <a href=\"https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/\">wody z inhibitorem korozji do CO</a>.";
        marker.style.left = "80%"; // Strefa zielona/niebieska (zasadowa, bezpieczna dla CO)
    }
}
</script>



<style>
:root {
    --rk-spec-dark: #0f172a;
    --rk-spec-blue: #0284c7;
    --rk-spec-sky: #f0f9ff;
    --rk-spec-danger: #ef4444;
    --rk-spec-danger-bg: #fef2f2;
    --rk-spec-success: #10b981;
    --rk-spec-success-bg: #ecfdf5;
    --rk-spec-border: #e2e8f0;
    --rk-spec-text: #475569;
    --rk-spec-bg: #ffffff;
}

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

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

.rk-spec-h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-spec-h2 svg {
    color: #38bdf8;
}

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

/* Interaktywny Switcher */
.rk-spec-controls {
    padding: 30px 40px 10px 40px;
    display: flex;
    justify-content: center;
}

.rk-spec-switch-wrapper {
    background: var(--rk-spec-bg);
    border: 2px solid var(--rk-spec-border);
    border-radius: 16px;
    display: inline-flex;
    padding: 6px;
    gap: 8px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
    width: 100%;
    max-width: 600px;
}

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

.rk-spec-switch-btn.active-bad {
    background: var(--rk-spec-danger-bg);
    color: var(--rk-spec-danger);
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.1);
}

.rk-spec-switch-btn.active-good {
    background: var(--rk-spec-success-bg);
    color: var(--rk-spec-success);
    box-shadow: 0 2px 4px rgba(16, 185, 129, 0.1);
}

/* Kafelki Parametrów */
.rk-spec-grid {
    padding: 20px 40px 40px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-spec-card {
    background: var(--rk-spec-bg);
    border: 1px solid var(--rk-spec-border);
    border-radius: 16px;
    padding: 25px;
    transition: all 0.4s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    position: relative;
    overflow: hidden;
}

.rk-spec-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: var(--rk-spec-border);
    transition: background 0.4s ease;
}

.rk-spec-card.state-bad::before { background: var(--rk-spec-danger); }
.rk-spec-card.state-good::before { background: var(--rk-spec-success); }

.rk-spec-card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.rk-spec-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--rk-spec-sky);
    color: var(--rk-spec-blue);
    display: flex;
    align-items: center;
    justify-content: center;
}

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

/* Wiersze danych w kafelku */
.rk-spec-data-row {
    display: flex;
    flex-direction: column;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px dashed var(--rk-spec-border);
}

@media (min-width: 768px) {
    .rk-spec-data-row {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }
}

.rk-spec-data-row:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.rk-spec-label {
    font-size: 14px;
    font-weight: 600;
    color: #94a3b8;
    margin-bottom: 5px;
}

.rk-spec-value-norm {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-spec-dark);
    background: #f1f5f9;
    padding: 4px 10px;
    border-radius: 6px;
}

.rk-spec-value-dyn {
    font-size: 18px;
    font-weight: 900;
    transition: color 0.4s ease;
}

.state-bad .rk-spec-value-dyn { color: var(--rk-spec-danger); }
.state-good .rk-spec-value-dyn { color: var(--rk-spec-success); }

.rk-spec-impact {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-spec-text);
    transition: color 0.4s ease;
}

.rk-spec-impact a {
    color: var(--rk-spec-blue);
    font-weight: 700;
    text-decoration: none;
}

/* RWD */
@media (max-width: 768px) {
    .rk-spec-header { padding: 25px 20px; text-align: left; }
    .rk-spec-h2 { justify-content: flex-start; font-size: 22px; align-items: flex-start; }
    .rk-spec-h2 svg { flex-shrink: 0; margin-top: 2px; }
    .rk-spec-controls { padding: 20px 20px 0 20px; }
    .rk-spec-switch-wrapper { flex-direction: column; }
    .rk-spec-grid { padding: 20px; }
    .rk-spec-card { padding: 20px 20px 20px 25px; } /* Miejsce na pasek boczny */
    .rk-spec-label { margin-bottom: 8px; }
    .rk-spec-value-norm, .rk-spec-value-dyn { display: inline-block; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-specyfikacja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Specyfikacja techniczna: Woda kranowa vs Woda demineralizowana z inhibitorem",
    "description": "Szczegółowe porównanie parametrów fizykochemicznych surowej wody kranowej oraz medium demineralizowanego w odniesieniu do normy PN-EN 14868.",
    "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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-specyfikacja",
    "name": "Porównanie parametrów fizykochemicznych wody roboczej",
    "description": "Zestawienie twardości, przewodności, pH oraz natlenienia dla wody sieciowej w zestawieniu z wytycznymi europejskiej normy dla układów grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "parametry wody w podłogówce",
      "twardość wody mmol/l",
      "przewodność wody grzewczej us/cm",
      "ph w instalacji co",
      "wymagania normy pn-en 14868"
    ],
    "measurementTechnique": "Porównanie tabelaryczne parametrów laboratoryjnych (twardość, przewodność, pH, zawartość O2) z dopuszczalnymi progami dla układów zamkniętych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Twardość: Norma wymaga poniżej 0,1 mmol/l. Kranówka dostarcza do 8,0 mmol/l.",
        "Przewodność: Kranówka 400-900 µS/cm sprzyja korozji elektrochemicznej.",
        "Biofilm: Woda z kranu stwarza wysokie ryzyko rozwoju szlamu i zatorów."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-specyfikacja",
    "name": "Interaktywny Analizator Parametrów Wody",
    "description": "Narzędzie pozwalające na dynamiczne zestawienie wpływu napełnienia instalacji wodą kranową kontra wodą demineralizowaną w odniesieniu do obowiązujących norm technicznych.",
    "applicationCategory": "DiagnosticTool",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-spec-container" id="rk-specyfikacja-wody">
    <div class="rk-spec-header">
        <h2 class="rk-spec-h2">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
            Specyfikacja techniczna parametrów roboczych
        </h2>
        <p class="rk-spec-desc">
            Poniższy panel przedstawia szczegółowe porównanie fizykochemiczne w odniesieniu do rygorystycznych wymogów normy <strong>PN-EN 14868</strong>. Przełącz źródło wody, aby zobaczyć wpływ na instalację.
        </p>
    </div>

    <div class="rk-spec-controls">
        <div class="rk-spec-switch-wrapper">
            <button class="rk-spec-switch-btn active-bad" id="btn-spec-kran" onclick="rkUpdateSpec('kran')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
                Surowa woda kranowa
            </button>
            <button class="rk-spec-switch-btn" id="btn-spec-demi" onclick="rkUpdateSpec('demi')">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><polyline points="9 12 11 14 15 10"/></svg>
                Demineralizowana + Inhibitor
            </button>
        </div>
    </div>

    <div class="rk-spec-grid">
        
        <!-- Parametr 1 -->
        <div class="rk-spec-card state-bad" id="spec-card-1">
            <div class="rk-spec-card-header">
                <div class="rk-spec-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"></polygon><line x1="12" y1="22" x2="12" y2="15.5"></line><polyline points="22 8.5 12 15.5 2 8.5"></polyline><polyline points="2 15.5 12 8.5 22 15.5"></polyline><line x1="12" y1="2" x2="12" y2="8.5"></line></svg>
                </div>
                <h3 class="rk-spec-title">Twardość ogólna</h3>
            </div>
            <div class="rk-spec-data-row">
                <div class="rk-spec-label">Wymagania PN-EN 14868</div>
                <div class="rk-spec-value-norm">≤ 0,1 mmol/l (≤ 0,56 °dH)</div>
            </div>
            <div class="rk-spec-data-row">
                <div class="rk-spec-label">Wynik dla wybranego medium</div>
                <div class="rk-spec-value-dyn" id="val-1">2,0 – 8,0 mmol/l (11–45 °dH)</div>
            </div>
            <div class="rk-spec-data-row" style="border: none;">
                <div class="rk-spec-label">Wpływ na instalację</div>
                <div class="rk-spec-impact" id="imp-1">Wysokie ryzyko błyskawicznego odkładania się kamienia kotłowego na wymienniku, blokującego wymianę ciepła.</div>
            </div>
        </div>

        <!-- Parametr 2 -->
        <div class="rk-spec-card state-bad" id="spec-card-2">
            <div class="rk-spec-card-header">
                <div class="rk-spec-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                </div>
                <h3 class="rk-spec-title">Przewodność właściwa (w 25°C)</h3>
            </div>
            <div class="rk-spec-data-row">
                <div class="rk-spec-label">Wymagania PN-EN 14868</div>
                <div class="rk-spec-value-norm">&lt; 100 µS/cm</div>
            </div>
            <div class="rk-spec-data-row">
                <div class="rk-spec-label">Wynik dla wybranego medium</div>
                <div class="rk-spec-value-dyn" id="val-2">400 – 900 µS/cm</div>
            </div>
            <div class="rk-spec-data-row" style="border: none;">
                <div class="rk-spec-label">Wpływ na instalację</div>
                <div class="rk-spec-impact" id="imp-2">Doskonałe środowisko dla prądów galwanicznych. Drastyczne przyspieszenie <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">korozji elektrochemicznej metali</a>.</div>
            </div>
        </div>

        <!-- Parametr 3 -->
        <div class="rk-spec-card state-bad" id="spec-card-3">
            <div class="rk-spec-card-header">
                <div class="rk-spec-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M8 14s1.5 2 4 2 4-2 4-2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line></svg>
                </div>
                <h3 class="rk-spec-title">Odczyn pH</h3>
            </div>
            <div class="rk-spec-data-row">
                <div class="rk-spec-label">Wymagania PN-EN 14868</div>
                <div class="rk-spec-value-norm">8,2 – 10,0 (zależnie od stopów)</div>
            </div>
            <div class="rk-spec-data-row">
                <div class="rk-spec-label">Wynik dla wybranego medium</div>
                <div class="rk-spec-value-dyn" id="val-3">6,5 – 7,5</div>
            </div>
            <div class="rk-spec-data-row" style="border: none;">
                <div class="rk-spec-label">Wpływ na instalację</div>
                <div class="rk-spec-impact" id="imp-3">Zbyt niskie pH dla ochrony stali. Brak utworzenia trwałej warstwy pasywnej na elementach armatury.</div>
            </div>
        </div>

        <!-- Parametr 4 -->
        <div class="rk-spec-card state-bad" id="spec-card-4">
            <div class="rk-spec-card-header">
                <div class="rk-spec-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8h1a4 4 0 0 1 0 8h-1"></path><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"></path><line x1="6" y1="1" x2="6" y2="4"></line><line x1="10" y1="1" x2="10" y2="4"></line><line x1="14" y1="1" x2="14" y2="4"></line></svg>
                </div>
                <h3 class="rk-spec-title">Zawartość tlenu (O2) i Biofilm</h3>
            </div>
            <div class="rk-spec-data-row">
                <div class="rk-spec-label">Wymagania normatywne</div>
                <div class="rk-spec-value-norm">&lt; 0,1 mg/l / Środowisko jałowe</div>
            </div>
            <div class="rk-spec-data-row">
                <div class="rk-spec-label">Wynik dla wybranego medium</div>
                <div class="rk-spec-value-dyn" id="val-4">8 – 11 mg/l / Obecność pożywek</div>
            </div>
            <div class="rk-spec-data-row" style="border: none;">
                <div class="rk-spec-label">Wpływ na instalację</div>
                <div class="rk-spec-impact" id="imp-4">Dostarczenie czynnika utleniającego (rdzewienie) oraz bakterii tworzących tzw. &#8222;czarny szlam&#8221; zatykający przepływy.</div>
            </div>
        </div>

    </div>
</div>

<script>
function rkUpdateSpec(mode) {
    var btnKran = document.getElementById('btn-spec-kran');
    var btnDemi = document.getElementById('btn-spec-demi');
    var cards = [
        document.getElementById('spec-card-1'),
        document.getElementById('spec-card-2'),
        document.getElementById('spec-card-3'),
        document.getElementById('spec-card-4')
    ];

    if (mode === 'kran') {
        // Przyciski
        btnKran.classList.add('active-bad');
        btnDemi.classList.remove('active-good');
        
        // Zmiana klas kart na czerwone
        for (var i = 0; i < cards.length; i++) {
            cards[i].classList.remove('state-good');
            cards[i].classList.add('state-bad');
        }

        // Twardość
        document.getElementById('val-1').innerText = "2,0 – 8,0 mmol/l (11–45 °dH)";
        document.getElementById('imp-1').innerHTML = "Wysokie ryzyko błyskawicznego odkładania się kamienia kotłowego na wymienniku, blokującego wymianę ciepła.";

        // Przewodność
        document.getElementById('val-2').innerText = "400 – 900 µS/cm";
        document.getElementById('imp-2').innerHTML = "Doskonałe środowisko dla prądów galwanicznych. Drastyczne przyspieszenie <a href=\"https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/\">korozji elektrochemicznej metali</a>.";

        // pH
        document.getElementById('val-3').innerText = "6,5 – 7,5";
        document.getElementById('imp-3').innerHTML = "Zbyt niskie pH dla ochrony stali. Brak utworzenia trwałej warstwy pasywnej na elementach armatury.";

        // Tlen / Biofilm
        document.getElementById('val-4').innerText = "8 – 11 mg/l / Obecność pożywek";
        document.getElementById('imp-4').innerHTML = "Dostarczenie czynnika utleniającego (rdzewienie) oraz bakterii tworzących tzw. \"czarny szlam\" zatykający przepływy.";

    } else {
        // Przyciski
        btnDemi.classList.add('active-good');
        btnKran.classList.remove('active-bad');
        
        // Zmiana klas kart na zielone
        for (var j = 0; j < cards.length; j++) {
            cards[j].classList.remove('state-bad');
            cards[j].classList.add('state-good');
        }

        // Twardość
        document.getElementById('val-1').innerText = "0,0 mmol/l (0 °dH)";
        document.getElementById('imp-1').innerHTML = "Całkowity brak ryzyka liniowego odkładania się izolującego kamienia kotłowego.";

        // Przewodność
        document.getElementById('val-2').innerText = "30 – 80 µS/cm";
        document.getElementById('imp-2').innerHTML = "Zredukowane do minimum ryzyko powstawania niszczących prądów galwanicznych w obrębie rozdzielacza.";

        // pH
        document.getElementById('val-3').innerText = "8,5 – 9,5 (ustabilizowane)";
        document.getElementById('imp-3').innerHTML = "Idealne środowisko pasywujące dla elementów ze stali, mosiądzu oraz bezpieczne dla aluminium.";

        // Tlen / Biofilm
        document.getElementById('val-4').innerText = "< 0,05 mg/l / Zero bakterii";
        document.getElementById('imp-4').innerHTML = "Brak utleniacza powstrzymuje rdzewienie. Dodatek biocydów trwale blokuje powstawanie biofilmu.";
    }
}
</script>



<style>
:root {
    --rk-alg-dark: #0f172a;
    --rk-alg-blue: #0284c7;
    --rk-alg-light-blue: #f0f9ff;
    --rk-alg-accent: #38bdf8;
    --rk-alg-bg: #ffffff;
    --rk-alg-border: #cbd5e1;
    --rk-alg-text: #475569;
    --rk-alg-formula: #1e293b;
}

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

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

.rk-alg-h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-alg-h2 svg {
    color: var(--rk-alg-accent);
}

.rk-alg-desc {
    color: #cbd5e1;
    font-size: 16px;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px;
}

/* Układ Siatki */
.rk-alg-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

@media (min-width: 900px) {
    .rk-alg-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Kolumna 1: Teoria i Wzory */
.rk-alg-theory {
    padding: 40px;
    background: #f8fafc;
    border-right: 1px solid var(--rk-alg-border);
}

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

.rk-alg-h3 svg {
    color: var(--rk-alg-blue);
}

.rk-alg-formula-box {
    background: var(--rk-alg-bg);
    border: 1px solid var(--rk-alg-border);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.03);
}

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

.rk-alg-text a {
    color: var(--rk-alg-blue);
    font-weight: 700;
    text-decoration: none;
}

.rk-alg-math {
    background: var(--rk-alg-formula);
    color: #38bdf8;
    padding: 15px;
    border-radius: 8px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 1px;
}

.rk-alg-math-sub {
    font-size: 12px;
    color: #94a3b8;
    display: block;
    margin-top: 5px;
}

/* Kolumna 2: Kalkulator Interaktywny */
.rk-alg-calc {
    padding: 40px;
    background: var(--rk-alg-bg);
}

.rk-alg-control-group {
    margin-bottom: 25px;
}

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

.rk-alg-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-alg-dark);
}

.rk-alg-badge {
    background: var(--rk-alg-light-blue);
    color: var(--rk-alg-blue);
    padding: 4px 10px;
    border-radius: 6px;
    font-weight: 800;
    font-size: 14px;
    border: 1px solid rgba(2, 132, 199, 0.2);
}

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

.rk-alg-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-alg-blue);
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* Wyniki na żywo */
.rk-alg-results-panel {
    background: var(--rk-alg-dark);
    border-radius: 16px;
    padding: 25px;
    margin-top: 30px;
    color: #ffffff;
}

.rk-alg-res-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.rk-alg-res-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.rk-alg-res-title {
    font-size: 14px;
    color: #94a3b8;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-alg-res-val {
    font-size: 20px;
    font-weight: 900;
    color: #ffffff;
}

.rk-alg-res-val.highlight {
    color: var(--rk-alg-accent);
    font-size: 24px;
}

/* RWD */
@media (max-width: 768px) {
    .rk-alg-header { padding: 30px 20px; text-align: left; }
    .rk-alg-h2 { justify-content: flex-start; font-size: 22px; }
    .rk-alg-theory, .rk-alg-calc { padding: 25px 20px; }
    .rk-alg-theory { border-right: none; border-bottom: 2px dashed var(--rk-alg-border); }
    .rk-alg-math { font-size: 14px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-zlad",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Ile litrów wody mieści się w instalacji ogrzewania podłogowego? Algorytm obliczeniowy",
    "description": "Precyzyjny inżynierski algorytm obliczania zładu wody (objętości cieczy) w systemie grzewczym oparty na fizyce płynów i parametrach rury PEX 16x2.",
    "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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-zlad",
    "name": "Stałe Fizyczne Zładu Wodnego (PEX/PERT 16x2)",
    "description": "Zbiór matematycznych stałych fizycznych do wyznaczania objętości czynnika grzewczego w instalacjach opartych na rurze PEX o średnicy wewnętrznej 12 mm.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pojemność rury pex 16",
      "objętość wody w podłogówce",
      "kalkulator do obliczania ilości metrów rury",
      "ile wody wchodzi w 100m rury",
      "dozowanie inhibitora korozji"
    ],
    "measurementTechnique": "Obliczenie kubatury na podstawie wzoru na objętość walca (V = pi * r^2 * h) przy stałej wewnętrznej średnicy rury wynoszącej 12 mm (0,012 m).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Objętość 1 mb rury 16x2 = 0,113 litra.",
        "Stała projektowa: 100 mb rury PEX mieści 11,3 litra.",
        "Rekomendowane stężenie inhibitora: 1-2% objętości."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-zlad",
    "name": "Inżynierski Kalkulator Zładu Instalacji CO",
    "description": "Interaktywna aplikacja przeliczająca w czasie rzeczywistym całkowity zład instalacji płaszczyznowej w oparciu o wprowadzony metraż, bufor ciepła i stałe objętościowe.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-alg-container" id="rk-zlad-wody">
    <div class="rk-alg-header">
        <h2 class="rk-alg-h2">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z"></path></svg>
            Ile litrów wody mieści się w instalacji?
        </h2>
        <p class="rk-alg-desc">
            Dokładne wyliczenie zładu wody w systemie grzewczym jest kluczowe do zakupienia poprawnej ilości zdemineralizowanego medium oraz precyzyjnego dozowania inhibitora korozji (zazwyczaj 1% do 2% całkowitej objętości).
        </p>
    </div>

    <div class="rk-alg-grid">
        
        <!-- Kolumna Teoretyczna -->
        <div class="rk-alg-theory">
            <h3 class="rk-alg-h3">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                Fizyka płynów w rurze PEX
            </h3>
            
            <p class="rk-alg-text">
                Najpopularniejsza <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rura PEX do ogrzewania podłogowego</a> posiada średnicę zewnętrzną 16 mm i ściankę 2 mm. Średnica wewnętrzna (d_w) to dokładnie 12 mm.
            </p>

            <div class="rk-alg-formula-box">
                <p class="rk-alg-text" style="margin-bottom: 10px; font-weight: 700;">Wzór na objętość 1 metra (Walec):</p>
                <div class="rk-alg-math">
                    V = pi * (d_w / 2)^2 * 1m
                    <span class="rk-alg-math-sub">V = 3,14159 * (0,006 m)^2 * 1 m</span>
                </div>
            </div>

            <p class="rk-alg-text" style="font-size: 15px;">
                Wynik to 0,000113 m³. Dla uproszczenia inżynierskiego przyjmujemy absolutną stałą: <br><strong style="color: var(--rk-alg-dark);">100 metrów rury PEX 16x2 mieści dokładnie 11,3 litra wody.</strong> Weryfikację tej stałej opisano w artykule <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</a>.
            </p>
        </div>

        <!-- Kolumna Interaktywna -->
        <div class="rk-alg-calc">
            <h3 class="rk-alg-h3">
                <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>
                Algorytm Obliczeniowy
            </h3>

            <!-- Suwak: Metraż -->
            <div class="rk-alg-control-group">
                <div class="rk-alg-label-flex">
                    <span class="rk-alg-label">Powierzchnia grzewcza (m²)</span>
                    <span class="rk-alg-badge" id="alg-area-val">150</span>
                </div>
                <input type="range" class="rk-alg-slider" id="alg-area-input" min="50" max="350" step="5" value="150" oninput="rkRunAlg()">
            </div>

            <!-- Suwak: Bufor -->
            <div class="rk-alg-control-group">
                <div class="rk-alg-label-flex">
                    <span class="rk-alg-label"><a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" style="color: inherit; text-decoration: none;">Pojemność bufora ciepła (L)</a></span>
                    <span class="rk-alg-badge" id="alg-buffer-val">100</span>
                </div>
                <input type="range" class="rk-alg-slider" id="alg-buffer-input" min="0" max="500" step="10" value="100" oninput="rkRunAlg()">
            </div>

            <!-- Wyniki Algorytmu -->
            <div class="rk-alg-results-panel">
                
                <div class="rk-alg-res-row">
                    <div class="rk-alg-res-title">
                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 14v-2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2"></path><path d="M4 20v-2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2"></path></svg>
                        Długość Rur PEX (co 10cm)
                    </div>
                    <div class="rk-alg-res-val" id="alg-out-pipes">1350 mb</div>
                </div>

                <div class="rk-alg-res-row">
                    <div class="rk-alg-res-title">
                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                        Pojemność sekcji armatury
                    </div>
                    <div class="rk-alg-res-val" id="alg-out-armature">22 L</div>
                </div>

                <div class="rk-alg-res-row" style="border-bottom: none; margin-bottom: 0;">
                    <div class="rk-alg-res-title">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z"></path></svg>
                        Całkowity Zład Wody (V_całk)
                    </div>
                    <div class="rk-alg-res-val highlight" id="alg-out-total">277.5 L</div>
                </div>
            </div>

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

<script>
function rkRunAlg() {
    // Pobranie danych
    var area = parseFloat(document.getElementById('alg-area-input').value);
    var buffer = parseFloat(document.getElementById('alg-buffer-input').value);
    
    // Aktualizacja widoku suwaków
    document.getElementById('alg-area-val').innerText = area;
    document.getElementById('alg-buffer-val').innerText = buffer;

    // Stałe matematyczne z treści (Krok 1-4)
    var pipeUsagePerM2 = 9.0; // mb/m2 (przy rozstawie 10cm)
    var pipeCapPerMeter = 0.113; // litrów na mb
    var manifoldVolPerLoop = 0.5; // litrów na sekcję rozdzielacza
    var supplyPipesVol = 15.0; // stała dla pionów
    var heatPumpVol = 3.0; // źródło ciepła

    // Obliczenia krokowe
    var lPipes = area * pipeUsagePerM2; // L
    var vPetli = lPipes * pipeCapPerMeter; // Krok 1
    
    var loopsCount = Math.ceil(lPipes / 100); // ok. 100m na pętlę
    var vArm = (loopsCount * manifoldVolPerLoop) + supplyPipesVol; // Krok 2
    
    var vZrodla = heatPumpVol + buffer; // Krok 3
    
    var vCalk = vPetli + vArm + vZrodla; // Krok 4

    // Renderowanie do DOM
    document.getElementById('alg-out-pipes').innerText = Math.round(lPipes) + " mb";
    document.getElementById('alg-out-armature').innerText = Math.round(vArm) + " L";
    document.getElementById('alg-out-total').innerText = vCalk.toFixed(1) + " L";
}

// Inicjalizacja przy starcie strony
document.addEventListener("DOMContentLoaded", function() {
    rkRunAlg();
});
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0284c7;
    --rk-calc-blue-light: #e0f2fe;
    --rk-calc-accent: #38bdf8;
    --rk-calc-green: #10b981;
    --rk-calc-bg: #ffffff;
    --rk-calc-gray: #f8fafc;
    --rk-calc-border: #cbd5e1;
    --rk-calc-text: #334155;
}

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

.rk-calc-header {
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #1e293b 100%);
    padding: 40px 45px;
    text-align: center;
    color: #ffffff;
}

.rk-calc-h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-calc-h2 svg {
    color: var(--rk-calc-accent);
}

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

.rk-calc-body {
    padding: 40px 45px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Sekcja Inputów */
.rk-calc-controls {
    background: var(--rk-calc-gray);
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-calc-border);
}

.rk-calc-group {
    margin-bottom: 25px;
}

.rk-calc-group:last-child {
    margin-bottom: 0;
}

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

.rk-calc-val-badge {
    background: var(--rk-calc-blue);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 900;
}

/* Suwaki (Range) */
.rk-calc-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #cbd5e1;
    outline: none;
    transition: background 0.3s;
}

.rk-calc-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-calc-blue);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.rk-calc-slider::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-blue);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* Przełączniki (Toggles) */
.rk-calc-toggles {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

@media (min-width: 768px) {
    .rk-calc-toggles {
        flex-direction: row;
    }
}

.rk-calc-btn {
    flex: 1;
    padding: 16px;
    background: #ffffff;
    border: 2px solid var(--rk-calc-border);
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-calc-text);
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.rk-calc-btn.active {
    background: var(--rk-calc-blue-light);
    border-color: var(--rk-calc-blue);
    color: var(--rk-calc-blue);
}

/* Sekcja Wyników */
.rk-calc-results {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 768px) {
    .rk-calc-results {
        grid-template-columns: repeat(3, 1fr);
    }
}

.rk-calc-result-box {
    background: #ffffff;
    border: 2px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 25px 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: border-color 0.3s;
}

.rk-calc-result-box:hover {
    border-color: var(--rk-calc-blue);
}

.rk-calc-result-box.highlight {
    background: var(--rk-calc-dark);
    border-color: var(--rk-calc-dark);
    color: #ffffff;
}

.rk-calc-res-icon {
    margin-bottom: 15px;
    display: flex;
    justify-content: center;
}

.rk-calc-res-icon svg {
    width: 40px;
    height: 40px;
    color: var(--rk-calc-blue);
}

.rk-calc-result-box.highlight .rk-calc-res-icon svg {
    color: var(--rk-calc-accent);
}

.rk-calc-res-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-calc-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

.rk-calc-result-box.highlight .rk-calc-res-label {
    color: #94a3b8;
}

.rk-calc-res-value {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-calc-dark);
    line-height: 1.1;
}

.rk-calc-result-box.highlight .rk-calc-res-value {
    color: #ffffff;
}

/* Sekcja CTA z długim ogonem */
.rk-calc-cta {
    background: var(--rk-calc-blue-light);
    padding: 40px 45px;
    border-top: 1px solid var(--rk-calc-blue);
    text-align: center;
}

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

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

.rk-calc-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--rk-calc-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 35px;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s ease;
}

.rk-calc-cta-btn:hover {
    background: #0369a1;
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(2, 132, 199, 0.5);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-calc-header, .rk-calc-body, .rk-calc-cta { padding: 30px 20px; }
    .rk-calc-h2 { font-size: 24px; text-align: left; align-items: flex-start; }
    .rk-calc-h2 svg { margin-top: 4px; flex-shrink: 0; }
    .rk-calc-controls { padding: 20px; }
    .rk-calc-res-value { font-size: 28px; }
    .rk-calc-cta-btn { width: 100%; justify-content: center; font-size: 16px; padding: 18px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Kalkulator zładu wody w ogrzewaniu podłogowym - algorytm obliczeniowy",
    "description": "Interaktywne narzędzie obliczające całkowitą pojemność wodną instalacji ogrzewania podłogowego (zład wody) oraz wymaganą ilość inhibitora korozji na podstawie metrażu i rozstawu rur PEX.",
    "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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-kalkulator",
    "name": "Pojemność hydrauliczna układów płaszczyznowych (PEX/PERT 16x2)",
    "description": "Zbiór zmiennych algorytmicznych wykorzystywanych do precyzyjnego wyznaczania objętości czynnika roboczego w instalacjach opartych na rozstawie rur 10 cm i 15 cm.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zład wody w ogrzewaniu podłogowym",
      "pojemność rury pex 16",
      "ile wody wchodzi w podłogówkę",
      "kalkulator pojemności wodnej instalacji",
      "ilość inhibitora korozji na 100 litrów"
    ],
    "measurementTechnique": "Obliczenia objętości walca dla rur PEX 16x2 mm (pojemność jednostkowa 0,113 l/mb) powiększone o szacunkową kubaturę zładu belek rozdzielacza i źródła ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "100 mb rury PEX 16x2 = 11,3 litra zładu",
        "Średnie stężenie inhibitora ochronnego = 2% całkowitej objętości cieczy",
        "Zład strefowy rozdzielacza mosiężnego = ok. 0,5 litra na pętlę"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-kalkulator",
    "name": "Kalkulator Zładu Wody i Chemii Instalacyjnej",
    "description": "Dynamiczne narzędzie HTML5 pozwalające inwestorowi na bieżąco obliczać zapotrzebowanie na wodę demineralizowaną oraz koncentrat inhibitora w oparciu o wprowadzony metraż i zagęszczenie rur.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="rk-kalkulator-wody">
    <div class="rk-calc-header">
        <h2 class="rk-calc-h2">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><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>
            Kalkulator Zładu Wody (PEX 16x2)
        </h2>
        <p class="rk-calc-desc">Oszacuj, ile litrów wody demineralizowanej oraz inhibitora korozji musisz kupić do swojej instalacji. Wynik uwzględnia objętość rur, rozdzielacza i standardowej pompy ciepła.</p>
    </div>

    <div class="rk-calc-body">
        
        <div class="rk-calc-controls">
            <!-- Powierzchnia -->
            <div class="rk-calc-group">
                <div class="rk-calc-label">
                    <span>Powierzchnia grzewcza (m²)</span>
                    <span class="rk-calc-val-badge" id="rk-area-val">120</span>
                </div>
                <input type="range" class="rk-calc-slider" id="rk-area-input" min="30" max="300" step="5" value="120" oninput="rkUpdateCalc()">
            </div>

            <!-- Rozstaw rur -->
            <div class="rk-calc-group">
                <div class="rk-calc-label">
                    <span>Dominujący rozstaw rur</span>
                </div>
                <div class="rk-calc-toggles">
                    <button class="rk-calc-btn active" id="btn-roz-10" data-val="10" onclick="rkSetSpacing(10)">Gęsty (co 10 cm)</button>
                    <button class="rk-calc-btn" id="btn-roz-15" data-val="15" onclick="rkSetSpacing(15)">Rzadszy (co 15 cm)</button>
                </div>
            </div>

            <!-- Pojemność bufora -->
            <div class="rk-calc-group">
                <div class="rk-calc-label">
                    <span>Pojemność ewentualnego bufora ciepła (litry)</span>
                    <span class="rk-calc-val-badge" id="rk-buffer-val">50</span>
                </div>
                <input type="range" class="rk-calc-slider" id="rk-buffer-input" min="0" max="300" step="10" value="50" oninput="rkUpdateCalc()">
            </div>
        </div>

        <div class="rk-calc-results">
            <!-- Wynik: Szacowane rury -->
            <div class="rk-calc-result-box">
                <div class="rk-calc-res-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 14v-2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2"></path><path d="M4 20v-2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2"></path><path d="M4 8V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2"></path></svg>
                </div>
                <div class="rk-calc-res-label">Zużycie rury PEX</div>
                <div class="rk-calc-res-value" id="rk-out-pipes">1080 mb</div>
            </div>

            <!-- Wynik: Zład Wody -->
            <div class="rk-calc-result-box highlight">
                <div class="rk-calc-res-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z"></path></svg>
                </div>
                <div class="rk-calc-res-label">Całkowity zład wody</div>
                <div class="rk-calc-res-value" id="rk-out-vol">193 L</div>
            </div>

            <!-- Wynik: Chemia -->
            <div class="rk-calc-result-box">
                <div class="rk-calc-res-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 2v7.31"></path><path d="M14 9.3V1.99"></path><path d="M8.5 2h7"></path><path d="M14 9.3a6.5 6.5 0 1 1-4 0"></path><line x1="5.52" y1="16" x2="18.48" y2="16"></line></svg>
                </div>
                <div class="rk-calc-res-label">Inhibitor (stęż. 2%)</div>
                <div class="rk-calc-res-value" id="rk-out-inh">3.9 L</div>
            </div>
        </div>

    </div>

    <!-- Zoptymalizowane CTA -->
    <div class="rk-calc-cta">
        <h4>Te wyliczenia to dopiero początek drogi</h4>
        <p>
            Aby uniknąć zakupu zbyt drogiej pompy ciepła oraz precyzyjnie wyregulować przepływy na rotametrach, potrzebujesz profesjonalnego bilansu cieplnego OZC. Zamień szacunki na twarde, inżynierskie dane dopasowane do materiałów Twojego budynku.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-calc-cta-btn">
            ZAMÓW PROJEKT INSTALACJI OGRZEWANIA PODŁOGOWEGO
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
        </a>
    </div>
</div>

<script>
// Zmienna przechowująca aktywny rozstaw
var currentSpacing = 10;

function rkSetSpacing(val) {
    currentSpacing = val;
    
    // Zmiana stylów przycisków
    var btn10 = document.getElementById('btn-roz-10');
    var btn15 = document.getElementById('btn-roz-15');
    
    if (val === 10) {
        btn10.classList.add('active');
        btn15.classList.remove('active');
    } else {
        btn15.classList.add('active');
        btn10.classList.remove('active');
    }
    
    rkUpdateCalc();
}

function rkUpdateCalc() {
    // Pobranie wartości z suwaków
    var area = parseFloat(document.getElementById('rk-area-input').value);
    var buffer = parseFloat(document.getElementById('rk-buffer-input').value);
    
    // Aktualizacja etykiet nad suwakami
    document.getElementById('rk-area-val').innerText = area;
    document.getElementById('rk-buffer-val').innerText = buffer;
    
    // Zmienne algorytmu
    var mbPerM2 = 9.0; // Domyślnie dla 10cm (z uwzględnieniem podejść)
    if (currentSpacing === 15) {
        mbPerM2 = 6.5; // Średnie zużycie dla 15cm
    }
    
    var pipeCapacityLiters = 0.113; // litrów na 1 mb rury 16x2
    var manifoldPerLoopLiters = 0.5; // pojemność belek na pętlę
    var supplyPipesLiters = 15.0; // rury zasilające rozdzielacz
    var heatPumpLiters = 3.0; // wymiennik małej pompy ciepła
    
    // Główne obliczenia
    var totalPipeLength = area * mbPerM2;
    var loopsCount = Math.ceil(totalPipeLength / 100); // Zakładamy średnio pętle po 100m
    
    var volumePipes = totalPipeLength * pipeCapacityLiters;
    var volumeManifold = (loopsCount * manifoldPerLoopLiters) + supplyPipesLiters;
    var volumeTotal = volumePipes + volumeManifold + heatPumpLiters + buffer;
    
    var inhibitorAmount = volumeTotal * 0.02; // Stężenie 2%
    
    // Renderowanie wyników
    document.getElementById('rk-out-pipes').innerText = Math.round(totalPipeLength) + " mb";
    document.getElementById('rk-out-vol').innerText = Math.round(volumeTotal) + " L";
    document.getElementById('rk-out-inh').innerText = inhibitorAmount.toFixed(1) + " L";
}

// Wywołanie przy pierwszym załadowaniu
document.addEventListener("DOMContentLoaded", function() {
    rkUpdateCalc();
});
</script>



<style>
:root {
    --rk-proc-dark: #0f172a;
    --rk-proc-blue: #0284c7;
    --rk-proc-blue-hover: #0369a1;
    --rk-proc-light: #f8fafc;
    --rk-proc-border: #e2e8f0;
    --rk-proc-text: #475569;
    --rk-proc-step-bg: #ffffff;
    --rk-proc-accent: #38bdf8;
}

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

.rk-proc-header {
    background: var(--rk-proc-dark);
    padding: 35px 40px;
    text-align: center;
    border-bottom: 4px solid var(--rk-proc-blue);
}

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

.rk-proc-h2 svg {
    color: var(--rk-proc-accent);
}

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

/* Oś Czasu (Timeline) */
.rk-proc-timeline {
    padding: 40px;
    position: relative;
}

/* Pionowa linia łącząca kroki */
.rk-proc-timeline::before {
    content: '';
    position: absolute;
    top: 50px;
    bottom: 50px;
    left: 64px; /* Środek ikony (40px padding + 24px połowa ikony) */
    width: 2px;
    background: var(--rk-proc-border);
    z-index: 1;
}

.rk-proc-item {
    position: relative;
    z-index: 2;
    margin-bottom: 25px;
}

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

/* Karta Kroku */
.rk-proc-card {
    background: var(--rk-proc-step-bg);
    border: 1px solid var(--rk-proc-border);
    border-radius: 16px;
    margin-left: 60px; /* Miejsce na pływający numer */
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-proc-item.active .rk-proc-card {
    border-color: var(--rk-proc-blue);
    box-shadow: 0 10px 15px -3px rgba(2, 132, 199, 0.1);
}

/* Pływający numer kroku */
.rk-proc-number {
    position: absolute;
    left: 0;
    top: 20px; /* Wyśrodkowanie względem przycisku */
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--rk-proc-step-bg);
    border: 2px solid var(--rk-proc-border);
    color: var(--rk-proc-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 900;
    transition: all 0.3s ease;
    z-index: 3;
}

.rk-proc-item.active .rk-proc-number {
    background: var(--rk-proc-blue);
    border-color: var(--rk-proc-blue);
    color: #ffffff;
    transform: scale(1.1);
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.2);
}

/* Przycisk Akordeonu */
.rk-proc-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 25px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    border-radius: 16px;
    transition: background 0.2s;
}

.rk-proc-trigger:hover {
    background: #f1f5f9;
}

.rk-proc-title {
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-proc-dark);
    margin: 0;
    padding-right: 15px;
    line-height: 1.4;
}

.rk-proc-chevron {
    color: #94a3b8;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
}

.rk-proc-item.active .rk-proc-chevron {
    transform: rotate(180deg);
    color: var(--rk-proc-blue);
}

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

.rk-proc-inner {
    padding: 0 25px 25px 25px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (min-width: 768px) {
    .rk-proc-inner {
        flex-direction: row;
        align-items: flex-start;
    }
}

.rk-proc-icon-box {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    background: #f0f9ff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-proc-blue);
}

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

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

.rk-proc-text-box a {
    color: var(--rk-proc-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.rk-proc-text-box a:hover {
    border-bottom-color: var(--rk-proc-blue);
}

@media (max-width: 768px) {
    .rk-proc-header { padding: 25px 20px; }
    .rk-proc-h2 { font-size: 22px; }
    .rk-proc-timeline { padding: 20px 15px 20px 15px; }
    
    /* Ukrywamy fizyczną linię na telefonach, by oszczędzić miejsce, 
       zostawiamy ułożenie pionowe (akordeonowe) kart */
    .rk-proc-timeline::before { display: none; }
    
    .rk-proc-card { margin-left: 0; margin-top: 25px; }
    
    .rk-proc-number {
        top: -20px;
        left: 20px;
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    
    .rk-proc-trigger { padding: 30px 20px 15px 20px; } /* Więcej miejsca od góry na numer */
    .rk-proc-title { font-size: 15px; }
    .rk-proc-inner { padding: 0 20px 20px 20px; }
    .rk-proc-icon-box { display: none; } /* Ukrywamy dużą ikonę na mobile dla czytelności tekstu */
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-procedura",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Procedura napełniania instalacji podłogówki wodą zdemineralizowaną krok po kroku",
    "description": "5-etapowy, restrykcyjny reżim technologiczny napełniania układów płaszczyznowych zapewniający homogeniczne wymieszanie inhibitora chemicznego oraz brak napowietrzenia.",
    "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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-procedura",
    "name": "Reżim technologiczny napełniania układów płaszczyznowych (Procedura 5-krokowa)",
    "description": "Zestawienie wytycznych ciśnieniowych i chemicznych niezbędnych do bezpiecznego uruchomienia zamkniętego układu centralnego ogrzewania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ciśnieniowe płukanie wstępne",
      "pompa do prób ciśnieniowych",
      "sekwencyjne tłoczenie na rozdzielaczu",
      "próba szczelności podłogówki",
      "kontrola pH wody demineralizowanej"
    ],
    "measurementTechnique": "Badanie ciśnieniowe zgodne z PN-EN 1264-4 (3 bar) oraz weryfikacja konduktometrem i pehametrem (przewodność 30-100 µS/cm, pH 8,5-9,2).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Krok 1: Płukanie wodą techniczną",
        "Krok 2: Przygotowanie w stacji zalewowej",
        "Krok 3: Tłoczenie na rozdzielacz",
        "Krok 4: Próba ciśnieniowa (3 bar)",
        "Krok 5: Kontrola laboratoryjna"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-procedura",
    "name": "Symulator Procedury Napełniania Instalacji",
    "description": "Interaktywny przewodnik krok po kroku prezentujący zasady bezpiecznego napełniania instalacji podłogowych z zachowaniem norm ciśnieniowych i chemicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proc-container" id="rk-procedura-napelniania">
    <div class="rk-proc-header">
        <h2 class="rk-proc-h2">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 19 21 12 17 5 21 12 2"></polygon></svg>
            Procedura napełniania wodą zdemineralizowaną
        </h2>
        <p class="rk-proc-desc">
            Napełnianie układu płaszczyznowego zdemineralizowanym medium wymaga zachowania restrykcyjnego reżimu technologicznego, aby nie dopuścić do napowietrzenia zładu oraz zapewnić homogeniczne wymieszanie inhibitora chemicznego.
        </p>
    </div>

    <div class="rk-proc-timeline">
        
        <!-- Krok 1 -->
        <div class="rk-proc-item active" id="proc-step-1">
            <div class="rk-proc-number">1</div>
            <div class="rk-proc-card">
                <button class="rk-proc-trigger" onclick="rkToggleProc('proc-step-1')">
                    <h3 class="rk-proc-title">Krok 1: Ciśnieniowe płukanie wstępne instalacji</h3>
                    <svg class="rk-proc-chevron" width="24" height="24" 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>
                </button>
                <div class="rk-proc-content" style="max-height: 1000px;"> <!-- Pierwszy otwarty domyślnie -->
                    <div class="rk-proc-inner">
                        <div class="rk-proc-icon-box">
                            <svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z"></path></svg>
                        </div>
                        <p class="rk-proc-text-box">
                            Przed wprowadzeniem wody docelowej, cała instalacja musi zostać dokładnie przepłukana wodą czystą w celu usunięcia zanieczyszczeń poinstalacyjnych (opiłki plastiku, pozostałości kalafonii, kurz). Płukanie wykonuje się sekwencyjnie – otwarta jest tylko jedna pętla grzewcza na rozdzielaczu, aż do momentu, gdy wypływająca z niej woda będzie całkowicie klarowna. Po zakończeniu procedury dla wszystkich pętli, wodę technologiczną należy w miarę możliwości wydmuchać z układu sprężonym powietrzem.
                        </p>
                    </div>
                </div>
            </div>
        </div>

        <!-- Krok 2 -->
        <div class="rk-proc-item" id="proc-step-2">
            <div class="rk-proc-number">2</div>
            <div class="rk-proc-card">
                <button class="rk-proc-trigger" onclick="rkToggleProc('proc-step-2')">
                    <h3 class="rk-proc-title">Krok 2: Przygotowanie stacji napełniającej i chemii</h3>
                    <svg class="rk-proc-chevron" width="24" height="24" 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>
                </button>
                <div class="rk-proc-content">
                    <div class="rk-proc-inner">
                        <div class="rk-proc-icon-box">
                            <svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 2v7.31"></path><path d="M14 9.3V1.99"></path><path d="M8.5 2h7"></path><path d="M14 9.3a6.5 6.5 0 1 1-4 0"></path><line x1="5.52" y1="16" x2="18.48" y2="16"></line></svg>
                        </div>
                        <p class="rk-proc-text-box">
                            Napełnianie właściwe nie może odbywać się poprzez bezpośrednie podłączenie węża ogrodowego do sieci wodociągowej. Wymagane jest użycie zewnętrznej pompy zalewowej (tzw. pompy membranowej lub pompy do prób ciśnieniowych) oraz czystego zbiornika buforowego (np. atestowanego pojemnika <strong>200-1000 litrów</strong>), do którego wlewa się zakupioną <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">wodę demineralizowaną z inhibitorem korozji</a> z paletopojemnika typu IBC. W zbiorniku tym miesza się wodę z odpowiednią ilością inhibitora (np. Fernox F1 lub Sentinel X100) za pomocą mieszadła mechanicznego, uzyskując jednorodne stężenie.
                        </p>
                    </div>
                </div>
            </div>
        </div>

        <!-- Krok 3 -->
        <div class="rk-proc-item" id="proc-step-3">
            <div class="rk-proc-number">3</div>
            <div class="rk-proc-card">
                <button class="rk-proc-trigger" onclick="rkToggleProc('proc-step-3')">
                    <h3 class="rk-proc-title">Krok 3: Sekwencyjne tłoczenie medium do rozdzielaczy</h3>
                    <svg class="rk-proc-chevron" width="24" height="24" 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>
                </button>
                <div class="rk-proc-content">
                    <div class="rk-proc-inner">
                        <div class="rk-proc-icon-box">
                            <svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="14" width="20" height="4" rx="1"></rect><rect x="2" y="6" width="20" height="4" rx="1"></rect><line x1="6" y1="10" x2="6" y2="14"></line><line x1="12" y1="10" x2="12" y2="14"></line><line x1="18" y1="10" x2="18" y2="14"></line></svg>
                        </div>
                        <p class="rk-proc-text-box">
                            Pompa zalewowa podłączona zostaje do zaworu napełniająco-spustowego na belce zasilającej <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacza do podłogówki</a>, natomiast wąż spustowy z belki powrotnej zostaje wprowadzony z powrotem do zbiornika buforowego (tworząc obieg zamknięty). Zamyka się wszystkie pętle grzewcze oprócz pierwszej. Włącza się pompę zalewową i tłoczy zdemineralizowane medium tak długo, aż z węża spustowego przestaną wydostawać się pęcherzyki powietrza. Procedurę powtarza się po kolei dla każdej pętli grzewczej z osobna.
                        </p>
                    </div>
                </div>
            </div>
        </div>

        <!-- Krok 4 -->
        <div class="rk-proc-item" id="proc-step-4">
            <div class="rk-proc-number">4</div>
            <div class="rk-proc-card">
                <button class="rk-proc-trigger" onclick="rkToggleProc('proc-step-4')">
                    <h3 class="rk-proc-title">Krok 4: Odpowietrzenie końcowe i ciśnieniowa próba szczelności</h3>
                    <svg class="rk-proc-chevron" width="24" height="24" 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>
                </button>
                <div class="rk-proc-content">
                    <div class="rk-proc-inner">
                        <div class="rk-proc-icon-box">
                            <svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><circle cx="12" cy="12" r="3"></circle><line x1="12" y1="12" x2="16" y2="8"></line></svg>
                        </div>
                        <p class="rk-proc-text-box">
                            Po napełnieniu wszystkich pętli zamyka się zawór spustowy i doprowadza ciśnienie w instalacji do poziomu roboczego podwyższonego (zazwyczaj <strong>0,3 MPa / 3 bar</strong> w celu przeprowadzenia <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próby szczelności ogrzewania podłogowego</a> zgodnie z rygorystyczną normą PN-EN 1264-4). Układ pozostawia się pod tym ciśnieniem na minimum <strong>24 godziny</strong>. Równocześnie uruchamia się pompę obiegową na najwyższym biegu przy otwartych automatycznych odpowietrznikach, w celu odseparowania resztek mikrobalonów powietrza.
                        </p>
                    </div>
                </div>
            </div>
        </div>

        <!-- Krok 5 -->
        <div class="rk-proc-item" id="proc-step-5">
            <div class="rk-proc-number">5</div>
            <div class="rk-proc-card">
                <button class="rk-proc-trigger" onclick="rkToggleProc('proc-step-5')">
                    <h3 class="rk-proc-title">Krok 5: Weryfikacja parametrów fizykochemicznych testerem</h3>
                    <svg class="rk-proc-chevron" width="24" height="24" 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>
                </button>
                <div class="rk-proc-content">
                    <div class="rk-proc-inner">
                        <div class="rk-proc-icon-box">
                            <svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="8" y1="6" x2="16" y2="6"></line><line x1="8" y1="10" x2="16" y2="10"></line><line x1="8" y1="14" x2="12" y2="14"></line><line x1="8" y1="18" x2="12" y2="18"></line></svg>
                        </div>
                        <p class="rk-proc-text-box">
                            Po zakończeniu cyklu odpowietrzania i stabilizacji ciśnienia, technik pobiera próbkę cieczy z najdalej oddalonego punktu instalacji. Za pomocą skalibrowanego konduktometru oraz pehametru elektronicznego dokonuje się pomiaru kontrolnego. Prawidłowo przygotowane i zabezpieczone medium powinno wykazać parametry: <strong>pH = 8,5 - 9,2</strong> oraz przewodność właściwą w wąskim zakresie <strong>30 - 100 µS/cm</strong> (wartość nieznacznie rośnie względem czystej wody demineralizowanej z uwagi na obecność jonów chroniących w inhibitorze). Wyniki pomiarów należy bezwzględnie wpisać do protokołu odbioru instalacji.
                        </p>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
function rkToggleProc(stepId) {
    var allItems = document.querySelectorAll('.rk-proc-item');
    var targetItem = document.getElementById(stepId);
    var targetContent = targetItem.querySelector('.rk-proc-content');
    
    // Sprawdzenie stanu za pomocą ścisłego porównania (bez zaprzeczeń z &&)
    var isAlreadyActive = targetItem.classList.contains('active');

    // Zwinięcie wszystkich kart
    for (var i = 0; i < allItems.length; i++) {
        allItems[i].classList.remove('active');
        allItems[i].querySelector('.rk-proc-content').style.maxHeight = null;
    }

    // Rozwinięcie klikniętej karty, jeśli była zamknięta
    if (isAlreadyActive === false) {
        targetItem.classList.add('active');
        targetContent.style.maxHeight = targetContent.scrollHeight + "px";
    }
}

// Inicjalizacja wysokości dla domyślnie otwartego pierwszego kroku
document.addEventListener("DOMContentLoaded", function() {
    var firstStep = document.getElementById('proc-step-1');
    if (firstStep) {
        var content = firstStep.querySelector('.rk-proc-content');
        content.style.maxHeight = content.scrollHeight + "px";
    }
});
</script>



<style>
:root {
    --rk-err-dark: #1e293b;
    --rk-err-danger: #ef4444;
    --rk-err-danger-bg: #fef2f2;
    --rk-err-warning: #f59e0b;
    --rk-err-warning-bg: #fffbeb;
    --rk-err-blue: #0284c7;
    --rk-err-bg: #ffffff;
    --rk-err-border: #e2e8f0;
    --rk-err-text: #334155;
}

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

.rk-err-header {
    background: #0f172a;
    padding: 35px 40px;
    text-align: center;
    border-bottom: 4px solid var(--rk-err-danger);
}

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

.rk-err-h2 svg {
    color: var(--rk-err-danger);
    animation: rkPulseAlert 2s infinite;
}

@keyframes rkPulseAlert {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.1); opacity: 0.8; }
    100% { transform: scale(1); opacity: 1; }
}

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

.rk-err-list {
    padding: 30px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Karty błędów - Jedna kolumna (Desktop i Mobile) */
.rk-err-card {
    background: var(--rk-err-bg);
    border: 1px solid var(--rk-err-border);
    border-left: 6px solid var(--rk-err-blue);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-err-card.severity-high {
    border-left-color: var(--rk-err-danger);
}

.rk-err-card.severity-med {
    border-left-color: var(--rk-err-warning);
}

.rk-err-card.active {
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
}

.rk-err-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 25px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.2s;
}

.rk-err-trigger:hover {
    background: #f1f5f9;
}

.rk-err-icon {
    width: 45px;
    height: 45px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.severity-high .rk-err-icon { background: var(--rk-err-danger-bg); color: var(--rk-err-danger); }
.severity-med .rk-err-icon { background: var(--rk-err-warning-bg); color: var(--rk-err-warning); }

.rk-err-title {
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0;
    flex-grow: 1;
    line-height: 1.4;
}

.rk-err-arrow {
    color: #94a3b8;
    transition: transform 0.3s ease;
}

.rk-err-card.active .rk-err-arrow {
    transform: rotate(180deg);
}

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

.rk-err-content-inner {
    padding: 0 25px 25px 85px; /* Dopasowane do szerokości ikony i odstępu */
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-err-text);
}

.rk-err-content-inner a {
    color: var(--rk-err-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid rgba(2, 132, 199, 0.2);
    transition: border-color 0.2s;
}

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

.rk-err-highlight {
    background: #f1f5f9;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
    color: var(--rk-err-dark);
    font-family: monospace;
    font-size: 14px;
}

@media (max-width: 768px) {
    .rk-err-header { padding: 25px 20px; }
    .rk-err-list { padding: 20px; }
    .rk-err-trigger { padding: 15px; gap: 15px; }
    .rk-err-icon { width: 40px; height: 40px; }
    .rk-err-title { font-size: 15px; }
    .rk-err-content-inner { padding: 0 15px 20px 15px; } /* Usunięcie dużego wcięcia na mobile */
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Najczęstsze błędy popełniane podczas napełniania instalacji grzewczych",
    "description": "Zestawienie krytycznych błędów przy napełnianiu podłogówki: od braku inhibitora, przez mieszanie z kranówką, po użycie zmiękczacza domowego.",
    "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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-bledy",
    "name": "Rejestr Błędów Instalacyjnych: Napełnianie CO",
    "description": "Analiza chemiczna i techniczna skutków błędnego przygotowania zładu wody w instalacjach płaszczyznowych i źródłach ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "przyspieszona korozja chemiczna",
      "twardość węglanowa w instalacji",
      "woda ze zmiękczacza do podłogówki",
      "okno pH dla aluminium",
      "niszczenie wymienników ciepła"
    ],
    "measurementTechnique": "Weryfikacja stężenia minerałów, pomiar przewodności prądu w zładzie (µS/cm) oraz weryfikacja pH w obecności aluminium.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Woda ze zmiękczacza: Drastyczny wzrost przewodności powyżej 1000 µS/cm (ryzyko galwaniczne).",
        "Brak inhibitora: Agresywność zdemineralizowanego medium niszcząca metale.",
        "Aluminium w układzie: Wymagany ścisły reżim pH 8,2-8,5."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-bledy",
    "name": "Symulator Skutków Błędów Instalacyjnych",
    "description": "Interaktywny panel analizujący bezpośrednie konsekwencje nieprawidłowego napełniania układów grzewczych, ukazujący zjawiska korozji elektrochemicznej i degradacji pH.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-errors-panel">
    <div class="rk-err-header">
        <h2 class="rk-err-h2">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>
                <line x1="12" y1="9" x2="12" y2="13"></line>
                <line x1="12" y1="17" x2="12.01" y2="17"></line>
            </svg>
            Najczęstsze błędy popełniane podczas napełniania
        </h2>
        <p class="rk-err-desc">Podczas prac instalacyjnych łatwo o błędy, które mogą całkowicie zniweczyć korzyści płynące ze stosowania profesjonalnego medium. Kliknij poniższe karty, aby poznać mechanikę awarii.</p>
    </div>

    <div class="rk-err-list">
        
        <!-- Błąd 1 -->
        <div class="rk-err-card severity-high" id="err-1">
            <button class="rk-err-trigger" onclick="rkToggleError('err-1')">
                <div class="rk-err-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path><line x1="9" y1="9" x2="15" y2="15"></line><line x1="15" y1="9" x2="9" y2="15"></line></svg>
                </div>
                <h3 class="rk-err-title">Brak inhibitora w wodzie demineralizowanej</h3>
                <svg class="rk-err-arrow" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-err-content">
                <div class="rk-err-content-inner">
                    To najpoważniejszy błąd instalacyjny. Jak wykazano, pozbawiona minerałów woda dąży do autokompensacji i staje się <strong>skrajnie agresywna</strong> dla miedzi, mosiądzu i stali, wywołując przyspieszoną korozję chemiczną (zjawisko tzw. "wody głodnej"). Tak zalana instalacja ulega korozji szybciej niż zalana zwykłą kranówką. Przeczytaj więcej, jak <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">uniknąć najczęstszych błędów przy montażu podłogówki</a>.
                </div>
            </div>
        </div>

        <!-- Błąd 2 -->
        <div class="rk-err-card severity-med" id="err-2">
            <button class="rk-err-trigger" onclick="rkToggleError('err-2')">
                <div class="rk-err-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path><path d="M2 12h20"></path></svg>
                </div>
                <h3 class="rk-err-title">Mieszanie z kranówką "pół na pół"</h3>
                <svg class="rk-err-arrow" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-err-content">
                <div class="rk-err-content-inner">
                    Częsta praktyka instalatorów chcących oszczędzić na kosztach logistycznych i ilości kupionych baniek z wodą. Dodanie nawet 20% kranówki wprowadza do układu wystarczającą ilość twardości węglanowej oraz flory bakteryjnej, by w pełni aktywować procesy tworzenia osadów mineralnych oraz czarnego biofilmu blokującego przepływy.
                </div>
            </div>
        </div>

        <!-- Błąd 3 -->
        <div class="rk-err-card severity-high" id="err-3">
            <button class="rk-err-trigger" onclick="rkToggleError('err-3')">
                <div class="rk-err-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                </div>
                <h3 class="rk-err-title">Dolewanie wody ze stacji zmiękczającej (soli)</h3>
                <svg class="rk-err-arrow" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-err-content">
                <div class="rk-err-content-inner">
                    Woda ze zmiękczacza domowego (regenerowanego solą tabletkowaną NaCl) <strong>nie jest wodą demineralizowaną!</strong> Zmiękczacz jonitowy wymienia jony wapnia i magnezu na jony sodu. Twardość faktycznie spada, ale przewodność elektryczna takiej wody drastycznie rośnie (często przekracza <span class="rk-err-highlight">1000 µS/cm</span>), co błyskawicznie wzmaga niszczącą korozję elektrochemiczną między różnymi metalami w instalacji.
                </div>
            </div>
        </div>

        <!-- Błąd 4 -->
        <div class="rk-err-card severity-med" id="err-4">
            <button class="rk-err-trigger" onclick="rkToggleError('err-4')">
                <div class="rk-err-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M8 14s1.5 2 4 2 4-2 4-2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line></svg>
                </div>
                <h3 class="rk-err-title">Brak kontroli pH w obecności aluminium</h3>
                <svg class="rk-err-arrow" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </button>
            <div class="rk-err-content">
                <div class="rk-err-content-inner">
                    Częsty błąd w układach hybrydowych. Jeżeli elementem instalacji jest na przykład aluminiowo-krzemowy wymiennik, który posiada <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł gazowy</a>, układ wymaga rygorystycznego utrzymania okna pH w granicach <span class="rk-err-highlight">8,2–8,5</span>. Przekroczenie pH na poziomie 9,0 (co jest bezpieczne i pożądane dla zwykłej stali) powoduje błyskawiczne rozpuszczanie warstwy pasywnej aluminium i nieodwracalne niszczenie (przeżeranie) wymiennika ciepła.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
function rkToggleError(cardId) {
    var allCards = document.querySelectorAll('.rk-err-card');
    var targetCard = document.getElementById(cardId);
    var targetContent = targetCard.querySelector('.rk-err-content');
    
    var isActive = targetCard.classList.contains('active');

    // Zamykamy wszystkie karty
    for (var i = 0; i < allCards.length; i++) {
        allCards[i].classList.remove('active');
        allCards[i].querySelector('.rk-err-content').style.maxHeight = null;
    }

    // Jeśli kliknięta karta nie była aktywna, otwórz ją
    if (isActive === false) {
        targetCard.classList.add('active');
        targetContent.style.maxHeight = targetContent.scrollHeight + "px";
    }
}
</script>



<style>
:root {
    --rk-cs-dark: #0f172a;
    --rk-cs-blue: #0284c7;
    --rk-cs-sky: #e0f2fe;
    --rk-cs-danger: #ef4444;
    --rk-cs-danger-dark: #991b1b;
    --rk-cs-success: #10b981;
    --rk-cs-success-dark: #065f46;
    --rk-cs-border: #cbd5e1;
    --rk-cs-bg: #ffffff;
    --rk-cs-gray-bg: #f8fafc;
    --rk-cs-text: #475569;
}

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

.rk-cs-header {
    background: linear-gradient(135deg, var(--rk-cs-dark) 0%, #1e293b 100%);
    padding: 40px 45px;
    text-align: center;
    color: #ffffff;
}

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

.rk-cs-h2 svg {
    color: #38bdf8;
    flex-shrink: 0;
}

.rk-cs-desc {
    font-size: 16px;
    color: #cbd5e1;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

/* Sekcja kontrolera czasu */
.rk-cs-timeline-ctrl {
    background: var(--rk-cs-gray-bg);
    padding: 35px 45px;
    border-bottom: 1px solid var(--rk-cs-border);
    text-align: center;
}

.rk-cs-h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cs-dark);
    margin: 0 0 25px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-cs-slider-wrapper {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
}

.rk-cs-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: var(--rk-cs-border);
    outline: none;
}

.rk-cs-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-cs-blue);
    cursor: pointer;
    border: 5px solid #ffffff;
    box-shadow: 0 3px 6px rgba(0,0,0,0.2);
    transition: transform 0.2s;
}

.rk-cs-slider::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

.rk-cs-time-labels {
    display: flex;
    justify-content: space-between;
    max-width: 600px;
    margin: 15px auto 0 auto;
    font-weight: 800;
    color: var(--rk-cs-text);
    font-size: 15px;
}

.rk-cs-time-labels span {
    position: relative;
    cursor: pointer;
    transition: color 0.3s;
}

.rk-cs-time-labels span.active {
    color: var(--rk-cs-blue);
}

/* Siatka Porównawcza */
.rk-cs-comparison {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

@media (min-width: 768px) {
    .rk-cs-comparison {
        grid-template-columns: 1fr 1fr;
    }
}

.rk-cs-scenario {
    padding: 40px;
    position: relative;
    transition: background 0.5s ease;
}

.rk-cs-scenario:first-child {
    border-bottom: 1px solid var(--rk-cs-border);
}

@media (min-width: 768px) {
    .rk-cs-scenario:first-child {
        border-bottom: none;
        border-right: 1px solid var(--rk-cs-border);
    }
}

/* Wariant Kranówka */
.rk-cs-scenario.bad { background: #fff1f2; }
.rk-cs-scenario.bad .rk-cs-scenario-title { color: var(--rk-cs-danger-dark); }
.rk-cs-scenario.bad .rk-cs-stat-val { color: var(--rk-cs-danger); }
.rk-cs-scenario.bad .rk-cs-icon-bg { background: #fee2e2; color: var(--rk-cs-danger); }

/* Wariant Demi */
.rk-cs-scenario.good { background: #ecfdf5; }
.rk-cs-scenario.good .rk-cs-scenario-title { color: var(--rk-cs-success-dark); }
.rk-cs-scenario.good .rk-cs-stat-val { color: var(--rk-cs-success); }
.rk-cs-scenario.good .rk-cs-icon-bg { background: #d1fae5; color: var(--rk-cs-success); }

.rk-cs-scenario-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
}

.rk-cs-icon-bg {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-cs-scenario-title {
    font-size: 20px;
    font-weight: 900;
    margin: 0;
}

.rk-cs-stat-group {
    background: #ffffff;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    border: 1px solid rgba(0,0,0,0.05);
}

.rk-cs-stat-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px dashed var(--rk-cs-border);
}

.rk-cs-stat-row:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

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

.rk-cs-stat-val {
    font-size: 18px;
    font-weight: 900;
}

.rk-cs-diagnosis {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-cs-text);
    margin: 0;
    padding-top: 10px;
}

.rk-cs-diagnosis a {
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
}

.bad .rk-cs-diagnosis a { color: var(--rk-cs-danger-dark); }
.good .rk-cs-diagnosis a { color: var(--rk-cs-success-dark); }

@media (max-width: 768px) {
    .rk-cs-header { padding: 30px 20px; text-align: left; }
    .rk-cs-h2 { justify-content: flex-start; font-size: 22px; align-items: flex-start; }
    .rk-cs-h2 svg { margin-top: 3px; }
    .rk-cs-timeline-ctrl { padding: 25px 20px; }
    .rk-cs-scenario { padding: 30px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Case study: Koszty naprawy ogrzewania podłogowego po 5 i 15 latach (Kranówka vs Woda demineralizowana)",
    "description": "Symulacja długoterminowych skutków finansowych napełnienia instalacji podłogowej surową wodą. Analiza spadku sprawności i kosztów płukania zaszlamionej 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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-casestudy",
    "name": "Symulacja długoterminowych kosztów eksploatacji CO (Case Study)",
    "description": "Zbiór danych empirycznych obrazujących awaryjność komponentów źródła ciepła na przestrzeni 1, 5 i 15 lat w zależności od zastosowanego medium grzewczego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "awaria pompy ciepła przez kamień kotłowy",
      "koszty naprawy ogrzewania podłogowego po 5 latach",
      "płukanie zaszlamionej instalacji podłogówki",
      "spadek wydajności ogrzewania podłogowego",
      "wymiana rozdzielacza do podłogówki cena"
    ],
    "measurementTechnique": "Szacowanie oporów cieplnych i kosztów serwisowych metodą porównawczą dla standardowego budynku 150 m2 wyposażonego w pompę ciepła i rozdzielacze mosiężne.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rok 5 (Kranówka): Spadek wydajności o 15%, koszt płukania zaszlamionego układu ok. 3500 zł.",
        "Rok 15 (Kranówka): Krytyczna awaria pompy przez kamień, korozja wżerna rozdzielaczy, koszty rzędu 25000 zł.",
        "Rok 1-15 (Demi): Utrzymanie 100% sprawności, koszt eksploatacji chemii ok. 450 zł."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-casestudy",
    "name": "Kalkulator Degradacji i Kosztów Serwisowych (Wehikuł Czasu)",
    "description": "Interaktywny symulator pozwalający prześledzić narastanie usterek i kosztów w układzie płaszczyznowym na przestrzeni kilkunastu lat eksploatacji.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs-container" id="rk-case-study">
    <div class="rk-cs-header">
        <h2 class="rk-cs-h2">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
            Case Study: Koszty eksploatacji w czasie (150 m²)
        </h2>
        <p class="rk-cs-desc">
            Analiza dwóch identycznych domów z pompą ciepła. Jeden napełniono zwykłą kranówką, drugi profesjonalnym medium zdemineralizowanym. Przesuń suwak, aby zobaczyć, jak upływ czasu weryfikuje pozorne oszczędności.
        </p>
    </div>

    <div class="rk-cs-timeline-ctrl">
        <h3 class="rk-cs-h3">Symulator upływu czasu</h3>
        <div class="rk-cs-slider-wrapper">
            <input type="range" class="rk-cs-slider" id="rk-time-slider" min="1" max="3" step="1" value="1" oninput="rkUpdateTime()">
            <div class="rk-cs-time-labels">
                <span id="rk-lbl-1" class="active" onclick="rkSetSlider(1)">1 Rok</span>
                <span id="rk-lbl-2" onclick="rkSetSlider(2)">5 Lat</span>
                <span id="rk-lbl-3" onclick="rkSetSlider(3)">15 Lat</span>
            </div>
        </div>
    </div>

    <div class="rk-cs-comparison">
        
        <!-- Scenariusz: Kranówka -->
        <div class="rk-cs-scenario bad">
            <div class="rk-cs-scenario-header">
                <div class="rk-cs-icon-bg">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <h3 class="rk-cs-scenario-title">Woda z kranu (Dom A)</h3>
            </div>
            
            <div class="rk-cs-stat-group">
                <div class="rk-cs-stat-row">
                    <span class="rk-cs-stat-label">Sprawność układu</span>
                    <span class="rk-cs-stat-val" id="rk-bad-eff">98%</span>
                </div>
                <div class="rk-cs-stat-row">
                    <span class="rk-cs-stat-label">Koszt nieplanowanych napraw</span>
                    <span class="rk-cs-stat-val" id="rk-bad-cost">0 PLN</span>
                </div>
            </div>

            <p class="rk-cs-diagnosis" id="rk-bad-diag">
                Na początku wszystko wydaje się działać poprawnie. Jednak wewnątrz wymiennika zaczyna już osadzać się pierwszy, mikroskopijny film z węglanu wapnia. Zauważalny jest minimalny <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">spadek wydajności ogrzewania podłogowego</a>.
            </p>
        </div>

        <!-- Scenariusz: Demineralizowana -->
        <div class="rk-cs-scenario good">
            <div class="rk-cs-scenario-header">
                <div class="rk-cs-icon-bg">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <h3 class="rk-cs-scenario-title">Woda Demi + Inhibitor (Dom B)</h3>
            </div>
            
            <div class="rk-cs-stat-group">
                <div class="rk-cs-stat-row">
                    <span class="rk-cs-stat-label">Sprawność układu</span>
                    <span class="rk-cs-stat-val" id="rk-good-eff">100%</span>
                </div>
                <div class="rk-cs-stat-row">
                    <span class="rk-cs-stat-label">Koszt eksploatacji chemii</span>
                    <span class="rk-cs-stat-val" id="rk-good-cost">0 PLN</span>
                </div>
            </div>

            <p class="rk-cs-diagnosis" id="rk-good-diag">
                Instalacja pracuje w sterylnym, stabilnym środowisku. Bufor chemiczny utrzymuje pH na poziomie 8,5, co tworzy idealną warstwę pasywną chroniącą wymiennik w <a href="https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/">pompie ciepła</a> przed jakimkolwiek rdzewieniem.
            </p>
        </div>

    </div>
</div>

<script>
function rkSetSlider(val) {
    document.getElementById('rk-time-slider').value = val;
    rkUpdateTime();
}

function rkUpdateTime() {
    var timeVal = parseInt(document.getElementById('rk-time-slider').value);
    
    // Etykiety nad suwakiem
    document.getElementById('rk-lbl-1').className = '';
    document.getElementById('rk-lbl-2').className = '';
    document.getElementById('rk-lbl-3').className = '';
    document.getElementById('rk-lbl-' + timeVal).className = 'active';

    // Elementy Dom A (Bad)
    var badEff = document.getElementById('rk-bad-eff');
    var badCost = document.getElementById('rk-bad-cost');
    var badDiag = document.getElementById('rk-bad-diag');

    // Elementy Dom B (Good)
    var goodEff = document.getElementById('rk-good-eff');
    var goodCost = document.getElementById('rk-good-cost');
    var goodDiag = document.getElementById('rk-good-diag');

    if (timeVal === 1) {
        // ROK 1
        badEff.innerText = "98%";
        badCost.innerText = "0 PLN";
        badDiag.innerHTML = "Na początku wszystko wydaje się działać poprawnie. Jednak wewnątrz wymiennika zaczyna już osadzać się pierwszy, mikroskopijny film z węglanu wapnia. Zauważalny jest minimalny <a href=\"https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/\">spadek wydajności ogrzewania podłogowego</a>.";

        goodEff.innerText = "100%";
        goodCost.innerText = "0 PLN (koszt startowy)";
        goodDiag.innerHTML = "Instalacja pracuje w sterylnym, stabilnym środowisku. Bufor chemiczny utrzymuje pH na poziomie 8,5, co tworzy idealną warstwę pasywną chroniącą wymiennik w <a href=\"https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/\">pompie ciepła</a> przed rdzewieniem.";
    } 
    else if (timeVal === 2) {
        // ROK 5
        badEff.innerText = "85%";
        badCost.innerText = "3 500 PLN";
        badDiag.innerHTML = "Poważne problemy. Kamień kotłowy dławi wymiennik. Konieczne jest agresywne, chemiczne <a href=\"https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/\">płukanie zaszlamionej instalacji podłogówki</a>, aby odblokować zacięte rotametry i ratować pompę obiegową.";

        goodEff.innerText = "100%";
        goodCost.innerText = "150 PLN";
        goodDiag.innerHTML = "Instalacja pozostaje krystalicznie czysta. Przeprowadzono jedynie standardową kontrolę serwisową i profilaktyczne uzupełnienie stężenia inhibitora korozji (koszt chemii to ok. 150 zł).";
    } 
    else if (timeVal === 3) {
        // ROK 15
        badEff.innerText = "AWARIA KRYTYCZNA";
        badCost.innerText = "25 000+ PLN";
        badDiag.innerHTML = "Katastrofa hydrauliczna. Następuje <strong>awaria pompy ciepła przez kamień kotłowy</strong> (zatarty wirnik prądu stałego). Dodatkowo wżery perforują belki armatury, przez co konieczna jest całkowita <a href=\"https://projekt-ogrzewania.pl/rozdzielacz-do-ogrzewania-podlogowego-mosiezny-czy-ze-stali-nierdzewnej/\">wymiana rozdzielacza do podłogówki (cena</a> naprawy z kłuciem posadzki to koszmar).";

        goodEff.innerText = "99%";
        goodCost.innerText = "450 PLN (Suma lat)";
        goodDiag.innerHTML = "Instalacja pracuje z rewelacyjną sprawnością, pozwalając na <a href=\"https://projekt-ogrzewania.pl/rzeczywiste-oszczednosci-na-kosztach-ogrzewania-w-skali-roku-analiza-rozstawu-rur-dla-domu-150-m2/\">rzeczywiste oszczędności na kosztach ogrzewania</a>. Pierwotny, droższy czynnik roboczy dawno się spłacił, ratując przed zakupem nowej pompy ciepła.";
    }
}
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-light: #f8fafc;
    --rk-auth-border: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-bg: #ffffff;
    --rk-auth-social: #0ea5e9;
}

.rk-auth-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-auth-bg);
    border: 2px solid var(--rk-auth-blue);
    border-radius: 0; /* Surowy, techniczny wygląd */
    box-shadow: 4px 4px 0px var(--rk-auth-dark); /* Twardy cień, bez rozmycia */
}

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

.rk-auth-h2 {
    font-size: 24px;
    font-weight: 900;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-auth-h2 svg {
    color: var(--rk-auth-social);
}

.rk-auth-body {
    display: flex;
    flex-direction: column;
}

@media (min-width: 768px) {
    .rk-auth-body {
        flex-direction: row;
    }
}

/* Sekcja Lewa - Profil */
.rk-auth-profile {
    padding: 30px;
    background: var(--rk-auth-light);
    border-right: 2px solid var(--rk-auth-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
}

@media (min-width: 768px) {
    .rk-auth-profile {
        width: 320px;
        flex-shrink: 0;
    }
}

.rk-auth-image-box {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    border: 4px solid var(--rk-auth-blue);
    overflow: hidden;
    margin-bottom: 20px;
    background: var(--rk-auth-bg);
}

.rk-auth-image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

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

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

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

.rk-auth-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--rk-auth-bg);
    border: 2px solid var(--rk-auth-border);
    padding: 10px 15px;
    color: var(--rk-auth-dark);
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
}

/* Brak animacji - natychmiastowa zmiana koloru na hover */
.rk-auth-social-btn:hover {
    background: var(--rk-auth-dark);
    color: #ffffff;
    border-color: var(--rk-auth-dark);
}

/* Sekcja Prawa - Interaktywny Content */
.rk-auth-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.rk-auth-tabs {
    display: flex;
    border-bottom: 2px solid var(--rk-auth-border);
    background: var(--rk-auth-light);
    flex-wrap: wrap; /* na wypadek małych ekranów */
}

.rk-auth-tab {
    flex: 1;
    padding: 18px 15px;
    background: transparent;
    border: none;
    border-right: 2px solid var(--rk-auth-border);
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-auth-text);
    cursor: pointer;
}

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

.rk-auth-tab.active {
    background: var(--rk-auth-bg);
    color: var(--rk-auth-blue);
    border-bottom: 4px solid var(--rk-auth-blue);
    margin-bottom: -2px; /* Nakładanie na border kontenera */
}

.rk-auth-panels {
    padding: 35px 40px;
    background: var(--rk-auth-bg);
    flex-grow: 1;
}

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

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

.rk-auth-quote {
    font-size: 18px;
    line-height: 1.7;
    color: var(--rk-auth-dark);
    font-weight: 700;
    margin: 0 0 20px 0;
    border-left: 6px solid var(--rk-auth-blue);
    padding-left: 20px;
    font-style: italic;
}

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

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

.rk-auth-text a {
    color: var(--rk-auth-blue);
    font-weight: 800;
    text-decoration: underline;
}

/* RWD */
@media (max-width: 768px) {
    .rk-auth-header { padding: 20px; }
    .rk-auth-h2 { font-size: 18px; flex-direction: column; align-items: flex-start; gap: 10px; }
    .rk-auth-tabs { flex-direction: column; }
    .rk-auth-tab { border-right: none; border-bottom: 2px solid var(--rk-auth-border); text-align: left; padding: 15px 20px; }
    .rk-auth-tab.active { border-bottom: 4px solid var(--rk-auth-blue); }
    .rk-auth-panels { padding: 25px 20px; }
    .rk-auth-profile { border-right: none; border-bottom: 2px solid var(--rk-auth-border); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Zdaniem eksperta: Robert Kucharski o napełnianiu instalacji CO",
    "description": "Inżynieryjny werdykt i podsumowanie eksperckie dotyczące bezpieczeństwa instalacji płaszczyznowych oraz zabezpieczenia gwarancyjnego źródeł ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Inżynier HVAC / CEO 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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-ekspert",
    "name": "Wytyczne Autorskie (Okiem Eksperta) dla bezpieczeństwa instalacji płaszczyznowych",
    "description": "Zbiór bezkompromisowych, potwierdzonych wieloletnią praktyką zasad zabezpieczenia hydraulicznego systemów CO przed utratą sprawności.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zabezpieczenie gwarancyjne pompy ciepła",
      "bezpieczeństwo instalacji płaszczyznowych",
      "autorytet w projektowaniu podłogówki",
      "wymogi chemiczne dla instalatora",
      "ochrona inwestycji grzewczej"
    ],
    "measurementTechnique": "Weryfikacja jakości montażu na podstawie danych autorskich i wytycznych inżynierskich (E-E-A-T).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Werdykt: Stosowanie kranówki to pozorna oszczędność niszcząca budżet w perspektywie 5 lat.",
        "Praktyka inżynierska: Zawsze żądaj od wykonawcy protokołu zalania czynnikiem zdemineralizowanym."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-ekspert",
    "name": "Panel Weryfikacji Autorytetu Inżynierskiego (E-E-A-T)",
    "description": "Interaktywny panel uwiarygadniający doświadczenie autora, zawierający referencje, bezpośrednie linki do kanałów eksperckich oraz ostateczny werdykt techniczny.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container" id="rk-ekspert-blok">
    <div class="rk-auth-header">
        <h2 class="rk-auth-h2">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            Zdaniem eksperta: Robert Kucharski o napełnianiu podłogówki
        </h2>
    </div>

    <div class="rk-auth-body">
        
        <!-- Sekcja Profilowa -->
        <div class="rk-auth-profile">
            <div class="rk-auth-image-box">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Główny Inżynier Projekt-Ogrzewania.pl">
            </div>
            <p class="rk-auth-name">Robert Kucharski</p>
            <p class="rk-auth-title">Główny Projektant HVAC</p>

            <div class="rk-auth-social-links">
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-auth-social-btn">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                    Facebook
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-auth-social-btn">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                    LinkedIn
                </a>
                <a href="https://x.com/Projekt_HVAC" target="_blank" rel="noopener noreferrer" class="rk-auth-social-btn">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="4" x2="20" y2="20"></line><line x1="20" y1="4" x2="4" y2="20"></line></svg>
                    X (Twitter)
                </a>
            </div>
        </div>

        <!-- Sekcja Interaktywna -->
        <div class="rk-auth-content">
            
            <div class="rk-auth-tabs">
                <button class="rk-auth-tab active" id="rk-tab-btn-1" onclick="rkSwitchTab('1')">Werdykt Inżynieryjny</button>
                <button class="rk-auth-tab" id="rk-tab-btn-2" onclick="rkSwitchTab('2')">Gwarancja i Ochrona</button>
            </div>

            <div class="rk-auth-panels">
                
                <!-- Panel 1 -->
                <div class="rk-auth-panel active" id="rk-tab-panel-1">
                    <p class="rk-auth-quote">
                        "Oszczędność kilkuset złotych na etapie napełniania instalacji kranówką to najdroższy kredyt, jaki inwestor może zaciągnąć na własnym domu."
                    </p>
                    <p class="rk-auth-text">
                        W swojej praktyce projektowej spotykam się z tym błędem nagminnie. Instalator podłącza wąż ogrodowy do sieci, zalewa układ wodą z dużą zawartością węglanów i uważa pracę za skończoną. Skutki tej decyzji uderzają w inwestora zazwyczaj po 4-5 sezonach grzewczych, gdy warstwa kamienia w wymienniku drastycznie tnie <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">sprawność ogrzewania podłogowego</a>, a tlen rozpuszczony inicjuje rozwój czarnego szlamu. Stosowanie wody zdemineralizowanej z inhibitorem to nie jest luksus – to twardy wymóg technologiczny układów zamkniętych.
                    </p>
                </div>

                <!-- Panel 2 -->
                <div class="rk-auth-panel" id="rk-tab-panel-2">
                    <p class="rk-auth-quote">
                        "Serwisant pompy ciepła zaczyna naprawę od zbadania parametru wody. Jeśli twardość i przewodność są przekroczone – żegnasz się z gwarancją."
                    </p>
                    <p class="rk-auth-text">
                        Zabezpieczenie instalacji płaszczyznowych oraz zabezpieczenie gwarancyjne pompy ciepła to system naczyń połączonych. Producenci urządzeń grzewczych twardo opierają swoje warunki gwarancyjne na normie <strong>PN-EN 14868</strong>. Jako inwestor, zawsze żądaj od instalatora wpisania do protokołu odbioru dokładnych wyników pomiaru: poziomu pH oraz przewodności w µS/cm. Tylko udokumentowany proces zalania układu wodą zdemineralizowaną daje Ci pełnię praw reklamacyjnych w przypadku awarii.
                    </p>
                </div>

            </div>
        </div>

    </div>
</div>

<script>
function rkSwitchTab(tabId) {
    // Pobranie przycisków
    var btn1 = document.getElementById('rk-tab-btn-1');
    var btn2 = document.getElementById('rk-tab-btn-2');

    // Pobranie paneli
    var panel1 = document.getElementById('rk-tab-panel-1');
    var panel2 = document.getElementById('rk-tab-panel-2');

    // Zmiana przycisków (brak animacji - natychmiastowe przypisanie klas)
    if (tabId === '1') {
        btn1.classList.add('active');
        btn2.classList.remove('active');
        
        panel1.classList.add('active');
        panel2.classList.remove('active');
    } else {
        btn2.classList.add('active');
        btn1.classList.remove('active');
        
        panel2.classList.add('active');
        panel1.classList.remove('active');
    }
}
</script>



<style>
:root {
    --rk-diag-dark: #1e293b;
    --rk-diag-blue: #0284c7;
    --rk-diag-sky: #e0f2fe;
    --rk-diag-border: #cbd5e1;
    --rk-diag-text: #475569;
    --rk-diag-bg: #ffffff;
    --rk-diag-hover: #f8fafc;
    --rk-diag-icon-color: #0ea5e9;
}

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

.rk-diag-header {
    background: linear-gradient(90deg, #0f172a 0%, #1e293b 100%);
    padding: 35px 40px;
    display: flex;
    align-items: center;
    gap: 20px;
}

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

.rk-diag-h2 {
    font-size: 26px;
    font-weight: 900;
    color: #ffffff;
    margin: 0;
    line-height: 1.2;
}

.rk-diag-wrapper {
    padding: 30px;
    background: #f1f5f9;
}

/* Interaktywny Akordeon */
.rk-diag-item {
    background: var(--rk-diag-bg);
    border: 1px solid var(--rk-diag-border);
    border-radius: 16px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
    overflow: hidden;
}

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

.rk-diag-item.active {
    border-color: var(--rk-diag-blue);
    box-shadow: 0 8px 16px -4px rgba(2, 132, 199, 0.15);
}

.rk-diag-btn {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 20px 25px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: background 0.2s;
}

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

.rk-diag-icon-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--rk-diag-sky);
    color: var(--rk-diag-icon-color);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.rk-diag-item.active .rk-diag-icon-circle {
    background: var(--rk-diag-blue);
    color: #ffffff;
    transform: scale(1.1);
}

.rk-diag-q-text {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-diag-dark);
    flex-grow: 1;
    line-height: 1.4;
    margin: 0;
}

.rk-diag-chevron {
    color: var(--rk-diag-border);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-diag-item.active .rk-diag-chevron {
    transform: rotate(180deg);
    color: var(--rk-diag-blue);
}

/* Odpowiedź - Treść */
.rk-diag-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: var(--rk-diag-bg);
}

.rk-diag-inner {
    padding: 0 25px 25px 84px; /* Odsunięcie tekstu równe ikonie + gap */
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-diag-text);
}

.rk-diag-inner a {
    color: var(--rk-diag-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.rk-diag-inner a:hover {
    border-bottom-color: var(--rk-diag-blue);
}

/* RWD - Mobile */
@media (max-width: 768px) {
    .rk-diag-header { padding: 25px 20px; flex-direction: column; text-align: center; gap: 15px; }
    .rk-diag-wrapper { padding: 20px; }
    .rk-diag-btn { padding: 15px; gap: 15px; }
    .rk-diag-icon-circle { width: 36px; height: 36px; }
    .rk-diag-icon-circle svg { width: 18px; height: 18px; }
    .rk-diag-q-text { font-size: 15px; }
    .rk-diag-inner { padding: 0 15px 20px 15px; } /* Usunięcie lewego marginesu na mobile */
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania dotyczące wody demineralizowanej w CO",
    "description": "Rozwiązujemy najczęstsze wątpliwości inwestorów dotyczące kosztów, zamarzania, stosowania zmiękczaczy i degradacji wody 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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy do napełnienia instalacji ogrzewania podłogowego mogę użyć wody ze zmiękczacza domowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, domowy zmiękczacz wody usuwa jedynie jony odpowiedzialne za twardość, zastępując je jonami sodu, co drastycznie podnosi przewodność elektryczną cieczy. Taka woda nie spełnia wymogów normy PN-EN 14868 i wykazuje wysokie właściwości korozyjne wobec metali."
        }
      },
      {
        "@type": "Question",
        "name": "Jak często należy wymieniać lub uzupełniać wodę demineralizowaną w zamkniętym układzie podłogówki?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wody w poprawnie wykonanej, szczelnej instalacji grzewczej nie powinno się wymieniać nigdy, ponieważ każda nowa porcja cieczy to dostarczenie świeżego tlenu. Wszelkie ubytki ciśnienia należy uzupełniać wyłącznie gotową mieszanką wody demineralizowanej i inhibitora za pomocą pompki ręcznej."
        }
      },
      {
        "@type": "Question",
        "name": "Jaki jest średni koszt zakupu wody demineralizowanej do domu jednorodzinnego o powierzchni 150 m²?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Koszt zakupu 300 litrów wody demineralizowanej waha się w granicach 250–400 PLN, natomiast koszt dedykowanego inhibitora korozji to około 150–250 PLN. Łączny wydatek na materiały chemiczne wynosi więc około 400–650 PLN, co stanowi ułamek kosztów w porównaniu z ryzykiem naprawy pompy ciepła."
        }
      },
      {
        "@type": "Question",
        "name": "Czy woda demineralizowana z inhibitorem chroni instalację przed zamarznięciem podczas zimy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, woda demineralizowana oraz standardowe inhibitory korozji nie zmieniają znacząco temperatury krzepnięcia wody, która nadal wynosi około 0°C. Jeżeli budynek będzie nieogrzewany w zimie, zamiast wody należy zastosować profesjonalny płyn na bazie glikolu polipropylenowego."
        }
      },
      {
        "@type": "Question",
        "name": "Po czym poznać, że woda w mojej instalacji podłogowej uległa degradacji i szkodzi systemowi?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Głównymi objawami są: całkowite ściemnienie cieczy w rotametrach (czarny szlam), wyczuwalny zapach siarkowodoru podczas odpowietrzania oraz spadek przepływów na poszczególnych pętlach. W takim scenariuszu konieczne jest chemiczne przepłukanie instalacji i ponowne zalanie jej czystą wodą zdemineralizowaną."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-faq",
    "name": "Baza Wiedzy Eksploatacyjnej: Problemy i rozwiązania hydrauliczne",
    "description": "Zbiór danych diagnostycznych określających zachowanie układów płaszczyznowych pod wpływem różnych czynników chemicznych i temperaturowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "napełnianie układu ze zmiękczacza domowego",
      "częstotliwość wymiany wody w co",
      "koszt zabezpieczenia instalacji grzewczej",
      "temperatura krzepnięcia w podłogówce",
      "czarny szlam i zapach siarkowodoru"
    ],
    "measurementTechnique": "Diagnostyka sensoryczna i chemiczna stanu instalacji (badanie przewodności, obserwacja wzrokowa przepływów i zjawisk korozyjnych).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt ochrony chemicznej: 400-650 PLN (dla zładu 300L).",
        "Symptomy degradacji: ciemnienie cieczy na rotametrach, brak przepływu, gazowanie układu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-faq",
    "name": "Interaktywny Panel Diagnostyczny FAQ",
    "description": "Narzędzie pozwalające inwestorowi na błyskawiczną weryfikację poprawności procedur serwisowych i eksploatacyjnych systemu grzewczego.",
    "applicationCategory": "DiagnosticTool",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-diag-container" id="rk-faq-demi">
    <div class="rk-diag-header">
        <svg class="rk-diag-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <circle cx="12" cy="12" r="10"></circle>
            <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
            <line x1="12" y1="17" x2="12.01" y2="17"></line>
        </svg>
        <h2 class="rk-diag-h2">FAQ – Najczęściej zadawane pytania dotyczące wody demineralizowanej w CO</h2>
    </div>

    <div class="rk-diag-wrapper">
        
        <!-- Pytanie 1 -->
        <div class="rk-diag-item" id="faq-item-1">
            <button class="rk-diag-btn" onclick="rkToggleDiagnosticFaq('faq-item-1')">
                <div class="rk-diag-icon-circle">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg>
                </div>
                <h3 class="rk-diag-q-text">Czy do napełnienia instalacji ogrzewania podłogowego mogę użyć wody ze zmiękczacza domowego?</h3>
                <svg class="rk-diag-chevron" width="24" height="24" 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>
            </button>
            <div class="rk-diag-content">
                <div class="rk-diag-inner">
                    Nie, domowy zmiękczacz wody usuwa jedynie jony odpowiedzialne za twardość, zastępując je jonami sodu, co drastycznie podnosi przewodność elektryczną cieczy. Zastosowanie takiego rozwiązania sprawia, że do układu wprowadzana jest woda, która absolutnie nie spełnia wymogów normy PN-EN 14868 i wykazuje niezwykle wysokie właściwości korozyjne wobec użytych w układzie metali. Do bezpiecznego zalania układu dedykowana jest procedura opisana w poradniku: <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/">czym napełnić instalację ogrzewania podłogowego</a>.
                </div>
            </div>
        </div>

        <!-- Pytanie 2 -->
        <div class="rk-diag-item" id="faq-item-2">
            <button class="rk-diag-btn" onclick="rkToggleDiagnosticFaq('faq-item-2')">
                <div class="rk-diag-icon-circle">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.5 2v6h-6M2.13 15.57a9 9 0 1 0 3.84-10.36L2 8"></path></svg>
                </div>
                <h3 class="rk-diag-q-text">Jak często należy wymieniać lub uzupełniać wodę demineralizowaną w zamkniętym układzie podłogówki?</h3>
                <svg class="rk-diag-chevron" width="24" height="24" 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>
            </button>
            <div class="rk-diag-content">
                <div class="rk-diag-inner">
                    Wody w poprawnie wykonanej, szczelnej instalacji grzewczej nie powinno się wymieniać **nigdy**, ponieważ każda nowa porcja cieczy to dostarczenie do układu świeżego tlenu, który wzmaga korozję. Wszelkie ubytki ciśnienia należy uzupełniać wyłącznie gotową, wcześniej przygotowaną mieszanką wody demineralizowanej i odpowiedniego inhibitora za pomocą specjalistycznej pompki ręcznej lub stacji zalewowej.
                </div>
            </div>
        </div>

        <!-- Pytanie 3 -->
        <div class="rk-diag-item" id="faq-item-3">
            <button class="rk-diag-btn" onclick="rkToggleDiagnosticFaq('faq-item-3')">
                <div class="rk-diag-icon-circle">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                <h3 class="rk-diag-q-text">Jaki jest średni koszt zakupu wody demineralizowanej do domu jednorodzinnego o powierzchni 150 m²?</h3>
                <svg class="rk-diag-chevron" width="24" height="24" 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>
            </button>
            <div class="rk-diag-content">
                <div class="rk-diag-inner">
                    Koszt zakupu ok. 300 litrów wody demineralizowanej waha się w granicach 250–400 PLN, natomiast koszt dedykowanego inhibitora korozji to wydatek rzędu 150–250 PLN. Łączny budżet na profesjonalne materiały chemiczne zamyka się w kwocie ok. 400–650 PLN. Jak widać w zestawieniu pod nazwą <a href="https://projekt-ogrzewania.pl/kompleksowa-wycena-ogrzewania-podlogowego-wodnego-na-co-przygotowac-budzet/">kompleksowa wycena ogrzewania podłogowego</a>, stanowi to ułamek całkowitych kosztów inwestycji i wielokrotnie mniejszy wydatek w porównaniu z potężnym ryzykiem uszkodzenia nowej pompy ciepła.
                </div>
            </div>
        </div>

        <!-- Pytanie 4 -->
        <div class="rk-diag-item" id="faq-item-4">
            <button class="rk-diag-btn" onclick="rkToggleDiagnosticFaq('faq-item-4')">
                <div class="rk-diag-icon-circle">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                </div>
                <h3 class="rk-diag-q-text">Czy woda demineralizowana z inhibitorem chroni instalację przed zamarznięciem podczas zimy?</h3>
                <svg class="rk-diag-chevron" width="24" height="24" 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>
            </button>
            <div class="rk-diag-content">
                <div class="rk-diag-inner">
                    Nie. Zarówno czysta woda demineralizowana, jak i standardowe inhibitory korozji nie zmieniają znacząco temperatury krzepnięcia cieczy roboczej – ta nadal wynosi w przybliżeniu 0°C. Jeżeli spodziewasz się, że budynek w okresie zimowym pozostanie całkowicie nieogrzewany, jedynym bezpiecznym wyjściem jest zastosowanie profesjonalnego płynu na bazie niezamarzających domieszek. Przeczytaj więcej w artykule: <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/">glikol w ogrzewaniu podłogowym</a>.
                </div>
            </div>
        </div>

        <!-- Pytanie 5 -->
        <div class="rk-diag-item" id="faq-item-5">
            <button class="rk-diag-btn" onclick="rkToggleDiagnosticFaq('faq-item-5')">
                <div class="rk-diag-icon-circle">
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <h3 class="rk-diag-q-text">Po czym poznać, że woda w mojej instalacji podłogowej uległa degradacji i szkodzi systemowi?</h3>
                <svg class="rk-diag-chevron" width="24" height="24" 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>
            </button>
            <div class="rk-diag-content">
                <div class="rk-diag-inner">
                    Najważniejszymi sygnałami ostrzegawczymi są: całkowite ściemnienie cieczy i widoczny czarny osad (magnetyt), który można zaobserwować przez szybki (jeżeli posiadasz zamontowany <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametr w rozdzielaczu</a>), bardzo wyraźny, drażniący zapach siarkowodoru wyczuwalny podczas odpowietrzania pionów oraz niewytłumaczalny spadek i trudności z regulacją przepływów na poszczególnych pętlach. W takim skrajnym przypadku natychmiastowo konieczne jest silne chemiczne przepłukanie całej instalacji i ponowne, poprawne zalanie jej czystą, ustabilizowaną wodą.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
function rkToggleDiagnosticFaq(itemId) {
    var allItems = document.querySelectorAll('.rk-diag-item');
    var targetItem = document.getElementById(itemId);
    var targetContent = targetItem.querySelector('.rk-diag-content');
    
    // Check if the clicked item is already active
    var isActive = targetItem.classList.contains('active');

    // Close all items
    for (var i = 0; i < allItems.length; i++) {
        allItems[i].classList.remove('active');
        allItems[i].querySelector('.rk-diag-content').style.maxHeight = null;
    }

    // If it wasn't active before, open it now
    if (isActive === false) {
        targetItem.classList.add('active');
        // Calculate the height needed for the inner content
        targetContent.style.maxHeight = targetContent.scrollHeight + "px";
    }
}
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-blue-hover: #0369a1;
    --rk-dl-border: #cbd5e1;
    --rk-dl-text: #475569;
    --rk-dl-bg: #ffffff;
    --rk-dl-gray: #f8fafc;
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-bg);
    border: 2px solid var(--rk-dl-blue);
    border-radius: 0; /* Surowy, inżynierski styl */
    box-shadow: 6px 6px 0px var(--rk-dl-dark);
}

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

.rk-dl-h2 {
    font-size: 24px;
    font-weight: 900;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-dl-h2 svg {
    color: #38bdf8;
}

.rk-dl-body {
    display: flex;
    flex-direction: column;
    padding: 30px;
    background: var(--rk-dl-bg);
}

@media (min-width: 768px) {
    .rk-dl-body {
        flex-direction: row;
        gap: 35px;
    }
}

/* Miniatura */
.rk-dl-thumb-col {
    width: 100%;
    margin-bottom: 25px;
}

@media (min-width: 768px) {
    .rk-dl-thumb-col {
        width: 250px;
        flex-shrink: 0;
        margin-bottom: 0;
    }
}

.rk-dl-thumb-wrapper {
    width: 100%;
    border: 2px solid var(--rk-dl-border);
    padding: 5px;
    background: var(--rk-dl-gray);
    cursor: pointer;
    position: relative;
}

.rk-dl-thumb-wrapper:hover {
    border-color: var(--rk-dl-blue);
}

.rk-dl-thumb-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    border: 1px solid var(--rk-dl-border);
}

.rk-dl-magnify {
    position: absolute;
    bottom: 15px;
    right: 15px;
    background: var(--rk-dl-blue);
    color: #ffffff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}

/* Treść i Przyciski */
.rk-dl-info-col {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

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

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

@media (min-width: 768px) {
    .rk-dl-actions {
        flex-direction: row;
    }
}

.rk-dl-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 25px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    border: 2px solid transparent;
}

.rk-dl-btn-primary {
    background: var(--rk-dl-blue);
    color: #ffffff;
}

.rk-dl-btn-primary:hover {
    background: var(--rk-dl-blue-hover);
}

.rk-dl-btn-secondary {
    background: transparent;
    color: var(--rk-dl-dark);
    border-color: var(--rk-dl-dark);
}

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

/* Nota Prawna */
.rk-dl-copyright {
    background: var(--rk-dl-gray);
    padding: 15px;
    border-left: 4px solid var(--rk-dl-blue);
    font-size: 12px;
    line-height: 1.5;
    color: var(--rk-dl-text);
    margin-top: auto;
}

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

/* Modal Obrazka */
.rk-dl-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(15, 23, 42, 0.95);
    overflow: auto;
}

.rk-dl-modal-content {
    margin: 5vh auto;
    display: block;
    max-width: 90%;
    max-height: 90vh;
    object-fit: contain;
    border: 4px solid #ffffff;
}

.rk-dl-modal-close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #ffffff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}

.rk-dl-modal-close:hover {
    color: var(--rk-dl-blue);
}

@media (max-width: 768px) {
    .rk-dl-header { padding: 20px; }
    .rk-dl-h2 { font-size: 20px; }
    .rk-dl-body { padding: 20px; }
    .rk-dl-btn { width: 100%; }
    .rk-dl-modal-close { top: 10px; right: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article-materialy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Materiały techniczne do pobrania: Infografika parametrów wody CO",
    "description": "Zestawienie norm PN-EN 14868 i procedur napełniania instalacji w formie podręcznej infografiki w wysokiej rozdzielczości do wydruku.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2025/09/Infografika-Woda-demineralizowana-w-ogrzewaniu-podlogowym-–-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu.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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-14",
    "dateModified": "2026-07-14"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset-infografika",
    "name": "Karta Technologiczna: Parametry Wody Grzewczej (Infografika PDF)",
    "description": "Podręczny dokument PDF zawierający wizualizację skutków stosowania kranówki oraz schemat postępowania przy napełnianiu podłogówki wodą zdemineralizowaną.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "schemat napełniania instalacji ogrzewania podłogowego pdf",
      "woda zdemineralizowana do co infografika",
      "parametry wody kotłowej tabela",
      "zabezpieczenie podłogówki przed kamieniem schemat",
      "wytyczne producentów pomp ciepła pdf"
    ],
    "measurementTechnique": "Weryfikacja parametrów fizykochemicznych instalacji w skróconej formie graficznej na potrzeby instalatorów i inwestorów.",
    "mainEntity": {
      "@type": "CreativeWork",
      "name": "Infografika - Woda demineralizowana w ogrzewaniu podłogowym",
      "encodingFormat": "application/pdf"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp-viewer",
    "name": "Przeglądarka Dokumentacji Technicznej",
    "description": "Moduł umożliwiający bezpośredni podgląd i pobranie materiałów inżynierskich w formacie WebP oraz PDF.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and CSS",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- Kontener główny -->
<div class="rk-dl-container">
    <div class="rk-dl-header">
        <h2 class="rk-dl-h2">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
            Materiały do pobrania: Infografika podsumowująca
        </h2>
    </div>

    <div class="rk-dl-body">
        
        <!-- Kolumna z miniaturą -->
        <div class="rk-dl-thumb-col">
            <div class="rk-dl-thumb-wrapper" onclick="rkToggleModal('open')">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/09/Infografika-Woda-demineralizowana-w-ogrzewaniu-podlogowym-–-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu.webp" alt="Infografika: Woda demineralizowana w ogrzewaniu podłogowym">
                <div class="rk-dl-magnify">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                </div>
            </div>
        </div>

        <!-- Kolumna z treścią -->
        <div class="rk-dl-info-col">
            <h3 class="rk-dl-h3">Karta technologiczna instalatora</h3>
            <p class="rk-dl-desc">
                Zapisz na telefonie lub wydrukuj tę ściągawkę. Znajdziesz w niej błyskawiczne zestawienie różnic pomiędzy wodą wodociągową a demineralizowaną oraz reżim procedury napełniania układu, aby chronić gwarancję pompy ciepła.
            </p>
            
            <div class="rk-dl-actions">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2025/09/Infografika-Woda-demineralizowana-w-ogrzewaniu-podlogowym-–-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu.pdf" target="_blank" class="rk-dl-btn rk-dl-btn-primary" rel="noopener noreferrer">
                    <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="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><polyline points="9 15 12 18 15 15"></polyline></svg>
                    Pobierz plik PDF
                </a>
                <button onclick="rkToggleModal('open')" class="rk-dl-btn rk-dl-btn-secondary">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                    Zobacz obraz (WebP)
                </button>
            </div>

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

    </div>
</div>

<!-- Modal podglądu -->
<div id="rk-image-modal" class="rk-dl-modal">
    <span class="rk-dl-modal-close" onclick="rkToggleModal('close')">&times;</span>
    <img decoding="async" class="rk-dl-modal-content" src="https://projekt-ogrzewania.pl/wp-content/uploads/2025/09/Infografika-Woda-demineralizowana-w-ogrzewaniu-podlogowym-–-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu.webp" alt="Podgląd infografiki w pełnym rozmiarze">
</div>

<script>
function rkToggleModal(action) {
    var modal = document.getElementById('rk-image-modal');
    
    if (action === 'open') {
        modal.style.display = "block";
    } else {
        modal.style.display = "none";
    }
}

// Zamknięcie modala po kliknięciu w tło
document.getElementById('rk-image-modal').addEventListener('click', function(e) {
    if (e.target === this) {
        rkToggleModal('close');
    }
});
</script>



<style>
:root {
    --rk-fin-dark: #0f172a;
    --rk-fin-blue: #0284c7;
    --rk-fin-accent: #38bdf8;
    --rk-fin-green: #059669;
    --rk-fin-green-bg: #ecfdf5;
    --rk-fin-red: #dc2626;
    --rk-fin-red-bg: #fef2f2;
    --rk-fin-gray: #64748b;
    --rk-fin-light: #f8fafc;
    --rk-fin-border: #e2e8f0;
}

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

.rk-fin-header {
    padding: 40px 50px;
    background: linear-gradient(145deg, #f8fafc 0%, #f1f5f9 100%);
    border-bottom: 1px solid var(--rk-fin-border);
}

.rk-fin-h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-fin-dark);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

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

.rk-fin-interactive-area {
    padding: 40px 50px;
}

.rk-fin-h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-fin-dark);
    margin: 0 0 25px 0;
    text-align: center;
}

/* Przełączniki - Mobile First (Pionowe) -> Desktop (Poziome) */
.rk-fin-toggles {
    display: flex;
    flex-direction: column; /* Domyślnie pionowo dla mobile */
    gap: 15px;
    margin-bottom: 35px;
}

@media (min-width: 768px) {
    .rk-fin-toggles {
        flex-direction: row; /* Obok siebie tylko na szerokich ekranach */
    }
}

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

.rk-fin-btn.active-bad {
    background: var(--rk-fin-red-bg);
    border-color: var(--rk-fin-red);
    color: var(--rk-fin-red);
    box-shadow: 0 10px 20px -5px rgba(220, 38, 38, 0.15);
}

.rk-fin-btn.active-good {
    background: var(--rk-fin-green-bg);
    border-color: var(--rk-fin-green);
    color: var(--rk-fin-green);
    box-shadow: 0 10px 20px -5px rgba(5, 150, 105, 0.15);
}

/* Wizualizacja */
.rk-fin-dashboard {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    background: var(--rk-fin-dark);
    border-radius: 20px;
    padding: 30px;
    color: #ffffff;
}

@media (min-width: 768px) {
    .rk-fin-dashboard {
        grid-template-columns: 150px 1fr;
        align-items: center;
    }
}

.rk-fin-svg-box {
    text-align: center;
}

.rk-fin-pipe-svg {
    width: 120px;
    height: auto;
    transition: all 0.4s ease;
}

/* Animacje SVG */
.pipe-outer { fill: #cbd5e1; }
.pipe-inner { transition: fill 0.5s ease; }
.water-flow { stroke-dasharray: 10; animation: flowAnim 2s linear infinite; }
.scale-deposit { opacity: 0; transition: opacity 0.5s ease; fill: #fbbf24; }
.bact-dots { opacity: 0; transition: opacity 0.5s ease; fill: #451a03; }

.state-bad .pipe-inner { fill: #fef3c7; }
.state-bad .scale-deposit { opacity: 1; }
.state-bad .bact-dots { opacity: 1; animation: pulseBact 2s infinite; }
.state-bad .water-flow { stroke: #b45309; animation-duration: 4s; }

.state-good .pipe-inner { fill: #bae6fd; }
.state-good .scale-deposit { opacity: 0; }
.state-good .bact-dots { opacity: 0; }
.state-good .water-flow { stroke: #0284c7; animation-duration: 1.5s; }

@keyframes flowAnim {
    to { stroke-dashoffset: -20; }
}
@keyframes pulseBact {
    0%, 100% { transform: scale(1); transform-origin: center; }
    50% { transform: scale(1.2); transform-origin: center; }
}

.rk-fin-stats {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-fin-stat-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.rk-fin-stat-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rk-fin-stat-label {
    font-size: 14px;
    color: #94a3b8;
    font-weight: 600;
}

.rk-fin-stat-val {
    font-size: 18px;
    font-weight: 900;
}

.val-red { color: #f87171; }
.val-green { color: #34d399; }

/* Tagi Długi Ogon */
.rk-fin-tags {
    padding: 0 50px 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 768px) {
    .rk-fin-header, .rk-fin-interactive-area, .rk-fin-tags { padding: 30px 20px; }
}

.rk-mat-tag {
    background: #f1f5f9;
    color: var(--rk-fin-gray);
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid var(--rk-fin-border);
    transition: all 0.2s;
}

.rk-mat-tag:hover {
    background: #e2e8f0;
    color: var(--rk-fin-dark);
}

/* Mocne CTA */
.rk-fin-cta {
    background: var(--rk-fin-blue);
    padding: 40px 30px;
    text-align: center;
}

.rk-fin-cta h4 {
    color: #ffffff;
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 20px 0;
}

.rk-btn-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    color: var(--rk-fin-blue);
    padding: 16px 32px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 16px;
    text-decoration: none;
    transition: transform 0.3s, box-shadow 0.3s;
}

.rk-btn-cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/"
    },
    "headline": "Podsumowanie – Woda demineralizowana w ogrzewaniu podłogowym to gwarancja bezpieczeństwa",
    "description": "Zwykła woda z kranu powoduje spadek sprawności o 15% i zatarcia pomp. Tylko woda demineralizowana z inhibitorem gwarantuje bezawaryjność na dekady.",
    "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://x.com/Projekt_HVAC",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-12",
    "dateModified": "2026-07-12"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#dataset",
    "name": "Parametry fizykochemiczne wody roboczej w instalacjach CO (Zestawienie)",
    "description": "Porównawcze dane techniczne wpływu wody wodociągowej oraz demineralizowanej z inhibitorem na żywotność instalacji podłogowych i sprawność wymiany ciepła.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "spadek sprawności układu grzewczego",
      "zatarcia pompy obiegowej",
      "norma PN-EN 14868",
      "przewodność wody w CO",
      "ochrona gwarancji pompy ciepła"
    ],
    "measurementTechnique": "Symulacja spadku sprawności wymiennika ciepła o 15% na skutek wytrącania się kamienia kotłowego w odniesieniu do normatywów technicznych producentów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Woda z kranu: Spadek sprawności o 15%, ekstremalne ryzyko zatarcia pomp prądu stałego, utrata gwarancji.",
        "Woda demineralizowana + Inhibitor: 100% zachowania sprawności, zerowe odkładanie kamienia zgodnie z normą PN-EN 14868."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/#webapp",
    "name": "Symulator Degradacji Instalacji Grzewczej",
    "description": "Interaktywny kalkulator ryzyka ukazujący wpływ zastosowania zwykłej wody kranowej kontra wody demineralizowanej z inhibitorem na najważniejsze parametry instalacji (sprawność, twardość, status gwarancji).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fin-container" id="woda-demi-podsumowanie">
    <div class="rk-fin-header">
        <h2 class="rk-fin-h2">Podsumowanie – Woda demineralizowana w ogrzewaniu podłogowym to gwarancja bezpieczeństwa</h2>
        <p class="rk-fin-summary-text">
            Inwestycja w wodę demineralizowaną w ogrzewaniu podłogowym to jedyna technicznie uzasadniona decyzja, która pozwala na bezawaryjną i wysokoefektywną pracę systemu grzewczego przez dekady. Zwykła woda z kranu, choć darmowa i łatwo dostępna na etapie budowy, generuje gigantyczne ryzyko w postaci odkładania się kamienia kotłowego, spadku sprawności układu o 15% oraz zatarcia nowoczesnych <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" style="color: var(--rk-fin-blue); font-weight: 700;">pomp obiegowych</a> prądu stałego. Przestrzeganie restrykcyjnych norm PN-EN 14868 oraz wytycznych producentów urządzeń grzewczych wymaga stosowania wody o zerowej twardości i minimalnej przewodności, bezwzględnie zabezpieczonej organicznym inhibitorem korozji.
        </p>
    </div>

    <div class="rk-fin-interactive-area">
        <h3 class="rk-fin-h3">Sprawdź symulację: Co wlewasz do swoich rur?</h3>
        
        <div class="rk-fin-toggles">
            <button class="rk-fin-btn" id="btn-kran" onclick="rkSwitchMedium('kranowka')">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg>
                Zwykła woda z kranu
            </button>
            <button class="rk-fin-btn active-good" id="btn-demi" onclick="rkSwitchMedium('demi')">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><polyline points="9 12 11 14 15 10"/></svg>
                Woda demineralizowana + Inhibitor
            </button>
        </div>

        <div class="rk-fin-dashboard state-good" id="rk-sim-board">
            <div class="rk-fin-svg-box">
                <!-- Rura w przekroju SVG -->
                <svg class="rk-fin-pipe-svg" viewBox="0 0 100 100">
                    <circle class="pipe-outer" cx="50" cy="50" r="45" />
                    <circle class="pipe-inner" cx="50" cy="50" r="35" />
                    <!-- Kamień kotłowy -->
                    <path class="scale-deposit" d="M15 50 A 35 35 0 0 0 85 50 A 30 30 0 0 1 15 50" />
                    <!-- Bakterie/Szlam -->
                    <circle class="bact-dots" cx="35" cy="70" r="3" />
                    <circle class="bact-dots" cx="65" cy="65" r="4" />
                    <circle class="bact-dots" cx="50" cy="75" r="3.5" />
                    <circle class="bact-dots" cx="45" cy="80" r="2" />
                    <!-- Przepływ -->
                    <path class="water-flow" fill="none" stroke-width="6" stroke-linecap="round" d="M30 40 Q 50 30 70 40 T 30 40" />
                    <path class="water-flow" fill="none" stroke-width="6" stroke-linecap="round" d="M30 60 Q 50 50 70 60 T 30 60" />
                </svg>
            </div>
            
            <div class="rk-fin-stats">
                <div class="rk-fin-stat-row">
                    <span class="rk-fin-stat-label">Sprawność wymiany ciepła</span>
                    <span class="rk-fin-stat-val val-green" id="stat-eff">100% (Optymalna)</span>
                </div>
                <div class="rk-fin-stat-row">
                    <span class="rk-fin-stat-label">Zgodność z PN-EN 14868</span>
                    <span class="rk-fin-stat-val val-green" id="stat-norm">SPEŁNIONA (0 °dH)</span>
                </div>
                <div class="rk-fin-stat-row">
                    <span class="rk-fin-stat-label">Gwarancja pompy ciepła</span>
                    <span class="rk-fin-stat-val val-green" id="stat-war">ZACHOWANA</span>
                </div>
                <div class="rk-fin-stat-row">
                    <span class="rk-fin-stat-label">Ryzyko awarii pompy obiegowej</span>
                    <span class="rk-fin-stat-val val-green" id="stat-risk">ZMINIMALIZOWANE</span>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-fin-tags">
        <span class="rk-mat-tag"># woda demineralizowana w ogrzewaniu podłogowym</span>
        <span class="rk-mat-tag"># kamień kotłowy w instalacji co</span>
        <span class="rk-mat-tag"># zatarta pompa obiegowa</span>
        <span class="rk-mat-tag"># norma PN-EN 14868</span>
        <span class="rk-mat-tag"># spadek sprawności podłogówki</span>
        <span class="rk-mat-tag"># inhibitor korozji do ogrzewania</span>
        <span class="rk-mat-tag"># bezpieczne napełnianie instalacji</span>
        <span class="rk-mat-tag"># koszty eksploatacji pompy ciepła</span>
    </div>

    <div class="rk-fin-cta">
        <h4>Nie ryzykuj tysięcy złotych na poprawki i awarie.</h4>
        <p style="color: #bae6fd; margin-bottom: 25px; font-size: 15px;">Poznaj sprawdzone przez inżynierów procedury, normy i bezwzględne zasady montażu podłogówki z profesjonalnym źródłem ciepła.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-cta">
            ZOBACZ BAZĘ WIEDZY INSTALATORA
            <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 12h14M12 5l7 7-7 7"/></svg>
        </a>
    </div>
</div>

<script>
function rkSwitchMedium(state) {
    var btnKran = document.getElementById('btn-kran');
    var btnDemi = document.getElementById('btn-demi');
    var board = document.getElementById('rk-sim-board');
    
    // Pola tekstowe
    var valEff = document.getElementById('stat-eff');
    var valNorm = document.getElementById('stat-norm');
    var valWar = document.getElementById('stat-war');
    var valRisk = document.getElementById('stat-risk');

    if (state === 'kranowka') {
        // Zmiana przycisków
        btnKran.classList.add('active-bad');
        btnKran.classList.remove('active-good');
        btnDemi.classList.remove('active-good');
        btnDemi.classList.remove('active-bad');
        
        // Zmiana SVG
        board.className = 'rk-fin-dashboard state-bad';

        // Aktualizacja danych na czerwone
        valEff.textContent = 'SPADEK o 15% (Kamień)';
        valEff.className = 'rk-fin-stat-val val-red';
        
        valNorm.textContent = 'NIEZGODNE (~15 °dH)';
        valNorm.className = 'rk-fin-stat-val val-red';
        
        valWar.textContent = 'ODRZUCONA / UTRACONA';
        valWar.className = 'rk-fin-stat-val val-red';
        
        valRisk.textContent = 'KRYTYCZNE (Szlam / Zatarcia)';
        valRisk.className = 'rk-fin-stat-val val-red';

    } else {
        // Zmiana przycisków
        btnDemi.classList.add('active-good');
        btnDemi.classList.remove('active-bad');
        btnKran.classList.remove('active-bad');
        btnKran.classList.remove('active-good');
        
        // Zmiana SVG
        board.className = 'rk-fin-dashboard state-good';

        // Aktualizacja danych na zielone
        valEff.textContent = '100% (Optymalna)';
        valEff.className = 'rk-fin-stat-val val-green';
        
        valNorm.textContent = 'SPEŁNIONA (0 °dH)';
        valNorm.className = 'rk-fin-stat-val val-green';
        
        valWar.textContent = 'ZACHOWANA';
        valWar.className = 'rk-fin-stat-val val-green';
        
        valRisk.textContent = 'ZMINIMALIZOWANE';
        valRisk.className = 'rk-fin-stat-val val-green';
    }
}
</script>



<style>
  .po-pref-container {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background: #ffffff;
    border: 1px solid #dadce0;
    border-radius: 12px;
    padding: 24px;
    margin: 30px 0;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: box-shadow 0.3s ease;
  }
  .po-pref-container:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }
  .po-pref-header {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .po-pref-container h2 {
    margin: 0;
    font-size: 1.4rem;
    color: #202124;
    font-weight: 600;
  }
  .po-pref-container h3 {
    margin: 0;
    font-size: 1.1rem;
    color: #5f6368;
    font-weight: 400;
  }
  .po-pref-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f8f9fa;
    padding: 16px 20px;
    border-radius: 8px;
    border: 1px solid #e8eaed;
  }
  .po-pref-info {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .po-pref-icon svg {
    width: 40px;
    height: 40px;
  }
  .po-pref-text p {
    margin: 0;
    color: #3c4043;
    font-size: 0.95rem;
    line-height: 1.4;
  }
  .po-pref-text strong {
    color: #1a73e8;
  }
  
  /* Interaktywny przełącznik */
  .po-toggle-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .po-toggle {
    position: relative;
    width: 52px;
    height: 28px;
    background-color: #dadce0;
    border-radius: 34px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  .po-toggle::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 24px;
    height: 24px;
    background-color: white;
    border-radius: 50%;
    transition: transform 0.3s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  }
  .po-toggle.active {
    background-color: #1a73e8;
  }
  .po-toggle.active::after {
    transform: translateX(24px);
  }
  
  /* Przycisk akcji (ukryty domyślnie, pojawia się po interakcji) */
  .po-action-btn {
    display: none;
    text-decoration: none;
    background: #1a73e8;
    color: #ffffff;
    padding: 12px 24px;
    border-radius: 24px;
    font-weight: 500;
    text-align: center;
    font-size: 1rem;
    transition: background 0.2s;
    margin-top: 10px;
  }
  .po-action-btn:hover {
    background: #1557b0;
    color: #ffffff;
  }
  .po-action-btn.visible {
    display: block;
    animation: fadeIn 0.4s ease;
  }

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

  /* RWD - Mobile (układ pionowy, akordeon, brak przycisków obok siebie) */
  @media (max-width: 768px) {
    .po-pref-body {
      flex-direction: column;
      align-items: flex-start;
      gap: 20px;
    }
    .po-toggle-wrapper {
      width: 100%;
      justify-content: space-between;
      padding-top: 16px;
      border-top: 1px solid #dadce0;
    }
    .po-action-btn {
      width: 100%;
      box-sizing: border-box;
    }
  }
</style>

<div class="po-pref-container">
  <div class="po-pref-header">
    <h2>Wspieraj Projekt-Ogrzewania.pl</h2>
    <h3>Zostań z nami na dłużej w wynikach Google</h3>
  </div>
  
  <div class="po-pref-body">
    <div class="po-pref-info">
      <div class="po-pref-icon">
        <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"></path>
          <path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"></path>
          <path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" fill="#FBBC05"></path>
          <path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"></path>
        </svg>
      </div>
      <div class="po-pref-text">
        <p>Ponad 1000 poradników o ogrzewaniu i budowie domu.<br>
        <strong>Dodaj nas do ulubionych źródeł</strong>, aby łatwiej znajdować nasze rozwiązania techniczne.</p>
      </div>
    </div>
    
    <div class="po-toggle-wrapper">
      <span style="font-size: 0.9rem; color: #5f6368; font-weight: 500;">Aktywuj źródło</span>
      <div class="po-toggle" id="googleSourceToggle" aria-label="Włącz preferowane źródło"></div>
    </div>
  </div>
  
  <a href="https://google.com/preferences/source?q=https://projekt-ogrzewania.pl" target="_blank" rel="noopener noreferrer" class="po-action-btn" id="googleSourceLink">
    Przejdź do Google i potwierdź
  </a>
</div>

<script>
  document.addEventListener('DOMContentLoaded', function() {
    var toggleBtn = document.getElementById('googleSourceToggle');
    var actionLink = document.getElementById('googleSourceLink');
    
    toggleBtn.addEventListener('click', function() {
      if (toggleBtn.classList.contains('active') === false) {
        toggleBtn.classList.add('active');
        actionLink.classList.add('visible');
      } else {
        toggleBtn.classList.remove('active');
        actionLink.classList.remove('visible');
      }
    });
  });
</script>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#article",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://projekt-ogrzewania.pl/google-preferred-sources"
      },
      "headline": "Wspieraj Projekt-Ogrzewania.pl w wynikach Google",
      "description": "Interaktywny widget umożliwiający dodanie portalu Projekt-Ogrzewania.pl do ulubionych źródeł w wyszukiwarce Google. Buduj z nami rzetelną bazę wiedzy o HVAC.",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
      "author": {
        "@type": "Person",
        "name": "Robert Kucharski",
        "url": "https://projekt-ogrzewania.pl/",
        "sameAs": [
          "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
          "https://www.facebook.com/projektogrzewaniapl/",
          "https://www.linkedin.com/in/robert-kucharski-38069b48/",
          "https://x.com/Projekt_HVAC",
          "https://remont.biz.pl/",
          "https://sobir.pl/"
        ]
      },
      "publisher": {
        "@type": "Organization",
        "name": "Projekt-Ogrzewania.pl",
        "logo": {
          "@type": "ImageObject",
          "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
        }
      },
      "datePublished": "2026-07-09",
      "dateModified": "2026-07-09"
    },
    {
      "@type": "Dataset",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#dataset",
      "name": "Preferowane Źródła Google - Statystyki i Interakcja",
      "description": "Zbiór danych i interaktywnych punktów styku pozwalających na ocenę preferencji czytelników dla treści technicznych HVAC.",
      "license": "https://projekt-ogrzewania.pl/",
      "creator": {
        "@type": "Person",
        "name": "Robert Kucharski"
      },
      "keywords": [
        "sprawdzone porady ogrzewanie podłogowe",
        "zaufany blog budowlany hvac",
        "ekspert instalacji robert kucharski",
        "najlepsze poradniki o pompach ciepła",
        "rzetelne źródło wiedzy instalacyjnej"
      ],
      "measurementTechnique": "Zliczanie interakcji z widgetem UI typu toggle oraz przekierowań do interfejsu preferencji Google Search",
      "mainEntity": "Optymalizacja zaangażowania użytkownika poprzez interaktywny widget dodawania domeny do preferencji Google."
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/google-preferred-sources#webapplication",
      "name": "Google Preferences Toggle Widget",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "All",
      "description": "Aplikacja webowa w formie widgetu symulującego przełącznik mobilny, integrująca natywne linkowanie do ustawień preferowanych źródeł Google.",
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      }
    }
  ]
}
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/">Woda demineralizowana w ogrzewaniu podłogowym – dlaczego to najlepszy wybór zamiast zwykłej wody z kranu?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Glikol w ogrzewaniu podłogowym – prawda i mity, które musi znać każdy inwestor.</title>
		<link>https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 10 Sep 2025 07:45:04 +0000</pubDate>
				<category><![CDATA[Bezpieczeństwo w instalacjach]]></category>
		<category><![CDATA[Chemia instalacyjna]]></category>
		<category><![CDATA[Domy letniskowe i sezonowe]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Eksploatacja instalacji]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Materiały instalacyjne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[czynnik glikolowy]]></category>
		<category><![CDATA[glikol etylenowy]]></category>
		<category><![CDATA[glikol propylenowy]]></category>
		<category><![CDATA[glikol w ogrzewaniu podłogowym]]></category>
		<category><![CDATA[inhibitor korozji]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[lepkość glikolu]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[płyn niezamarzający]]></category>
		<category><![CDATA[pojemność cieplna glikolu]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2747</guid>

					<description><![CDATA[<p>Czy warto stosować glikol w ogrzewaniu podłogowym? To pytanie zadaje sobie wielu inwestorów i instalatorów. W naszym artykule „Glikol w ogrzewaniu podłogowym – prawda i mity, które musi znać każdy inwestor” znajdziesz zarówno techniczne dane o właściwościach mieszaniny glikolowej, jak i praktyczne wskazówki, kiedy jej użycie ma sens. Wyjaśniamy różnice między glikolem propylenowym a etylenowym, pokazujemy wady, zalety oraz realny wpływ na sprawność instalacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/">Glikol w ogrzewaniu podłogowym – prawda i mity, które musi znać każdy inwestor.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-mod-dark: #1e293b;
    --rk-mod-blue: #0ea5e9;
    --rk-mod-light-blue: #e0f2fe;
    --rk-mod-accent: #f59e0b;
    --rk-mod-green: #10b981;
    --rk-mod-gray-light: #f8fafc;
    --rk-mod-gray-text: #475569;
    --rk-mod-border: #cbd5e1;
    --rk-mod-shadow: 0 10px 30px -10px rgba(14, 165, 233, 0.2);
}

.rk-fluid-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: var(--rk-mod-shadow);
    border: 1px solid var(--rk-mod-blue);
    overflow: hidden;
}

/* Sekcja Opisowa */
.rk-fluid-header {
    padding: 40px 45px 30px;
    background: var(--rk-mod-gray-light);
    border-bottom: 1px solid var(--rk-mod-border);
}

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

.rk-eng-statement {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-eng-avatar {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--rk-mod-blue), #0284c7);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.3);
}

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

.rk-eng-text strong {
    color: var(--rk-mod-dark);
    background: var(--rk-mod-light-blue);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Interaktywny Panel */
.rk-fluid-interactive {
    padding: 40px 45px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    background: #ffffff;
}

/* Przełącznik jak w aplikacji mobilnej */
.rk-toggle-panel {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-toggle-panel h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-mod-dark);
}

.rk-switch-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
    background: var(--rk-mod-gray-light);
    padding: 15px 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-mod-border);
}

.rk-switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
    flex-shrink: 0;
}

.rk-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.rk-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--rk-mod-blue);
    transition: .4s;
    border-radius: 34px;
}

.rk-slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

input:checked + .rk-slider {
    background-color: var(--rk-mod-accent);
}

input:checked + .rk-slider:before {
    transform: translateX(26px);
}

.rk-switch-label {
    font-weight: 700;
    font-size: 15px;
    color: var(--rk-mod-dark);
    transition: color 0.3s;
}

/* Statystyki i animacja */
.rk-stats-box {
    background: #f8fafc;
    border-radius: 16px;
    padding: 25px;
    border: 1px solid var(--rk-mod-border);
    position: relative;
    overflow: hidden;
}

.rk-stat-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    font-size: 15px;
    border-bottom: 1px dashed #cbd5e1;
    padding-bottom: 8px;
}

.rk-stat-row:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.rk-stat-label { color: var(--rk-mod-gray-text); font-weight: 600; }
.rk-stat-val { font-weight: 800; color: var(--rk-mod-dark); transition: all 0.3s;}

/* SVG Animacje */
.rk-svg-container {
    height: 120px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.pipe-fluid {
    stroke-dasharray: 10 15;
    animation: flowPipe 2s linear infinite;
    transition: all 0.5s ease;
}

.pipe-bg {
    stroke: #e2e8f0;
    stroke-width: 20;
    stroke-linecap: round;
}

@keyframes flowPipe {
    to { stroke-dashoffset: -50; }
}

/* Stany dynamiczne JS */
.state-water .pipe-fluid { stroke: var(--rk-mod-blue); stroke-width: 14; animation-duration: 1s; }
.state-glycol .pipe-fluid { stroke: var(--rk-mod-accent); stroke-width: 18; animation-duration: 4s; stroke-dasharray: 20 5; }
.state-glycol .rk-switch-label { color: var(--rk-mod-accent); }

@media (max-width: 768px) {
    .rk-fluid-interactive { grid-template-columns: 1fr; gap: 30px; }
    .rk-fluid-header, .rk-fluid-interactive { padding: 30px 20px; }
    .rk-eng-statement { flex-direction: column; align-items: center; text-align: center; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-definicja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Czym jest glikol w ogrzewaniu podłogowym? Inżynierska definicja i kompromisy",
    "description": "Techniczna definicja glikolu w instalacjach płaszczyznowych. Dowiedz się, dlaczego jest to kompromis termodynamiczny, a nie ulepszacz układu.",
    "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-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-parametry",
    "name": "Profil Termodynamiczny: Woda vs Mieszanka Glikolowa",
    "description": "Zestawienie zmian parametrów hydraulicznych instalacji ogrzewania podłogowego po zastosowaniu wodnego roztworu glikolu propylenowego z inhibitorami.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wodny roztwór substancji chemicznej",
      "nietoksyczny glikol propylenowy",
      "jonowe inhibitory korozji",
      "parametry termodynamiczne ogrzewania",
      "zabezpieczenie instalacji przed zamarzaniem"
    ],
    "measurementTechnique": "Analiza numeryczna lepkości kinematycznej i oporów hydraulicznych rur przy symulowanym spadku temperatury poniżej zera.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Woda z inhibitorem: Niska lepkość, szybki przepływ, optymalna termodynamika.",
        "Glikol 30%: Wzrost oporów, kompromis techniczny, pełna ochrona do -15°C."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-symulator",
    "name": "Symulator Przepływu Laminarnego",
    "description": "Aplikacja webowa ilustrująca różnice w lepkości i prędkości przepływu między czystą wodą a płynem niezamarzającym (glikolem) w pętli ogrzewania podłogowego.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-fluid-container" id="rk-glycol-module">
    
    <!-- Header / Tekst Użytkownika -->
    <div class="rk-fluid-header">
        <h2>Prawda o glikolu w podłogówce</h2>
        <div class="rk-eng-statement">
            <div class="rk-eng-avatar">
                <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
            </div>
            <p class="rk-eng-text">
                <strong>Glikol w ogrzewaniu podłogowym</strong> to specjalistyczny, wodny roztwór substancji chemicznej (najczęściej nietoksycznego glikolu propylenowego) wzbogacony o monojonowe inhibitory korozji, stosowany wyłącznie w celu zabezpieczenia układów narażonych na spadki temperatury poniżej zera.<br><br>
                Jako inżynier projektujący systemy płaszczyznowe, stanowczo podkreślam: to nie jest uniwersalny dodatek polepszający jakość układu, lecz <strong>techniczny kompromis</strong>, który diametralnie zmienia parametry termodynamiczne i hydrauliczne całej <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/" style="color: var(--rk-mod-blue); font-weight: bold; text-decoration: none;">instalacji grzewczej</a>.
            </p>
        </div>
    </div>

    <!-- Interakcja / Aplikacja Webowa -->
    <div class="rk-fluid-interactive state-water" id="rk-interactive-board">
        
        <div class="rk-toggle-panel">
            <h3>Sprawdź wpływ czynnika roboczego</h3>
            <p style="font-size: 14px; color: var(--rk-mod-gray-text); margin-bottom: 5px;">
                Zasymuluj zmianę <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/" style="color: var(--rk-mod-gray-text); text-decoration: underline;">wypełnienia instalacji</a> i zobacz, jak wpływa to na jej parametry pracy.
            </p>
            
            <label class="rk-switch-wrapper">
                <div class="rk-switch">
                    <input type="checkbox" id="rk-fluid-toggle">
                    <span class="rk-slider"></span>
                </div>
                <span class="rk-switch-label" id="rk-toggle-text">Woda + Inhibitor (Optymalnie)</span>
            </label>
        </div>

        <div class="rk-stats-box">
            <!-- Animowane rury SVG -->
            <div class="rk-svg-container">
                <svg viewBox="0 0 200 60" width="100%" height="100%">
                    <path class="pipe-bg" d="M 20 30 L 180 30" />
                    <path class="pipe-fluid" d="M 20 30 L 180 30" stroke-linecap="round"/>
                </svg>
            </div>
            
            <!-- Dynamiczne Parametry -->
            <div class="rk-stat-row">
                <span class="rk-stat-label">Lepkość płynu:</span>
                <span class="rk-stat-val" id="val-viscosity">Niska (~0.65 mPa·s)</span>
            </div>
            <div class="rk-stat-row">
                <span class="rk-stat-label">Opory hydrauliczne:</span>
                <span class="rk-stat-val" id="val-resistance">Normatywne</span>
            </div>
            <div class="rk-stat-row">
                <span class="rk-stat-label">Sprawność (<a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" style="color: inherit; text-decoration: none;">OZC</a>):</span>
                <span class="rk-stat-val" id="val-efficiency" style="color: var(--rk-mod-green);">100% (Baza)</span>
            </div>
            <div class="rk-stat-row">
                <span class="rk-stat-label">Ochrona do temp:</span>
                <span class="rk-stat-val" id="val-freeze">0°C</span>
            </div>
        </div>

    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówkó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('rk-glycol-module');
        if (container) {
            container.innerHTML = `
                <div style="padding: 30px; text-align: center; background: #fff1f2; color: #be123c; border: 2px dashed #f43f5e; border-radius: 16px; font-family: sans-serif; margin: 20px;">
                    <div style="font-size: 30px; margin-bottom: 10px;">⚠️</div>
                    <div style="font-size: 16px; font-weight: bold; text-transform: uppercase;">Nieautoryzowana Domena</div>
                    <div style="font-size: 14px; margin-top: 5px; color: #881337;">
                        Ten interaktywny moduł edukacyjny oraz jego warstwa JSON-LD są chronione prawem autorskim serwisu Projekt-Ogrzewania.pl.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Aplikacji Webowej (Symulator Przepływu)
    const toggle = document.getElementById('rk-fluid-toggle');
    const board = document.getElementById('rk-interactive-board');
    const toggleText = document.getElementById('rk-toggle-text');
    
    const valViscosity = document.getElementById('val-viscosity');
    const valResistance = document.getElementById('val-resistance');
    const valEfficiency = document.getElementById('val-efficiency');
    const valFreeze = document.getElementById('val-freeze');

    toggle.addEventListener('change', function() {
        if(this.checked) {
            // Stan: Glikol
            board.className = 'rk-fluid-interactive state-glycol';
            toggleText.innerText = 'Roztwór Glikolu 30% (Kompromis)';
            
            valViscosity.innerText = 'Wysoka (~1.2 mPa·s)';
            valViscosity.style.color = 'var(--rk-mod-accent)';
            
            valResistance.innerText = '+25% (Wymaga większej pompy)';
            valResistance.style.color = 'var(--rk-mod-accent)';
            
            valEfficiency.innerText = '~85% (Strata ciepła)';
            valEfficiency.style.color = 'var(--rk-mod-accent)';
            
            valFreeze.innerText = '-15°C (Pełna ochrona)';
            valFreeze.style.color = 'var(--rk-mod-blue)';
        } else {
            // Stan: Woda
            board.className = 'rk-fluid-interactive state-water';
            toggleText.innerText = 'Woda + Inhibitor (Optymalnie)';
            
            valViscosity.innerText = 'Niska (~0.65 mPa·s)';
            valViscosity.style.color = 'var(--rk-mod-dark)';
            
            valResistance.innerText = 'Normatywne';
            valResistance.style.color = 'var(--rk-mod-dark)';
            
            valEfficiency.innerText = '100% (Baza)';
            valEfficiency.style.color = 'var(--rk-mod-green)';
            
            valFreeze.innerText = '0°C';
            valFreeze.style.color = 'var(--rk-mod-dark)';
        }
    });
});
</script>



<style>
:root {
    --rk-lab-dark: #0f172a;
    --rk-lab-panel: #1e293b;
    --rk-lab-cyan: #06b6d4;
    --rk-lab-cyan-light: #cffafe;
    --rk-lab-green: #10b981;
    --rk-lab-red: #ef4444;
    --rk-lab-orange: #f97316;
    --rk-lab-text-main: #334155;
    --rk-lab-text-muted: #64748b;
    --rk-lab-border: #e2e8f0;
    --rk-lab-bg: #ffffff;
}

.rk-lab-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, sans-serif;
    background: var(--rk-lab-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -15px rgba(6, 182, 212, 0.15);
    border: 1px solid var(--rk-lab-cyan);
    overflow: hidden;
}

/* Sekcja Treściowa */
.rk-lab-content-section {
    padding: 45px 50px;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border-bottom: 1px solid var(--rk-lab-border);
}

.rk-lab-content-section h2 {
    color: var(--rk-lab-dark);
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 25px 0;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.rk-lab-content-section h3 {
    color: var(--rk-lab-cyan);
    font-size: 18px;
    font-weight: 800;
    margin: 30px 0 15px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-lab-paragraph {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-lab-text-main);
    margin-bottom: 20px;
}

.rk-lab-highlight {
    background: var(--rk-lab-cyan-light);
    color: #0891b2;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
}

.rk-lab-warning-box {
    display: flex;
    gap: 15px;
    background: #fef2f2;
    border-left: 4px solid var(--rk-lab-red);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
}

.rk-lab-warning-text {
    font-size: 15px;
    line-height: 1.6;
    color: #991b1b;
    margin: 0;
}

/* Sekcja Interaktywna - Laboratorium */
.rk-lab-interactive {
    padding: 45px 50px;
    background: var(--rk-lab-dark);
    color: #ffffff;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 50px;
    align-items: center;
}

.rk-lab-controls h4 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
}

.rk-lab-controls p {
    color: #94a3b8;
    font-size: 14px;
    margin-bottom: 30px;
    line-height: 1.5;
}

/* Nowoczesny Slider */
.rk-range-wrapper {
    position: relative;
    margin-bottom: 40px;
}

.rk-range-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 12px;
    background: #334155;
    border-radius: 10px;
    outline: none;
    transition: background 0.3s;
}

.rk-range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-lab-cyan);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 0 15px rgba(6, 182, 212, 0.6);
    transition: transform 0.1s;
}

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

.rk-range-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    font-size: 12px;
    color: #64748b;
    font-weight: 700;
}

/* Statystyki i SVG */
.rk-lab-dashboard {
    background: var(--rk-lab-panel);
    border-radius: 16px;
    padding: 30px;
    border: 1px solid #334155;
    position: relative;
}

.rk-svg-flask {
    width: 100%;
    max-width: 140px;
    height: auto;
    margin: 0 auto 20px auto;
    display: block;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.3));
}

.flask-liquid {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: bottom;
}

.rk-dash-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #334155;
}

.rk-dash-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rk-dash-label {
    font-size: 13px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.rk-dash-value {
    font-size: 16px;
    font-weight: 800;
    transition: color 0.3s;
}

.val-green { color: var(--rk-lab-green); }
.val-red { color: var(--rk-lab-red); }
.val-cyan { color: var(--rk-lab-cyan); }
.val-orange { color: var(--rk-lab-orange); }

@media (max-width: 768px) {
    .rk-lab-interactive { grid-template-columns: 1fr; gap: 40px; }
    .rk-lab-content-section, .rk-lab-interactive { padding: 35px 25px; }
    .rk-lab-content-section h2 { font-size: 24px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-normy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Jakie stężenie glikolu dopuszczają normy i czym jest on w praktyce?",
    "description": "Szczegółowa analiza normy PN-EN 12828:2013 dla instalacji ogrzewania podłogowego. Różnice między glikolem propylenowym a etylenowym oraz znaczenie inhibitorów i wody demineralizowanej.",
    "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-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-stezenia",
    "name": "Charakterystyka stężeń glikolu propylenowego wg PN-EN 12828",
    "description": "Zestawienie parametrów fizykochemicznych roztworów glikolu, w tym zalecanego stężenia 25-35%, punktów zamarzania oraz optymalnego pH układu (8.0-8.5).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "norma PN-EN 12828:2013",
      "stężenie glikolu propylenowego",
      "glikol etylenowy toksyczność",
      "odczyn pH 8.0-8.5",
      "korozja elektromechaniczna"
    ],
    "measurementTechnique": "Symulacja stężenia procentowego wodnych roztworów glikolu i ich wpływu na punkt zamarzania, lepkość oraz utrzymanie gwarancji na wymienniki ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zakres normatywny: 25-35% PG zapewnia ochronę od -15°C do -20°C.",
        "Odczyn pH: Mieszanina z wodą zdemineralizowaną musi utrzymywać pH 8,0 – 8,5 dla ochrony przed korozją."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-stezenia",
    "name": "Symulator Stężeń i Norm Glikolowych",
    "description": "Interaktywny kalkulator suwakowy demonstrujący zachowanie instalacji C.O. w zależności od proporcji glikolu do wody demineralizowanej, weryfikujący zgodność z normami budowlanymi.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-lab-container" id="rk-glycol-norms">
    
    <!-- Sekcja Treściowa (Ekspert) -->
    <div class="rk-lab-content-section">
        <h2>Jakie stężenie glikolu dopuszczają normy i czym jest on w praktyce?</h2>
        
        <p class="rk-lab-paragraph">
            Zgodnie z wytycznymi normy <span class="rk-lab-highlight">PN-EN 12828:2013</span> (Instalacje ogrzewcze w budynkach – Projektowanie wodnych instalacji centralnego ogrzewania), w domowych instalacjach płaszczyznowych dopuszcza się stosowanie <strong>wyłącznie 25-35% wodnych roztworów glikolu propylenowego (PG)</strong>, co gwarantuje ochronę przed zamarzaniem do temperatury <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" style="color: var(--rk-lab-dark); font-weight: 700; text-decoration: underline;">-15°C ÷ -20°C</a>. 
        </p>

        <div class="rk-lab-warning-box">
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink:0; margin-top:2px;"><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>
            <p class="rk-lab-warning-text">
                <strong>Całkowicie zabronione</strong> jest stosowanie w budownictwie mieszkalnym toksycznego glikolu etylenowego (EG), którego wyciek stanowi realne zagrożenie dla zdrowia i narusza warunki techniczne jakim powinny odpowiadać budynki.
            </p>
        </div>

        <h3>Anatomia bezpiecznego płynu</h3>
        <p class="rk-lab-paragraph">
            Glikol do podłogówki nigdy nie występuje w formie 100% koncentratu wtłaczanego w rury. To zawsze starannie zbilansowana mieszanina z <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/" style="color: var(--rk-lab-cyan); font-weight: 600; text-decoration: none;">wodą zdemineralizowaną</a>, zawierająca bufory pH (utrzymujące odczyn na poziomie <strong>8,0 – 8,5 pH</strong>) oraz inhibitory zapobiegające powstawaniu korozji elektromechanicznej na mosiężnych <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" style="color: var(--rk-lab-text-main); text-decoration: underline;">rozdzielaczach</a> i wymiennikach <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" style="color: var(--rk-lab-text-main); text-decoration: underline;">pomp ciepła</a>.
        </p>
        <p class="rk-lab-paragraph">
            Użycie gotowych, przebadanych roztworów jest <strong>jedyną drogą do zachowania gwarancji</strong> na urządzenia grzewcze. Wszelkie &#8222;marketowe&#8221; płyny chłodnicze do chłodnic samochodowych nie nadają się do instalacji CO, ponieważ ich pakiety antykorozyjne ulegają degradacji przy stałej pracy w reżimie temperaturowym podłogówki.
        </p>
    </div>

    <!-- Sekcja Interaktywna -->
    <div class="rk-lab-interactive">
        <div class="rk-lab-controls">
            <h4>Symulator Stężeń Glikolu (PG)</h4>
            <p>Dostosuj procentowy udział koncentratu w układzie wodnym i sprawdź parametry zładu według wytycznych instalacyjnych.</p>
            
            <div class="rk-range-wrapper">
                <input type="range" id="rk-glycol-slider" class="rk-range-slider" min="0" max="100" value="30" step="5">
                <div class="rk-range-labels">
                    <span>0% (Czysta Woda)</span>
                    <span>100% (Koncentrat)</span>
                </div>
            </div>
            
            <div id="rk-lab-status-msg" style="padding: 15px; border-radius: 8px; background: rgba(16, 185, 129, 0.1); border: 1px solid var(--rk-lab-green); color: var(--rk-lab-green); font-size: 14px; font-weight: 600;">
                ✓ Układ zbilansowany. Pełna zgodność z normą PN-EN 12828.
            </div>
        </div>

        <div class="rk-lab-dashboard">
            <!-- Animowana kolba -->
            <svg class="rk-svg-flask" viewBox="0 0 100 120">
                <defs>
                    <clipPath id="flask-clip">
                        <path d="M40,20 L40,50 L20,90 A10,10 0 0,0 30,105 L70,105 A10,10 0 0,0 80,90 L60,50 L60,20 Z" />
                    </clipPath>
                    <linearGradient id="liquid-grad" x1="0%" y1="0%" x2="0%" y2="100%">
                        <stop offset="0%" stop-color="#06b6d4" id="grad-top"/>
                        <stop offset="100%" stop-color="#0284c7" id="grad-bottom"/>
                    </linearGradient>
                </defs>
                <!-- Tło/szkło -->
                <path d="M40,10 L60,10 M38,20 L62,20 M40,20 L40,50 L20,90 A10,10 0 0,0 30,105 L70,105 A10,10 0 0,0 80,90 L60,50 L60,20 Z" fill="none" stroke="#475569" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
                <!-- Płyn -->
                <g clip-path="url(#flask-clip)">
                    <rect id="rk-svg-liquid" class="flask-liquid" x="0" y="65" width="100" height="100" fill="url(#liquid-grad)" />
                </g>
                <!-- Podziałka -->
                <line x1="60" y1="80" x2="68" y2="80" stroke="#475569" stroke-width="2"/>
                <line x1="60" y1="60" x2="65" y2="60" stroke="#475569" stroke-width="2"/>
                <line x1="45" y1="40" x2="55" y2="40" stroke="#475569" stroke-width="2"/>
            </svg>

            <!-- Parametry -->
            <div class="rk-dash-row">
                <span class="rk-dash-label">Stężenie PG:</span>
                <span class="rk-dash-value val-cyan" id="rk-val-conc">30 %</span>
            </div>
            <div class="rk-dash-row">
                <span class="rk-dash-label">Temp. krzepnięcia:</span>
                <span class="rk-dash-value val-cyan" id="rk-val-freeze">-15 °C</span>
            </div>
            <div class="rk-dash-row">
                <span class="rk-dash-label">Bufor pH:</span>
                <span class="rk-dash-value val-green" id="rk-val-ph">8.0 &#8211; 8.5</span>
            </div>
            <div class="rk-dash-row">
                <span class="rk-dash-label">Gwarancja:</span>
                <span class="rk-dash-value val-green" id="rk-val-war">ZACHOWANA</span>
            </div>
        </div>
    </div>

</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Zgodnie z wytycznymi - zero H2/H3 w komunikacie)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-glycol-norms');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Kontener symulacyjny oraz powiązane dane JSON-LD są własnością Projekt-Ogrzewania.pl. Wykryto próbę uruchomienia skryptu na nieautoryzowanej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora (Kalkulator Stężeń)
    const slider = document.getElementById('rk-glycol-slider');
    const valConc = document.getElementById('rk-val-conc');
    const valFreeze = document.getElementById('rk-val-freeze');
    const valPh = document.getElementById('rk-val-ph');
    const valWar = document.getElementById('rk-val-war');
    const msgBox = document.getElementById('rk-lab-status-msg');
    
    // Elementy SVG
    const svgLiquid = document.getElementById('rk-svg-liquid');
    const gradTop = document.getElementById('grad-top');
    const gradBottom = document.getElementById('grad-bottom');

    slider.addEventListener('input', function() {
        let v = parseInt(this.value);
        valConc.innerText = v + ' %';
        
        // Obliczanie wysokości płynu (Y: od 100 do 20)
        let newY = 100 - (v * 0.8);
        svgLiquid.setAttribute('y', newY);

        // Logika stężeń
        if (v === 0) {
            // Woda
            valFreeze.innerText = '0 °C';
            valFreeze.className = 'rk-dash-value val-cyan';
            valPh.innerText = '~ 7.0';
            valPh.className = 'rk-dash-value val-orange';
            valWar.innerText = 'WYMAGA INHIBITORA';
            valWar.className = 'rk-dash-value val-orange';
            
            gradTop.setAttribute('stop-color', '#3b82f6');
            gradBottom.setAttribute('stop-color', '#1d4ed8');
            
            msgBox.style.background = 'rgba(249, 115, 22, 0.1)';
            msgBox.style.borderColor = 'var(--rk-lab-orange)';
            msgBox.style.color = 'var(--rk-lab-orange)';
            msgBox.innerHTML = '⚠️ Brak ochrony przed zamarzaniem. Czysta woda wymaga dodania samego inhibitora korozji.';
            
        } else if (v >= 25 && v <= 35) {
            // Norma PN-EN
            let temp = (v === 25) ? '-11' : (v === 30) ? '-15' : '-20';
            valFreeze.innerText = temp + ' °C';
            valFreeze.className = 'rk-dash-value val-cyan';
            valPh.innerText = '8.0 - 8.5';
            valPh.className = 'rk-dash-value val-green';
            valWar.innerText = 'ZACHOWANA';
            valWar.className = 'rk-dash-value val-green';
            
            gradTop.setAttribute('stop-color', '#06b6d4');
            gradBottom.setAttribute('stop-color', '#0284c7');
            
            msgBox.style.background = 'rgba(16, 185, 129, 0.1)';
            msgBox.style.borderColor = 'var(--rk-lab-green)';
            msgBox.style.color = 'var(--rk-lab-green)';
            msgBox.innerHTML = '✓ Układ zbilansowany. Pełna zgodność z normą PN-EN 12828.';
            
        } else if (v > 35) {
            // Przekroczenie normy
            valFreeze.innerText = '< -25 °C';
            valFreeze.className = 'rk-dash-value val-cyan';
            valPh.innerText = 'Zaburzone';
            valPh.className = 'rk-dash-value val-red';
            valWar.innerText = 'UTRACONA';
            valWar.className = 'rk-dash-value val-red';
            
            gradTop.setAttribute('stop-color', '#f43f5e');
            gradBottom.setAttribute('stop-color', '#be123c');
            
            msgBox.style.background = 'rgba(239, 68, 68, 0.1)';
            msgBox.style.borderColor = 'var(--rk-lab-red)';
            msgBox.style.color = 'var(--rk-lab-red)';
            msgBox.innerHTML = '❌ BŁĄD: Zbyt duża gęstość i lepkość. Dławienie pomp, ryzyko utraty gwarancji na kocioł/pompę ciepła.';
            
        } else {
            // 1-24%
            valFreeze.innerText = 'od -2 do -10 °C';
            valFreeze.className = 'rk-dash-value val-cyan';
            valPh.innerText = '< 8.0';
            valPh.className = 'rk-dash-value val-orange';
            valWar.innerText = 'RYZYKO KOROZJI';
            valWar.className = 'rk-dash-value val-orange';
            
            gradTop.setAttribute('stop-color', '#fbd38d');
            gradBottom.setAttribute('stop-color', '#f6ad55');
            
            msgBox.style.background = 'rgba(249, 115, 22, 0.1)';
            msgBox.style.borderColor = 'var(--rk-lab-orange)';
            msgBox.style.color = 'var(--rk-lab-orange)';
            msgBox.innerHTML = '⚠️ Zbyt niska dawka inhibitorów zawartych w roztworze. Ryzyko rozwoju korozji elektromechanicznej.';
        }
    });
});
</script>



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

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

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

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

.anatomy-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 15px;
}

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

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

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

.layer-btn {
    position: relative;
    width: 100%;
    padding: 20px;
    border-radius: 12px;
    border: 2px solid var(--border-color);
    background: #ffffff;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 15px;
    overflow: hidden;
}

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

/* Kolory poszczególnych zakładek */
.layer-btn[data-layer="sprawnosc"]::before { background: var(--warning); } 
.layer-btn[data-layer="parametry"]::before { background: var(--accent); } 
.layer-btn[data-layer="koszty"]::before { background: var(--danger); } 

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

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

.layer-btn.layer-active[data-layer="sprawnosc"] { border-color: var(--warning); background: #fff7ed; }
.layer-btn.layer-active[data-layer="koszty"] { border-color: var(--danger); background: #fef2f2; }

.layer-btn.layer-active::before {
    width: 8px;
}
.layer-btn.layer-active[data-layer="sprawnosc"]::before { background: var(--warning); }
.layer-btn.layer-active[data-layer="parametry"]::before { background: var(--accent); }
.layer-btn.layer-active[data-layer="koszty"]::before { background: var(--danger); }

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

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

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

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

/* PRAWA STRONA - SZCZEGÓŁY WARSTWY */
.anatomy-details {
    width: 60%;
    background: var(--bg-light);
    padding: 40px;
    position: relative;
}

.detail-pane {
    display: none;
    animation: fadeInSlide 0.4s ease-out forwards;
}

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

.detail-pane h4 {
    margin: 0 0 20px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 12px;
}

.detail-pane p {
    font-size: 16px;
    line-height: 1.8;
    color: #475569;
    margin-bottom: 15px;
}

.detail-pane strong {
    color: var(--primary);
    background: #ffedd5;
    padding: 2px 6px;
    border-radius: 4px;
}

.detail-pane#pane-parametry strong { background: #e0f2fe; }
.detail-pane#pane-koszty strong { background: #fee2e2; }
.detail-pane#pane-koszty a { color: var(--primary); font-weight: bold; text-decoration: underline; text-decoration-color: var(--danger); }

.highlight-box {
    background: #ffffff;
    border-left: 4px solid var(--accent);
    padding: 18px 20px;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: #334155;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
    margin-top: 25px;
    line-height: 1.6;
}

.highlight-box strong {
    color: var(--primary);
    background: transparent;
    padding: 0;
    display: block;
    margin-bottom: 5px;
}

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

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-spadki",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Jakie są realne spadki wydajności cieplnej przy zastosowaniu glikolu?",
    "description": "Rozbicie na czynniki inżynieryjne spadków wydajności: obniżenie sprawności oddawania ciepła o 15%, spadek SCOP oraz wzrost kosztów ogrzewania o 400-600 PLN.",
    "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-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-wydajnosc-karty",
    "name": "Fizyczne skutki zastosowania glikolu w ogrzewaniu płaszczyznowym",
    "description": "Zestawienie parametrów przewodności cieplnej (woda vs glikol), wpływu na współczynnik SCOP pompy ciepła oraz realnych kosztów eksploatacji.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Przewodność cieplna wody zdemineralizowanej",
        "value": "0.63",
        "unitText": "W/(m·K)"
      },
      {
        "@type": "PropertyValue",
        "name": "Przewodność cieplna glikolu (30%)",
        "value": "0.48",
        "unitText": "W/(m·K)"
      },
      {
        "@type": "PropertyValue",
        "name": "Spadek współczynnika SCOP",
        "value": "0.3",
        "unitText": "punktu"
      },
      {
        "@type": "PropertyValue",
        "name": "Szacowany roczny wzrost kosztów (dom 150m2)",
        "value": "400 - 600",
        "unitText": "PLN"
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "sprawność oddawania ciepła układu",
      "współczynnik przewodności cieplnej glikolu",
      "podniesienie krzywej grzewczej",
      "koszt zużycia energii elektrycznej",
      "lepkość kinematyczna roztworu"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-wydajnosc-karty",
    "name": "Interaktywna analiza strat cieplnych",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Moduł rozbijający twarde prawa fizyki instalacji na zrozumiałe panele edukacyjne (Sprawność, Parametry, Koszty).",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Analiza spadku przewodności cieplnej czynnika roboczego",
      "Wpływ na modyfikację krzywej grzewczej",
      "Ocena kosztów eksploatacji pomp obiegowych i pomp ciepła"
    ]
  }
]
</script>

<div class="premium-anatomy-box" id="efficiency-anatomy-app-container">
    
    <div class="anatomy-header">
        <h2>Jakie są realne spadki wydajności cieplnej przy zastosowaniu glikolu?</h2>
        <p>Przeanalizujmy twarde dane fizyczne z rozbiciem na trzy kluczowe aspekty projektowe. Sprawdź, jak jedna zmiana w instalacji wpływa na fizykę, parametry zasilania oraz Twój portfel.</p>
    </div>

    <div class="anatomy-workspace">
        
        <div class="anatomy-layers">
            <span style="font-size: 11px; font-weight: 800; color: #94a3b8; text-transform: uppercase; letter-spacing: 1px; text-align: center; margin-bottom: 5px;">Wybierz analizowany aspekt</span>
            
            <button class="layer-btn layer-active" data-target="pane-sprawnosc" data-layer="sprawnosc">
                <span class="layer-icon">📉</span>
                <div>
                    <div class="layer-title">Sprawność Układu</div>
                    <span class="layer-subtitle">Przewodnictwo i SCOP</span>
                </div>
            </button>
            
            <button class="layer-btn" data-target="pane-parametry" data-layer="parametry">
                <span class="layer-icon">🌡️</span>
                <div>
                    <div class="layer-title">Parametry Pracy</div>
                    <span class="layer-subtitle">Krzywa grzewcza</span>
                </div>
            </button>
            
            <button class="layer-btn" data-target="pane-koszty" data-layer="koszty">
                <span class="layer-icon">💸</span>
                <div>
                    <div class="layer-title">Koszty i Hydraulika</div>
                    <span class="layer-subtitle">Rachunki i opory</span>
                </div>
            </button>
        </div>

        <div class="anatomy-details">
            
            <!-- PANEL 1 -->
            <div class="detail-pane pane-active" id="pane-sprawnosc">
                <h4>Fizyka oddawania ciepła</h4>
                <p>Praktyka inżynierska i twarde prawa fizyki są bezwzględne: glikol propylenowy w stężeniu 30% obniża ogólną sprawność oddawania ciepła układu o <strong>12% do 15%</strong>.</p>
                <p>Przy współpracy z pompą ciepła przekłada się to na obniżenie rocznego współczynnika <strong>SCOP o minimum 0,3 punktu</strong>.</p>
                <div class="highlight-box" style="border-left-color: var(--warning);">
                    <strong>Porównanie przewodności cieplnej:</strong>
                    Wynika to bezpośrednio z faktu, że 30% roztwór glikolu charakteryzuje się znacznie gorszym współczynnikiem przewodności cieplnej wynoszącym zaledwie <strong>0,48 W/m·K</strong>, w stosunku do wody zdemineralizowanej osiągającej <strong>0,63 W/m·K</strong>.
                </div>
            </div>

            <!-- PANEL 2 -->
            <div class="detail-pane" id="pane-parametry">
                <h4>Wymuszone wyższe temperatury</h4>
                <p>Konsekwencją gorszego przewodnictwa i mniejszej pojemności cieplnej jest konieczność transportowania większej ilości chłodziwa w jednostce czasu.</p>
                <p>Dla przekazania tej samej ilości energii do wylewki betonowej, system musi pracować na wyższych parametrach.</p>
                <div class="highlight-box" style="border-left-color: var(--accent);">
                    <strong>Skutek dla automatyki kotłowni:</strong>
                    Zmusza to inwestora do modyfikacji nastaw i <strong>podniesienia krzywej grzewczej</strong> na źródle ciepła o <strong>1 do 3°C</strong>.
                </div>
            </div>

            <!-- PANEL 3 -->
            <div class="detail-pane" id="pane-koszty">
                <h4>Eksploatacja i opory przepływu</h4>
                <p>To bezpośrednio uderza po kieszeni. W skali sezonu grzewczego dla domu 150 m², taka zmiana generuje dodatkowy koszt rzędu <strong>400 - 600 PLN</strong> z tytułu wyższego zużycia energii elektrycznej.</p>
                <div class="highlight-box" style="border-left-color: var(--danger);">
                    <strong>Zagrożenie hydrauliczne:</strong>
                    Dodatkowo, lepkość kinematyczna roztworu dławi swobodny przepływ, uniemożliwiając osiągnięcie wymaganych 2,5 l/min bez montażu znacznie droższej i przewymiarowanej <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>.
                </div>
            </div>

        </div>
    </div>
    
    <noscript>
        <style>
            /* Ujawnienie wszystkich zakładek, gdy JavaScript jest wyłączony */
            .detail-pane { display: block !important; margin-bottom: 40px; }
        </style>
        <div style="padding: 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 18px; color: #0f172a; margin-bottom: 15px;">Zestawienie parametrów (Wersja tekstowa)</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Czynnik</th>
                        <th style="padding: 10px 0; color: #475569;">Parametr wody</th>
                        <th style="padding: 10px 0; color: #475569;">Parametr glikolu (30%)</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">Przewodność cieplna</td>
                        <td style="padding: 10px 0; color: #16a34a; font-weight:bold;">0,63 W/m·K</td>
                        <td style="padding: 10px 0; color: #dc2626; font-weight:bold;">0,48 W/m·K</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0; font-weight: bold;">Krzywa grzewcza</td>
                        <td style="padding: 10px 0;">Baza projektowa</td>
                        <td style="padding: 10px 0;">+1 do +3°C (wyższa temperatura)</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0; font-weight: bold;">Roczny koszt (dom 150m²)</td>
                        <td style="padding: 10px 0;">Optymalny</td>
                        <td style="padding: 10px 0; color: #dc2626; font-weight:bold;">+ 400 - 600 PLN</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

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

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

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

    layerBtns.forEach(function(button) {
        button.addEventListener('click', function(e) {
            e.preventDefault(); 

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

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



<style>
:root {
    --rk-dash-bg: #ffffff;
    --rk-dash-surface: #f8fafc;
    --rk-dash-dark: #0f172a;
    --rk-dash-slate: #334155;
    --rk-dash-water: #0ea5e9; /* Aqua blue for water */
    --rk-dash-water-light: #e0f2fe;
    --rk-dash-glycol: #f59e0b; /* Amber for glycol */
    --rk-dash-glycol-light: #fef3c7;
    --rk-dash-alert: #ef4444;
    --rk-dash-border: #e2e8f0;
    --rk-dash-text: #475569;
}

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

/* Sekcja Nagłówkowa */
.rk-comp-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, #ffffff 0%, var(--rk-dash-surface) 100%);
    border-bottom: 1px solid var(--rk-dash-border);
    position: relative;
}

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

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

/* Przestrzeń Robocza */
.rk-comp-workspace {
    display: flex;
    flex-direction: row;
    min-height: 520px;
}

/* LEWA STRONA - MENU PARAMETRÓW */
.rk-comp-sidebar {
    width: 38%;
    background: var(--rk-dash-bg);
    border-right: 1px solid var(--rk-dash-border);
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

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

.rk-param-btn:hover {
    background: var(--rk-dash-surface);
    border-color: #cbd5e1;
    transform: translateX(4px);
}

.rk-param-btn.active {
    background: var(--rk-dash-dark);
    border-color: var(--rk-dash-dark);
    color: #ffffff;
    box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.2);
    transform: translateX(8px);
}

.rk-param-icon {
    font-size: 24px;
    filter: grayscale(1);
    transition: all 0.3s;
}

.rk-param-btn.active .rk-param-icon {
    filter: grayscale(0);
    transform: scale(1.1);
}

.rk-param-text {
    display: flex;
    flex-direction: column;
}

.rk-param-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-dash-dark);
    transition: color 0.3s;
}

.rk-param-btn.active .rk-param-title {
    color: #ffffff;
}

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

/* PRAWA STRONA - PANELE SZCZEGÓŁÓW */
.rk-comp-display {
    width: 62%;
    background: var(--rk-dash-surface);
    padding: 40px;
    position: relative;
}

.rk-param-pane {
    display: none;
    animation: fadeScale 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.rk-param-pane.pane-active {
    display: block;
}

@keyframes fadeScale {
    0% { opacity: 0; transform: translateY(15px) scale(0.98); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

.rk-pane-header {
    margin-bottom: 25px;
}

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

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

/* Karty Porównawcze */
.rk-vs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}

.rk-vs-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 20px;
    border: 1px solid var(--rk-dash-border);
    position: relative;
    overflow: hidden;
}

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

.rk-vs-card.water::before { background: var(--rk-dash-water); }
.rk-vs-card.glycol::before { background: var(--rk-dash-glycol); }

.rk-vs-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 10px;
    display: block;
}

.rk-vs-value {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-dash-dark);
    margin-bottom: 5px;
}

.rk-vs-unit {
    font-size: 14px;
    color: #94a3b8;
    font-weight: 600;
}

/* Wniosek Inżynieryjny Box */
.rk-engineering-impact {
    background: #ffffff;
    border-radius: 12px;
    padding: 25px;
    border: 1px solid var(--rk-dash-border);
    border-left: 5px solid var(--rk-dash-slate);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-impact-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-dash-dark);
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-impact-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-dash-slate);
    margin: 0;
}

.rk-impact-desc a {
    color: var(--rk-dash-water);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-dash-water);
    transition: all 0.3s;
}

.rk-impact-desc a:hover {
    color: var(--rk-dash-dark);
    border-bottom-color: var(--rk-dash-dark);
}

/* SVG Animacje specyficzne dla paneli */
.rk-anim-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 15px;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-comp-header { padding: 30px 20px; }
    .rk-comp-workspace { flex-direction: column; }
    .rk-comp-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-dash-border); padding: 20px; }
    .rk-comp-display { width: 100%; padding: 30px 20px; }
    .rk-vs-grid { grid-template-columns: 1fr; gap: 15px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-zestawienie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Jak parametry fizykochemiczne glikolu wypadają na tle wody?",
    "description": "Techniczne zestawienie termodynamiczne. Analiza dlaczego woda demineralizowana deklasuje glikol propylenowy w instalacjach C.O. (lepkość, pojemność cieplna, rozszerzalność).",
    "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-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-zestawienie",
    "name": "Tabela właściwości fizykochemicznych: Woda vs Glikol Propylenowy (30%)",
    "description": "Zestawienie kluczowych parametrów płynów roboczych w temperaturze 40°C dla instalacji płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "parametry fizykochemiczne glikolu",
      "lepkość dynamiczna podłogówki",
      "pojemność cieplna wody i glikolu",
      "dobór naczynia wzbiorczego glikol",
      "woda demineralizowana właściwości"
    ],
    "measurementTechnique": "Pomiary fizykochemiczne w temperaturze zasilania rzędu 40°C.",
    "variableMeasured": [
      { "@type": "PropertyValue", "name": "Temperatura krzepnięcia Glikol 30%", "value": "-15", "unitText": "°C" },
      { "@type": "PropertyValue", "name": "Ciepło właściwe (Woda)", "value": "4.18", "unitText": "kJ/kg·K" },
      { "@type": "PropertyValue", "name": "Lepkość dynamiczna (Glikol 30%)", "value": "1.2", "unitText": "mPa·s" },
      { "@type": "PropertyValue", "name": "Przewodność cieplna (Woda)", "value": "0.63", "unitText": "W/m·K" },
      { "@type": "PropertyValue", "name": "Rozszerzalność objętościowa (Glikol 30%)", "value": "0.00055", "unitText": "1/K" }
    ],
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Lepkość glikolu jest o ok. 80% wyższa, co dławi przepływy.",
        "Pojemność cieplna glikolu wymusza podbicie temperatury zasilania.",
        "Większa rozszerzalność glikolu wymaga większego naczynia przeponowego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-eksplorator",
    "name": "Eksplorator Parametrów Termodynamicznych",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywny moduł edukacyjny pozwalający na porównanie wpływu pięciu kluczowych parametrów fizykochemicznych na pracę instalacji c.o.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Analiza lepkości kinematycznej",
      "Obliczenia pojemności cieplnej",
      "Wpływ rozszerzalności na naczynia wzbiorcze"
    ]
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-compare-module" id="thermo-explorer-app">
    
    <div class="rk-comp-header">
        <h2>Jak parametry fizykochemiczne glikolu wypadają na tle wody?</h2>
        <p>
            Woda demineralizowana deklasuje roztwory glikolowe pod każdym względem termodynamicznym. Zgodnie z charakterystykami płynów roboczych w temperaturze zasilania rzędu 40°C, <strong>różnice w lepkości przekraczają 80%</strong>, co całkowicie zmienia charakterystykę pracy układu hydraulicznego i przesuwa punkt pracy pompy poza jej optymalną krzywą efektywności.
        </p>
    </div>

    <div class="rk-comp-workspace">
        
        <!-- MENU -->
        <div class="rk-comp-sidebar">
            <div style="font-size: 11px; font-weight: 800; color: #94a3b8; text-transform: uppercase; margin-bottom: 5px;">Wybierz parametr do analizy</div>
            
            <button class="rk-param-btn active" data-target="pane-krzepniecie">
                <span class="rk-param-icon">❄️</span>
                <div class="rk-param-text">
                    <span class="rk-param-title">Temp. Krzepnięcia</span>
                    <span class="rk-param-sub">Ochrona przed mrozem</span>
                </div>
            </button>
            
            <button class="rk-param-btn" data-target="pane-pojemnosc">
                <span class="rk-param-icon">🔥</span>
                <div class="rk-param-text">
                    <span class="rk-param-title">Ciepło Właściwe (Cp)</span>
                    <span class="rk-param-sub">Zdolność magazynowania ciepła</span>
                </div>
            </button>
            
            <button class="rk-param-btn" data-target="pane-lepkosc">
                <span class="rk-param-icon">🍯</span>
                <div class="rk-param-text">
                    <span class="rk-param-title">Lepkość Dynamiczna</span>
                    <span class="rk-param-sub">Opory tłoczenia</span>
                </div>
            </button>
            
            <button class="rk-param-btn" data-target="pane-przewodnosc">
                <span class="rk-param-icon">⚡</span>
                <div class="rk-param-text">
                    <span class="rk-param-title">Przewodność Cieplna</span>
                    <span class="rk-param-sub">Emisja do jastrychu</span>
                </div>
            </button>

            <button class="rk-param-btn" data-target="pane-rozszerzalnosc">
                <span class="rk-param-icon">🎈</span>
                <div class="rk-param-text">
                    <span class="rk-param-title">Rozszerzalność</span>
                    <span class="rk-param-sub">Przyrost objętościowy</span>
                </div>
            </button>
        </div>

        <!-- PANELE -->
        <div class="rk-comp-display">
            
            <!-- PANEL 1: KRZEPNIĘCIE -->
            <div class="rk-param-pane pane-active" id="pane-krzepniecie">
                <div class="rk-pane-header">
                    <h3>Temperatura Krzepnięcia</h3>
                    <p>Jedyny parametr, w którym glikol wygrywa. Decyduje o bezpieczeństwie instalacji w budynkach nieogrzewanych ciągle.</p>
                </div>
                
                <div class="rk-vs-grid">
                    <div class="rk-vs-card water">
                        <span class="rk-vs-label">Woda (zdemineralizowana)</span>
                        <div class="rk-vs-value">0 <span class="rk-vs-unit">°C</span></div>
                    </div>
                    <div class="rk-vs-card glycol">
                        <span class="rk-vs-label">Glikol (30% PG)</span>
                        <div class="rk-vs-value">-15 <span class="rk-vs-unit">°C</span></div>
                    </div>
                </div>

                <div class="rk-engineering-impact" style="border-left-color: var(--rk-dash-glycol);">
                    <div class="rk-impact-title">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                        Skutek inżynieryjny w projekcie
                    </div>
                    <p class="rk-impact-desc">Zabezpieczenie przed rozsadzeniem rur w obiektach okresowo grzanych (domki letniskowe, hale). W domach całorocznych – parametr całkowicie zbędny.</p>
                </div>
            </div>

            <!-- PANEL 2: POJEMNOŚĆ -->
            <div class="rk-param-pane" id="pane-pojemnosc">
                <div class="rk-pane-header">
                    <h3>Ciepło Właściwe (Pojemność Cp)</h3>
                    <p>Wskazuje, ile energii (w kilodżulach) może przenieść 1 kg płynu. Glikol przenosi znacznie mniej ciepła niż woda.</p>
                </div>
                
                <div class="rk-vs-grid">
                    <div class="rk-vs-card water">
                        <span class="rk-vs-label">Woda</span>
                        <div class="rk-vs-value">4,18 <span class="rk-vs-unit">kJ/kg·K</span></div>
                    </div>
                    <div class="rk-vs-card glycol">
                        <span class="rk-vs-label">Glikol (30% PG)</span>
                        <div class="rk-vs-value">~3,60 <span class="rk-vs-unit">kJ/kg·K</span></div>
                    </div>
                </div>

                <div class="rk-engineering-impact" style="border-left-color: var(--rk-dash-alert);">
                    <div class="rk-impact-title">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                        Skutek inżynieryjny w projekcie
                    </div>
                    <p class="rk-impact-desc">Niższa pojemność wymusza na instalacji przetłoczenie <strong>większego zładu czynnika</strong> w tym samym czasie lub podbicie parametru zasilania poprzez korektę <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywej grzewczej</a>.</p>
                </div>
            </div>

            <!-- PANEL 3: LEPKOŚĆ -->
            <div class="rk-param-pane" id="pane-lepkosc">
                <div class="rk-pane-header">
                    <h3>Lepkość Dynamiczna (przy 40°C)</h3>
                    <p>Opisuje tarcie wewnętrzne płynu. Glikol jest "gęstszy" i bardziej lepki (o ponad 80%!), co dramatycznie utrudnia jego pompowanie.</p>
                </div>
                
                <div class="rk-vs-grid">
                    <div class="rk-vs-card water">
                        <span class="rk-vs-label">Woda</span>
                        <div class="rk-vs-value">0,65 <span class="rk-vs-unit">mPa·s</span></div>
                    </div>
                    <div class="rk-vs-card glycol">
                        <span class="rk-vs-label">Glikol (30% PG)</span>
                        <div class="rk-vs-value">~1,20 <span class="rk-vs-unit">mPa·s</span></div>
                    </div>
                </div>

                <div class="rk-engineering-impact" style="border-left-color: var(--rk-dash-alert);">
                    <div class="rk-impact-title">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                        Skutek inżynieryjny w projekcie
                    </div>
                    <p class="rk-impact-desc">Wyższe opory tłoczenia wężownic (rzędu 20-30%). Wymusza to dławienie przepływów na <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrach</a> i nierzadko konieczność zakupu mocniejszej <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>.</p>
                </div>
            </div>

            <!-- PANEL 4: PRZEWODNOŚĆ -->
            <div class="rk-param-pane" id="pane-przewodnosc">
                <div class="rk-pane-header">
                    <h3>Przewodność Cieplna</h3>
                    <p>Parametr określający, jak chętnie i szybko czynnik oddaje zgromadzoną energię do ścianek rury PEX, a następnie do betonu.</p>
                </div>
                
                <div class="rk-vs-grid">
                    <div class="rk-vs-card water">
                        <span class="rk-vs-label">Woda</span>
                        <div class="rk-vs-value">0,63 <span class="rk-vs-unit">W/m·K</span></div>
                    </div>
                    <div class="rk-vs-card glycol">
                        <span class="rk-vs-label">Glikol (30% PG)</span>
                        <div class="rk-vs-value">~0,48 <span class="rk-vs-unit">W/m·K</span></div>
                    </div>
                </div>

                <div class="rk-engineering-impact" style="border-left-color: var(--rk-dash-alert);">
                    <div class="rk-impact-title">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        Skutek inżynieryjny w projekcie
                    </div>
                    <p class="rk-impact-desc">Ograniczona i spowolniona emisja ciepła z rury do jastrychu betonowego, prowadząca do mniejszej wydajności cieplnej metra kwadratowego podłogi.</p>
                </div>
            </div>

            <!-- PANEL 5: ROZSZERZALNOŚĆ -->
            <div class="rk-param-pane" id="pane-rozszerzalnosc">
                <div class="rk-pane-header">
                    <h3>Rozszerzalność Objętościowa</h3>
                    <p>Każdy płyn zwiększa swoją objętość pod wpływem ciepła. Mieszanki glikolowe "puchną" ponad 2.5-krotnie bardziej niż czysta woda.</p>
                </div>
                
                <div class="rk-vs-grid">
                    <div class="rk-vs-card water">
                        <span class="rk-vs-label">Woda</span>
                        <div class="rk-vs-value">0,00021 <span class="rk-vs-unit">1/K</span></div>
                    </div>
                    <div class="rk-vs-card glycol">
                        <span class="rk-vs-label">Glikol (30% PG)</span>
                        <div class="rk-vs-value">0,00055 <span class="rk-vs-unit">1/K</span></div>
                    </div>
                </div>

                <div class="rk-engineering-impact" style="border-left-color: var(--rk-dash-slate);">
                    <div class="rk-impact-title">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M8 12h8M12 8v8"></path></svg>
                        Skutek inżynieryjny w projekcie
                    </div>
                    <p class="rk-impact-desc">Konieczność przeliczenia i montażu przewymiarowanego <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynia przeponowego (wzbiorczego)</a> o większej pojemności użytecznej, aby zapobiec skokom ciśnienia.</p>
                </div>
            </div>

        </div>
    </div>
    
    <noscript>
        <div style="padding: 30px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h3 style="font-size: 18px; color: #0f172a; margin-bottom: 15px;">Zestawienie parametrów fizykochemicznych (Wersja tekstowa)</h3>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 5px; color: #475569;">Parametr (przy 40°C)</th>
                        <th style="padding: 10px 5px; color: #475569;">Woda demineralizowana</th>
                        <th style="padding: 10px 5px; color: #475569;">Glikol Propylenowy 30%</th>
                        <th style="padding: 10px 5px; color: #475569;">Skutek inżynieryjny</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 5px; font-weight: bold;">Temperatura krzepnięcia</td>
                        <td style="padding: 10px 5px;">0°C</td>
                        <td style="padding: 10px 5px;">ok. -15°C</td>
                        <td style="padding: 10px 5px;">Zabezpieczenie obiektów okresowo grzanych.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 5px; font-weight: bold;">Ciepło właściwe</td>
                        <td style="padding: 10px 5px;">4,18 kJ/kg·K</td>
                        <td style="padding: 10px 5px;">~3,6 kJ/kg·K</td>
                        <td style="padding: 10px 5px;">Wymuszony większy zład lub podbicie temperatury.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 5px; font-weight: bold;">Lepkość dynamiczna</td>
                        <td style="padding: 10px 5px;">0,65 mPa·s</td>
                        <td style="padding: 10px 5px;">~1,2 mPa·s</td>
                        <td style="padding: 10px 5px;">Wyższe opory tłoczenia i dławienie rotametrów.</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 5px; font-weight: bold;">Przewodność cieplna</td>
                        <td style="padding: 10px 5px;">0,63 W/m·K</td>
                        <td style="padding: 10px 5px;">~0,48 W/m·K</td>
                        <td style="padding: 10px 5px;">Ograniczona emisja ciepła z rury do betonu.</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 5px; font-weight: bold;">Rozszerzalność obj.</td>
                        <td style="padding: 10px 5px;">0,00021 / K</td>
                        <td style="padding: 10px 5px;">0,00055 / K</td>
                        <td style="padding: 10px 5px;">Konieczność montażu większego naczynia wzbiorczego.</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
function initThermoExplorerTabs() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const lockContainer = document.getElementById('thermo-explorer-app');
        if (lockContainer) {
            lockContainer.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #0f172a; color: #ef4444; border: 2px dashed #dc2626; border-radius: 20px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px; display: block;">🛡️</span>
                    <h3 style="margin-top:0; font-size: 24px;">Zabezpieczenie Domenowe</h3>
                    <p style="font-size: 16px; max-width: 500px; color: #cbd5e1; line-height: 1.5; margin: 0 auto;">Ten interaktywny eksplorator parametrów termodynamicznych jest chroniony prawem autorskim serwisu Projekt-Ogrzewania.pl.</p>
                </div>
            `;
        }
        return; 
    }

    const appContainer = document.getElementById('thermo-explorer-app');
    if (!appContainer) return;

    const btns = appContainer.querySelectorAll('.rk-param-btn');
    const panes = appContainer.querySelectorAll('.rk-param-pane');

    btns.forEach(function(button) {
        button.addEventListener('click', function(e) {
            e.preventDefault(); 

            // Usuwanie klasy aktywnej ze wszystkich przycisków
            btns.forEach(function(btn) { btn.classList.remove('active'); });
            
            // Usuwanie klasy aktywnej ze wszystkich paneli
            panes.forEach(function(pane) { pane.classList.remove('pane-active'); });
            
            // Dodawanie klasy do klikniętego przycisku
            this.classList.add('active');
            
            // Pokazywanie powiązanego panelu
            const targetId = this.getAttribute('data-target');
            const targetPane = appContainer.querySelector('#' + targetId);
            if(targetPane) {
                targetPane.classList.add('pane-active');
            }
        });
    });
}

// Uruchomienie skryptu w sposób bezpieczny dla CMS
if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initThermoExplorerTabs);
} else {
    initThermoExplorerTabs();
}
</script>



<style>
:root {
    --rk-calc-bg: #ffffff;
    --rk-calc-surface: #f8fafc;
    --rk-calc-dark: #0f172a;
    --rk-calc-slate: #334155;
    --rk-calc-water: #0ea5e9;
    --rk-calc-glycol: #f59e0b;
    --rk-calc-alert: #ef4444;
    --rk-calc-border: #e2e8f0;
    --rk-calc-text: #475569;
    --rk-calc-radius: 20px;
}

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

/* Header */
.rk-alg-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #1e293b 100%);
    color: #ffffff;
    position: relative;
}

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

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

.rk-alg-header a {
    color: #7dd3fc;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Dashboard & Controls */
.rk-alg-dashboard {
    padding: 40px 45px;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-calc-border);
}

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

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

.rk-control-group {
    margin-bottom: 25px;
}

.rk-control-group:last-child {
    margin-bottom: 0;
}

.rk-control-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-calc-slate);
}

.rk-control-val {
    color: var(--rk-calc-water);
    font-size: 16px;
    font-weight: 900;
}

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

.rk-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-calc-water);
    cursor: pointer;
    border: 4px solid #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}

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

/* Visualizer */
.rk-visual-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}

.rk-pipe-sim {
    background: var(--rk-calc-surface);
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    padding: 20px;
    position: relative;
    overflow: hidden;
}

.rk-pipe-sim.sim-water { border-left: 4px solid var(--rk-calc-water); }
.rk-pipe-sim.sim-glycol { border-left: 4px solid var(--rk-calc-glycol); }

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

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

.rk-sim-result {
    font-size: 22px;
    font-weight: 900;
}
.sim-water .rk-sim-result { color: var(--rk-calc-water); }
.sim-glycol .rk-sim-result { color: var(--rk-calc-glycol); }

.rk-svg-pipe {
    width: 100%;
    height: 24px;
    background: #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}

.anim-flow {
    stroke-dasharray: 10 10;
    animation: flowAnim linear infinite;
}
.sim-water .anim-flow { stroke: var(--rk-calc-water); animation-duration: 1.5s; stroke-width: 24;}
.sim-glycol .anim-flow { stroke: var(--rk-calc-glycol); animation-duration: 3s; stroke-width: 24;}

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

/* Dynamic Algorithm Section */
.rk-alg-steps {
    padding: 40px 45px;
    background: var(--rk-calc-surface);
}

.rk-alg-steps h3 {
    margin: 0 0 25px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-calc-dark);
}

.rk-step {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 12px;
    padding: 20px 25px;
    margin-bottom: 15px;
    position: relative;
    padding-left: 60px;
    transition: all 0.3s;
}

.rk-step:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.rk-step-num {
    position: absolute;
    left: 15px;
    top: 20px;
    width: 30px;
    height: 30px;
    background: var(--rk-calc-slate);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 14px;
}

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

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

.rk-step p a {
    color: var(--rk-calc-water);
    font-weight: 600;
}

.rk-formula {
    background: var(--rk-calc-surface);
    padding: 10px 15px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 15px;
    color: var(--rk-calc-dark);
    font-weight: bold;
    border: 1px dashed #cbd5e1;
    display: inline-block;
    margin: 5px 0;
}

.rk-dynamic-val {
    background: #ffedd5;
    color: #c2410c;
    padding: 1px 5px;
    border-radius: 4px;
    font-weight: 800;
    transition: all 0.3s;
}

.rk-alert-step {
    border-color: var(--rk-calc-alert);
    background: #fef2f2;
}

.rk-alert-step .rk-step-num {
    background: var(--rk-calc-alert);
}

@media (max-width: 768px) {
    .rk-alg-header, .rk-alg-dashboard, .rk-alg-steps { padding: 30px 20px; }
    .rk-alg-dashboard { grid-template-columns: 1fr; gap: 30px; }
    .rk-step { padding: 20px; padding-left: 20px; padding-top: 55px; }
    .rk-step-num { top: 15px; left: 20px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-algorytm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Jak krok po kroku obliczyć wpływ glikolu na przepływ i moc grzewczą?",
    "description": "Algorytm inżynierski do obliczania wymaganego strumienia objętościowego czynnika. Zobacz jak gęstość i ciepło właściwe roztworu 30% glikolu wymusza zwiększenie przepływu i dławi pompy obiegowe.",
    "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-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-algorytm",
    "name": "Zmienne termodynamiczne dla obliczeń strumienia objętościowego",
    "description": "Zestawienie stałych fizycznych dla wody (35°C) oraz roztworu glikolu propylenowego (30% w 20°C) wykorzystywanych do doboru nastaw na rotametrach.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "algorytm obliczania przepływu podłogówki",
      "ciepło właściwe czynnika",
      "gęstość roztworu glikolu 1035 kg/m3",
      "straty ciśnienia w rurach PEX",
      "dobór pompy obiegowej"
    ],
    "measurementTechnique": "Algorytm oparty na wzorze z mechaniki płynów: V = Q / (Cp × ρ × ΔT), służący do weryfikacji oporów hydraulicznych w obiegach grzewczych.",
    "variableMeasured": [
      { "@type": "PropertyValue", "name": "Ciepło właściwe wody (Cpw)", "value": "4.18", "unitText": "kJ/kg·K" },
      { "@type": "PropertyValue", "name": "Gęstość wody (ρw)", "value": "988", "unitText": "kg/m³" },
      { "@type": "PropertyValue", "name": "Ciepło właściwe glikolu (Cpg)", "value": "3.6", "unitText": "kJ/kg·K" },
      { "@type": "PropertyValue", "name": "Gęstość glikolu (ρg)", "value": "1035", "unitText": "kg/m³" }
    ],
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymagany przepływ glikolu jest o 11% wyższy niż dla wody.",
        "Wyższy przepływ i lepkość glikolu generują wzrost oporów hydraulicznych o 22-25%.",
        "Wymaga to zastosowania pomp obiegowych o wysokości podnoszenia 6m - 8m zamiast standardowych 4m."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-algorytm",
    "name": "Kalkulator Inżynierski: Wpływ Glikolu na Przepływ",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywny algorytm obliczający w czasie rzeczywistym wymaganą wartość strumienia objętościowego dla zadanego zapotrzebowania na ciepło (Q) oraz spadku temperatury (Delta T).",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Dynamiczne przeliczanie przepływów Vw i Vg",
      "Wizualizacja prędkości w wężownicach",
      "Automatyczna ocena ubytku wydajności hydraulicznej"
    ]
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-alg-container" id="rk-flow-calc-app">
    
    <!-- Nagłówek -->
    <div class="rk-alg-header">
        <h2>Jak krok po kroku obliczyć wpływ glikolu na przepływ i moc grzewczą?</h2>
        <p>
            Zastosowanie płynu niezamarzającego wymusza całkowitą zmianę podejścia do <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">doboru pomp obiegowych</a> i obliczania nastaw na <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrach</a>. Zgodnie z zasadami mechaniki płynów, wymagany strumień objętościowy musi wzrosnąć wprost proporcjonalnie do spadku ciepła właściwego czynnika i zmiany jego gęstości, która dla 30% roztworu wynosi aż <strong>1035 kg/m³</strong>.
        </p>
    </div>

    <!-- Panel Sterowania i Wizualizacja -->
    <div class="rk-alg-dashboard">
        
        <div class="rk-controls-panel">
            <h3>Parametry Projektowe</h3>
            
            <div class="rk-control-group">
                <div class="rk-control-header">
                    <span>Moc grzewcza pętli / pokoju (Q)</span>
                    <span class="rk-control-val" id="val-q-display">2.5 kW</span>
                </div>
                <input type="range" id="input-q" class="rk-range-input" min="0.5" max="5.0" step="0.1" value="2.5">
            </div>

            <div class="rk-control-group">
                <div class="rk-control-header">
                    <span>Projektowa Delta T (ΔT)</span>
                    <span class="rk-control-val" id="val-dt-display">5 K</span>
                </div>
                <input type="range" id="input-dt" class="rk-range-input" min="3" max="10" step="1" value="5">
                <div style="font-size: 11px; color: #94a3b8; margin-top: 5px;">Różnica <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/" style="color:inherit;">temperatury zasilania i powrotu</a></div>
            </div>
        </div>

        <div class="rk-visual-panel">
            
            <div class="rk-pipe-sim sim-water">
                <div class="rk-sim-header">
                    <span class="rk-sim-title">Przepływ - Czysta Woda</span>
                    <span class="rk-sim-result" id="res-water">435 l/h</span>
                </div>
                <svg class="rk-svg-pipe" viewBox="0 0 100 24" preserveAspectRatio="none">
                    <line x1="0" y1="12" x2="100" y2="12" class="anim-flow" />
                </svg>
            </div>

            <div class="rk-pipe-sim sim-glycol">
                <div class="rk-sim-header">
                    <span class="rk-sim-title">Przepływ - Glikol 30%</span>
                    <span class="rk-sim-result" id="res-glycol">483 l/h</span>
                </div>
                <svg class="rk-svg-pipe" viewBox="0 0 100 24" preserveAspectRatio="none">
                    <line x1="0" y1="12" x2="100" y2="12" class="anim-flow" id="anim-glycol" />
                </svg>
            </div>

        </div>
    </div>

    <!-- Dynamiczny Algorytm -->
    <div class="rk-alg-steps">
        <h3>Algorytm obliczania skorygowanego przepływu (Kalkulator inżynierski):</h3>

        <div class="rk-step">
            <div class="rk-step-num">1</div>
            <h4>Określenie zapotrzebowania na ciepło (Q)</h4>
            <p>Bierzemy dane z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczeń OZC</a>. W naszym przypadku zapotrzebowanie to <strong><span class="rk-dynamic-val" id="dyn-q">2500</span> W</strong>.</p>
            <p>Zakładamy projektowy spadek temperatury (ΔT) na poziomie <strong><span class="rk-dynamic-val" id="dyn-dt">5</span> K</strong>.</p>
        </div>

        <div class="rk-step">
            <div class="rk-step-num">2</div>
            <h4>Wyznaczenie przepływu bazowego (Woda)</h4>
            <p>Wzór: <span class="rk-formula">V<sub>w</sub> = Q / (C<sub>pw</sub> × ρ<sub>w</sub> × ΔT)</span></p>
            <p>Gdzie C<sub>pw</sub> = 4,18 kJ/kg·K (ciepło właściwe), a ρ<sub>w</sub> = 988 kg/m³ (gęstość).</p>
            <p>Obliczenia: V<sub>w</sub> = <span id="dyn-q2">2.5</span> / (4.18 × 988 × <span id="dyn-dt2">5</span> / 3600) = <strong><span class="rk-dynamic-val" id="dyn-vw">0.435</span> m³/h</strong> (czyli <span id="dyn-vw-l">435</span> l/h).</p>
        </div>

        <div class="rk-step">
            <div class="rk-step-num">3</div>
            <h4>Wyznaczenie przepływu skorygowanego (Glikol 30%)</h4>
            <p>Wzór: <span class="rk-formula">V<sub>g</sub> = Q / (C<sub>pg</sub> × ρ<sub>g</sub> × ΔT)</span></p>
            <p>Gdzie C<sub>pg</sub> = 3,6 kJ/kg·K, a ρ<sub>g</sub> = 1035 kg/m³.</p>
            <p>Obliczenia: V<sub>g</sub> = <span id="dyn-q3">2.5</span> / (3.6 × 1035 × <span id="dyn-dt3">5</span> / 3600) = <strong><span class="rk-dynamic-val" id="dyn-vg">0.483</span> m³/h</strong> (czyli <span id="dyn-vg-l">483</span> l/h).</p>
        </div>

        <div class="rk-step rk-alert-step">
            <div class="rk-step-num">4</div>
            <h4>Analiza ubytku wydajności hydraulicznej</h4>
            <p>Stosunek wymaganego przepływu glikolu względem wody rośnie. Instalacja wymaga przetłoczenia o <strong><span class="rk-dynamic-val" style="background:#fecaca; color:#991b1b;">11%</span> więcej czynnika</strong> (<span id="dyn-vg2">0.483</span> vs <span id="dyn-vw2">0.435</span> m³/h).</p>
            <p>To bezpośrednio generuje wyższe straty ciśnienia w rurach PEX 16x2.0 (wzrost oporów o ok. 22-25% ze względu na gęstość i lepkość), co bezwzględnie zmusza do podniesienia wartości podnoszenia słupa wody dla pompy z typowych 4 metrów na <strong>6 lub nawet 8 metrów</strong>.</p>
        </div>

    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Zgodnie z wytycznymi - brak H2/H3)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-flow-calc-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Ten kalkulator inżynierski oraz jego struktura JSON-LD są własnością serwisu Projekt-Ogrzewania.pl. Wykryto próbę uruchomienia na nieautoryzowanej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Kalkulatora i DOM
    const inputQ = document.getElementById('input-q');
    const inputDT = document.getElementById('input-dt');
    
    // Displays
    const dispQ = document.getElementById('val-q-display');
    const dispDT = document.getElementById('val-dt-display');
    const resWater = document.getElementById('res-water');
    const resGlycol = document.getElementById('res-glycol');
    
    // Dynamic Algorithm Texts
    const dynQ = document.getElementById('dyn-q');
    const dynDT = document.getElementById('dyn-dt');
    const dynQ2 = document.getElementById('dyn-q2');
    const dynDT2 = document.getElementById('dyn-dt2');
    const dynVW = document.getElementById('dyn-vw');
    const dynVWL = document.getElementById('dyn-vw-l');
    const dynQ3 = document.getElementById('dyn-q3');
    const dynDT3 = document.getElementById('dyn-dt3');
    const dynVG = document.getElementById('dyn-vg');
    const dynVGL = document.getElementById('dyn-vg-l');
    const dynVW2 = document.getElementById('dyn-vw2');
    const dynVG2 = document.getElementById('dyn-vg2');

    // Constants
    const Cpw = 4.18;
    const rhow = 988;
    const Cpg = 3.6;
    const rhog = 1035;

    function updateCalculator() {
        let q_kW = parseFloat(inputQ.value);
        let dt = parseFloat(inputDT.value);

        // Update basic displays
        dispQ.innerText = q_kW.toFixed(1) + ' kW';
        dispDT.innerText = dt + ' K';

        // Math: V = Q / (Cp * rho * dT / 3600)  [m3/h]
        let divisorWater = (Cpw * rhow * dt) / 3600;
        let vWater_m3 = q_kW / divisorWater;
        let vWater_l = Math.round(vWater_m3 * 1000);

        let divisorGlycol = (Cpg * rhog * dt) / 3600;
        let vGlycol_m3 = q_kW / divisorGlycol;
        let vGlycol_l = Math.round(vGlycol_m3 * 1000);

        // Update Visuals
        resWater.innerText = vWater_l + ' l/h';
        resGlycol.innerText = vGlycol_l + ' l/h';

        // Update Algorithm Text
        dynQ.innerText = (q_kW * 1000).toFixed(0);
        dynDT.innerText = dt;
        
        dynQ2.innerText = q_kW.toFixed(1);
        dynDT2.innerText = dt;
        dynVW.innerText = vWater_m3.toFixed(3);
        dynVWL.innerText = vWater_l;
        dynVW2.innerText = vWater_m3.toFixed(3);

        dynQ3.innerText = q_kW.toFixed(1);
        dynDT3.innerText = dt;
        dynVG.innerText = vGlycol_m3.toFixed(3);
        dynVGL.innerText = vGlycol_l;
        dynVG2.innerText = vGlycol_m3.toFixed(3);
        
        // Adjust animation speed based on flow (just a visual touch)
        // Faster flow = smaller duration. Base duration 3s.
        let baseSpeed = 3;
        let speedMod = 483 / (vGlycol_l > 0 ? vGlycol_l : 1); 
        let newDuration = Math.max(0.5, baseSpeed * speedMod);
        document.getElementById('anim-glycol').style.animationDuration = newDuration + 's';
    }

    // Listeners
    inputQ.addEventListener('input', updateCalculator);
    inputDT.addEventListener('input', updateCalculator);

    // Initial load
    updateCalculator();
});
</script>



<style>
:root {
    --rk-err-bg: #ffffff;
    --rk-err-surface: #f8fafc;
    --rk-err-dark: #1e1b4b; /* Głęboki granat/fiolet */
    --rk-err-panel: #312e81;
    --rk-err-accent: #6366f1; /* Indigo */
    --rk-err-danger: #e11d48; /* Karmazyn */
    --rk-err-warning: #ea580c; /* Pomarańcz */
    --rk-err-success: #10b981; /* Szmaragd */
    --rk-err-text: #475569;
    --rk-err-border: #e2e8f0;
}

.rk-error-module {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', system-ui, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(30, 27, 75, 0.15);
    border: 1px solid var(--rk-err-accent);
    overflow: hidden;
}

/* Sekcja Treściowa */
.rk-err-header {
    padding: 45px 50px 35px;
    background: linear-gradient(145deg, #ffffff 0%, #f1f5f9 100%);
    border-bottom: 1px solid var(--rk-err-border);
}

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

.rk-err-paragraph {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-err-text);
    margin-bottom: 20px;
}

.rk-err-paragraph:last-child {
    margin-bottom: 0;
}

.rk-err-highlight {
    background: #e0e7ff;
    color: #4338ca;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
}

/* Moduł Interaktywny - Symulator Degradacji */
.rk-err-interactive {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--rk-err-dark);
    color: #ffffff;
}

/* Lewa Strona - Kontrolki */
.rk-err-controls {
    padding: 40px 45px;
    border-right: 1px solid #4338ca;
}

.rk-err-controls h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
}

.rk-err-controls p.subtitle {
    color: #a5b4fc;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 30px;
}

.rk-err-slider-group {
    margin-bottom: 35px;
}

.rk-err-slider-group:last-child {
    margin-bottom: 0;
}

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

.rk-err-label {
    font-size: 13px;
    font-weight: 700;
    color: #c7d2fe;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-err-value {
    font-size: 18px;
    font-weight: 900;
    color: #ffffff;
    background: var(--rk-err-panel);
    padding: 6px 14px;
    border-radius: 8px;
    border: 1px solid #4f46e5;
    min-width: 40px;
    text-align: center;
}

/* Nowoczesne Suwaki */
.rk-err-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #4338ca;
    border-radius: 4px;
    outline: none;
    transition: background 0.1s;
}

.rk-err-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
    border: 4px solid var(--rk-err-accent);
    box-shadow: 0 0 15px rgba(99, 102, 241, 0.6);
    transition: transform 0.1s;
}

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

/* Dodatkowa informacja pod suwakiem */
.rk-err-slider-note {
    font-size: 12px;
    color: #818cf8;
    margin-top: 10px;
    line-height: 1.4;
}

/* Prawa Strona - Dashboard i Animacja */
.rk-err-dashboard {
    padding: 40px 45px;
    background: var(--rk-err-panel);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Moduł Rury SVG */
.rk-svg-pipe-container {
    width: 100%;
    height: 120px;
    background: rgba(0,0,0,0.2);
    border-radius: 16px;
    border: 1px solid #4338ca;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
}

.rk-pipe-layer {
    transition: all 0.5s ease;
}

/* Stany Animacji */
.rk-status-safe .anim-fluid { fill: rgba(16, 185, 129, 0.4); }
.rk-status-warning .anim-fluid { fill: rgba(234, 88, 12, 0.4); }
.rk-status-critical .anim-fluid { fill: rgba(225, 29, 72, 0.4); }

.anim-particles, .anim-scale, .anim-leaks { opacity: 0; transition: opacity 0.5s; }

.rk-status-warning .anim-scale { opacity: 1; }
.rk-status-critical .anim-scale { opacity: 1; }
.rk-status-critical .anim-particles { opacity: 1; animation: floatParticle 3s infinite linear; }
.rk-status-critical .anim-leaks { opacity: 1; animation: drip 1.5s infinite; }

@keyframes floatParticle {
    0% { transform: translateX(0); }
    100% { transform: translateX(50px); }
}
@keyframes drip {
    0% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(20px); opacity: 0; }
}

/* Tabela Wyników */
.rk-err-results {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-err-result-box {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 15px 20px;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s;
}

.rk-res-label {
    font-size: 13px;
    color: #a5b4fc;
    font-weight: 600;
    text-transform: uppercase;
}

.rk-res-value {
    font-size: 20px;
    font-weight: 900;
}

.res-safe { color: var(--rk-err-success); }
.res-warn { color: var(--rk-err-warning); }
.res-crit { color: var(--rk-err-danger); }

/* Skutek box */
.rk-err-alert-box {
    margin-top: 20px;
    padding: 15px;
    border-radius: 10px;
    background: rgba(225, 29, 72, 0.15);
    border-left: 4px solid var(--rk-err-danger);
    font-size: 14px;
    line-height: 1.5;
    display: none;
}

.rk-status-critical .rk-err-alert-box {
    display: block;
    animation: fadeInSlide 0.4s forwards;
}

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

@media (max-width: 768px) {
    .rk-err-interactive { grid-template-columns: 1fr; }
    .rk-err-header, .rk-err-controls, .rk-err-dashboard { padding: 30px 20px; }
    .rk-err-controls { border-right: none; border-bottom: 1px solid #4338ca; }
    .rk-err-result-box { flex-direction: column; align-items: flex-start; gap: 5px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Jakie błędy instalacyjne generują największe koszty serwisowe przy glikolu?",
    "description": "Dowiedz się, dlaczego twarda woda (>15°dH) i brak kontroli pH glikolu niszczy instalację. Analiza normy VDI 2035, degradacji płynu i kosztów płukania rzędu 3000 PLN.",
    "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-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-bledy",
    "name": "Symulacja kosztów awarii i degradacji glikolu",
    "description": "Dane o spadku odczynu pH, wpływie twardości wody na osady wapienne oraz szacowanych kosztach napraw serwisowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy przy zalewaniu glikolem",
      "norma VDI 2035 twardość wody",
      "płukanie instalacji podłogówki cena",
      "spadek pH glikolu propylenowego",
      "nieszczelności w układzie z glikolem"
    ],
    "measurementTechnique": "Algorytm korelujący czas pracy instalacji (w latach) oraz twardość wody (w st. niemieckich) ze spadkiem skuteczności inhibitorów i występowaniem korozji.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Mieszanie glikolu z wodą > 15°dH natychmiast neutralizuje inhibitory i tworzy osad.",
        "Po 5-8 latach glikol degraduje, odczyn pH spada poniżej 7.0 trawiąc mosiądz.",
        "Chemiczne płukanie instalacji po awarii generuje koszt rzędu 2500 - 3000 PLN."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-bledy",
    "name": "Symulator Degradacji Płynu Grzewczego",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Narzędzie interaktywne demonstrujące proces zakwaszania glikolu i wytrącania kamienia w zależności od twardości wody i czasu eksploatacji.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Wizualizacja zakwaszania zładu (spadek pH)",
      "Symulacja odkładania kamienia w rurach przy naruszeniu normy VDI 2035",
      "Estymacja kosztów chemicznego czyszczenia instalacji"
    ]
  }
]
</script>

<div class="rk-error-module" id="rk-glycol-errors">
    
    <div class="rk-err-header">
        <h2>Jakie błędy instalacyjne generują największe koszty serwisowe?</h2>
        
        <p class="rk-err-paragraph">
            Najpoważniejszym błędem łamiącym wytyczne normy <span class="rk-err-highlight">VDI 2035</span> (dotyczącej zapobiegania szkodom w wodnych instalacjach grzewczych) jest mieszanie koncentratu glikolowego z twardą, surową wodą wodociągową lub studzienną o twardości ogólnej powyżej <strong>15°dH</strong>. Powoduje to natychmiastową reakcję chemiczną i neutralizację pakietu inhibitorów. Zamiast ochrony, fundujemy sobie odkładanie trudnych do usunięcia osadów wapiennych i niemal pewne zablokowanie układów pomiarowych, takich jak <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/" style="color: var(--rk-err-dark); font-weight: 600;">rotametry</a>.
        </p>

        <p class="rk-err-paragraph">
            Kolejnym powszechnym grzechem z listy <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" style="color: var(--rk-err-dark); text-decoration: underline;">błędów instalatorskich</a> jest brak regularnej weryfikacji pH zładu. Glikol z biegiem lat podlega procesowi utleniania i degradacji termicznej. W temperaturach rzędu 40°C proces ten jest spowolniony, jednak po <strong>5-8 latach eksploatacji</strong> odczyn pH może spaść poniżej wartości 7,0. Kwasowy odczyn płynu zaczyna wtedy agresywnie trawić powłoki niklowane, niszczyć elementy mosiężne i zżerać złączki.
        </p>

        <p class="rk-err-paragraph">
            Ignorowanie obowiązku <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/" style="color: var(--rk-err-dark); text-decoration: underline;">serwisowania instalacji</a> i wymiany płynu kończy się kosztownym płukaniem układu z użyciem specjalistycznej chemii, co generuje fakturę rzędu <strong>2500 - 3000 PLN</strong>. Pamiętaj też, że glikol wykazuje wyższe zdolności penetracyjne niż <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/" style="color: var(--rk-err-accent); font-weight: 600; text-decoration: none;">woda</a> – mikronieszczelności, które przy samej wodzie zaszłyby kamieniem i uległy samouszczelnieniu, w obecności glikolu będą nieustannie przeciekać.
        </p>
    </div>

    <div class="rk-err-interactive">
        
        <div class="rk-err-controls">
            <h3>Symulator Awarii</h3>
            <p class="subtitle">Sprawdź, co dzieje się we wnętrzu rur w zależności od jakości wody i czasu eksploatacji układu.</p>
            
            <div class="rk-err-slider-group">
                <div class="rk-err-label-row">
                    <span class="rk-err-label">Czas eksploatacji (Lata)</span>
                    <span class="rk-err-value" id="val-years">0</span>
                </div>
                <input type="range" id="input-years" class="rk-err-range" min="0" max="12" step="1" value="0">
            </div>

            <div class="rk-err-slider-group">
                <div class="rk-err-label-row">
                    <span class="rk-err-label">Twardość wody (°dH)</span>
                    <span class="rk-err-value" id="val-hardness">5</span>
                </div>
                <input type="range" id="input-hardness" class="rk-err-range" min="0" max="30" step="1" value="5">
                <div class="rk-err-slider-note">Norma VDI 2035 nakazuje max 15°dH. Najlepiej stosować wodę demineralizowaną.</div>
            </div>
        </div>

        <div class="rk-err-dashboard rk-status-safe" id="rk-sim-view">
            
            <div class="rk-svg-pipe-container">
                <svg viewBox="0 0 200 60" width="100%" height="100%">
                    <path d="M10 10 L190 10 M10 50 L190 50" stroke="#94a3b8" stroke-width="4" stroke-linecap="round"/>
                    
                    <rect x="15" y="15" width="170" height="30" class="rk-pipe-layer anim-fluid" rx="4"/>
                    
                    <path class="rk-pipe-layer anim-scale" d="M20 45 Q 50 35 80 45 T 140 45 T 180 45 L180 50 L20 50 Z" fill="#cbd5e1" opacity="0.8"/>
                    
                    <circle cx="50" cy="30" r="2" fill="#ef4444" class="rk-pipe-layer anim-particles"/>
                    <circle cx="120" cy="25" r="1.5" fill="#ef4444" class="rk-pipe-layer anim-particles" style="animation-delay: 1s;"/>
                    <circle cx="160" cy="35" r="2.5" fill="#ef4444" class="rk-pipe-layer anim-particles" style="animation-delay: 2s;"/>

                    <path class="rk-pipe-layer anim-leaks" d="M100 52 L100 60" stroke="#38bdf8" stroke-width="2" stroke-linecap="round"/>
                </svg>
            </div>

            <div class="rk-err-results">
                <div class="rk-err-result-box" id="box-ph">
                    <span class="rk-res-label">Odczyn płynu (pH)</span>
                    <span class="rk-res-value res-safe" id="res-ph">8.5 (Zasadowy)</span>
                </div>
                <div class="rk-err-result-box" id="box-status">
                    <span class="rk-res-label">Stan Instalacji</span>
                    <span class="rk-res-value res-safe" id="res-status">Brak osadów</span>
                </div>
                <div class="rk-err-result-box" id="box-cost">
                    <span class="rk-res-label">Szacowany koszt naprawy</span>
                    <span class="rk-res-value res-safe" id="res-cost">0 PLN</span>
                </div>
            </div>

            <div class="rk-err-alert-box">
                <strong>AWARYJNE PŁUKANIE CHEMICZNE:</strong> Glikol uległ zakwaszeniu (pH &lt; 7.0) i zaczął trawić uszczelnienia. Ze względu na wysoką twardość wytrącił się kamień. Wymagane natychmiastowe czyszczenie stacją płuczącą.
            </div>

        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków H2/H3)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-glycol-errors');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #1e1b4b; color: #f43f5e; border: 2px solid #e11d48; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #c7d2fe; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Ten symulator degradacji instalacji oraz podpięty do niego model danych Schema.org stanowią własność Projekt-Ogrzewania.pl. Wykryto użycie kodu poza autoryzowaną domeną.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora
    const inputYears = document.getElementById('input-years');
    const inputHardness = document.getElementById('input-hardness');
    
    const valYears = document.getElementById('val-years');
    const valHardness = document.getElementById('val-hardness');
    
    const resPh = document.getElementById('res-ph');
    const resStatus = document.getElementById('res-status');
    const resCost = document.getElementById('res-cost');
    
    const simView = document.getElementById('rk-sim-view');

    // Funkcja do aktualizacji tła suwaka (efekt wypełnienia)
    function updateSliderFill(slider) {
        // Obliczenie procentowe wypełnienia
        const min = parseFloat(slider.min) || 0;
        const max = parseFloat(slider.max) || 100;
        const val = parseFloat(slider.value);
        const percent = ((val - min) / (max - min)) * 100;

        // Ustawienie tła suwaka
        slider.style.background = `linear-gradient(to right, var(--rk-err-accent) ${percent}%, #4338ca ${percent}%)`;
    }

    function updateSimulation() {
        let years = parseInt(inputYears.value);
        let hardness = parseInt(inputHardness.value);

        // Update labels
        valYears.innerText = years;
        valHardness.innerText = hardness;

        // Update sliders visual fill
        updateSliderFill(inputYears);
        updateSliderFill(inputHardness);

        // Logika pH (Base 8.5. Drops slightly, then accelerates after 5 years)
        let currentPh = 8.5;
        if (years <= 5) {
            currentPh -= (years * 0.1); // slow drop
        } else {
            currentPh = 8.5 - (5 * 0.1) - ((years - 5) * 0.35); // fast drop
        }
        currentPh = Math.max(5.0, currentPh); // bottom out at 5.0
        
        let phText = currentPh.toFixed(1);
        let phClass = 'res-safe';
        if (currentPh < 7.0) {
            phText += ' (Kwasowy!)';
            phClass = 'res-crit';
        } else if (currentPh < 8.0) {
            phText += ' (Ostrzeżenie)';
            phClass = 'res-warn';
        } else {
            phText += ' (Zasadowy)';
        }

        // Logika awarii i kosztów bez użycia znaku "&#038;&#038;" - odporne na encje HTML w CMS
        let hasScale = hardness > 15;
        let hasCorrosion = currentPh < 7.0;
        
        let statusText = 'Brak osadów i korozji';
        let statusClass = 'res-safe';
        let cost = 0;
        let viewClass = 'rk-status-safe';

        if (hasScale) {
            if (hasCorrosion) {
                statusText = 'Krytyczne zniszczenie układu';
                statusClass = 'res-crit';
                cost = 2800; // 2500-3000 range
                viewClass = 'rk-status-critical';
            } else {
                statusText = 'Złogi wapienne (VDI 2035)';
                statusClass = 'res-warn';
                cost = 1000;
                viewClass = 'rk-status-warning';
            }
        } else {
            if (hasCorrosion) {
                statusText = 'Korozja i mikro-przecieki';
                statusClass = 'res-crit';
                cost = 1500;
                viewClass = 'rk-status-critical';
            }
        }

        // Apply changes to DOM
        resPh.innerText = phText;
        resPh.className = 'rk-res-value ' + phClass;

        resStatus.innerText = statusText;
        resStatus.className = 'rk-res-value ' + statusClass;

        resCost.innerText = cost > 0 ? `~ ${cost} PLN` : '0 PLN';
        resCost.className = 'rk-res-value ' + statusClass;

        simView.className = 'rk-err-dashboard ' + viewClass;
    }

    // Listeners
    inputYears.addEventListener('input', updateSimulation);
    inputHardness.addEventListener('input', updateSimulation);

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



<style>
:root {
    --rk-ozc-primary: #0f172a;
    --rk-ozc-surface: #ffffff;
    --rk-ozc-bg-light: #f8fafc;
    --rk-ozc-water: #0ea5e9;
    --rk-ozc-water-light: #e0f2fe;
    --rk-ozc-glycol: #f59e0b;
    --rk-ozc-glycol-light: #fef3c7;
    --rk-ozc-alert: #ef4444;
    --rk-ozc-alert-light: #fef2f2;
    --rk-ozc-text: #334155;
    --rk-ozc-muted: #64748b;
    --rk-ozc-border: #e2e8f0;
    --rk-ozc-cta1: #1d4ed8;
    --rk-ozc-cta2: #1e3a8a;
}

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

/* ================= HEADER & TEXT ================= */
.rk-ozc-header {
    padding: 45px 50px 30px;
    background: linear-gradient(145deg, #ffffff 0%, var(--rk-ozc-bg-light) 100%);
    border-bottom: 1px solid var(--rk-ozc-border);
}

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

.rk-ozc-text-block {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-ozc-text-block p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rk-ozc-text);
    margin: 0;
}

.rk-ozc-highlight {
    background: var(--rk-ozc-water-light);
    color: #0369a1;
    padding: 2px 8px;
    border-radius: 6px;
    font-weight: 700;
}

.rk-ozc-alert-inline {
    background: var(--rk-ozc-alert-light);
    color: #b91c1c;
    padding: 2px 8px;
    border-radius: 6px;
    font-weight: 700;
}

/* ================= INTERACTIVE WORKSPACE ================= */
.rk-ozc-workspace {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    background: var(--rk-ozc-surface);
}

/* Controls */
.rk-ozc-controls {
    padding: 40px;
    border-right: 1px solid var(--rk-ozc-border);
    display: flex;
    flex-direction: column;
    gap: 30px;
    background: var(--rk-ozc-bg-light);
}

.rk-ozc-title-sm {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-ozc-primary);
    margin: 0 0 5px 0;
}

.rk-ozc-desc-sm {
    font-size: 14px;
    color: var(--rk-ozc-muted);
    margin: 0 0 20px 0;
    line-height: 1.5;
}

/* Custom Toggle */
.rk-ozc-toggle-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-ozc-border);
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-ozc-toggle-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-ozc-muted);
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.rk-ozc-switch {
    display: flex;
    align-items: center;
    gap: 15px;
    cursor: pointer;
}

.rk-ozc-track {
    width: 60px;
    height: 32px;
    background: var(--rk-ozc-water);
    border-radius: 30px;
    position: relative;
    transition: background 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

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

.rk-ozc-switch input {
    display: none;
}

.rk-ozc-switch input:checked + .rk-ozc-track {
    background: var(--rk-ozc-glycol);
}

.rk-ozc-switch input:checked + .rk-ozc-track .rk-ozc-thumb {
    transform: translateX(28px);
}

.rk-ozc-status-text {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-ozc-water);
    transition: color 0.4s;
}

.state-glycol .rk-ozc-status-text {
    color: var(--rk-ozc-glycol);
}

/* Metrics List */
.rk-ozc-metrics {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-ozc-metric-card {
    background: #ffffff;
    border: 1px solid var(--rk-ozc-border);
    padding: 15px 20px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    transition: all 0.4s;
}

.rk-ozc-metric-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--rk-ozc-muted);
}

.rk-ozc-metric-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-ozc-primary);
    transition: color 0.4s;
}

.state-glycol .rk-ozc-metric-card {
    border-color: #fcd34d;
    background: var(--rk-ozc-glycol-light);
}

.state-glycol .rk-ozc-metric-val {
    color: #b45309;
}

/* Visualization Panel */
.rk-ozc-visual {
    padding: 40px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 30px;
    background: #ffffff;
}

.rk-ozc-viz-box {
    background: var(--rk-ozc-bg-light);
    border: 1px solid var(--rk-ozc-border);
    border-radius: 16px;
    padding: 25px;
    position: relative;
    overflow: hidden;
}

.rk-ozc-viz-title {
    position: absolute;
    top: 15px;
    left: 20px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-ozc-muted);
    z-index: 2;
}

/* SVG Animations */
.rk-ozc-pipe-svg {
    width: 100%;
    height: 120px;
    margin-top: 15px;
}

.pipe-grid {
    fill: none;
    stroke: #e2e8f0;
    stroke-width: 1;
}

.pipe-line {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.pipe-water {
    stroke: var(--rk-ozc-water);
    stroke-width: 8;
    opacity: 1;
}

.pipe-glycol {
    stroke: var(--rk-ozc-glycol);
    stroke-width: 6;
    opacity: 0;
    stroke-dasharray: 400;
    stroke-dashoffset: 400;
}

.state-glycol .pipe-water { opacity: 0.15; stroke: #94a3b8; }
.state-glycol .pipe-glycol { opacity: 1; animation: drawGlycol 1.5s forwards ease-out; }

@keyframes drawGlycol { to { stroke-dashoffset: 0; } }

/* Expansion Vessel SVG */
.rk-ozc-vessel-svg {
    width: 80px;
    height: 100px;
    margin: 20px auto 0;
    display: block;
    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform-origin: bottom center;
}

.vessel-body {
    fill: #cbd5e1;
    transition: fill 0.5s;
}

.state-glycol .rk-ozc-vessel-svg {
    transform: scale(1.2); /* +20% volume representation */
}

.state-glycol .vessel-body {
    fill: #fca5a5; /* Reddish alert color */
}

/* ================= MASSIVE CTA ================= */
.rk-ozc-cta-box {
    background: linear-gradient(135deg, var(--rk-ozc-cta1) 0%, var(--rk-ozc-primary) 100%);
    padding: 50px 45px;
    text-align: center;
    position: relative;
    border-top: 4px solid var(--rk-ozc-water);
}

.rk-ozc-badge-alert {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-ozc-alert);
    color: #ffffff;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
    box-shadow: 0 4px 15px rgba(239, 68, 68, 0.4);
    animation: pulseOzc 2s infinite;
}

@keyframes pulseOzc {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); box-shadow: 0 4px 20px rgba(239, 68, 68, 0.7); }
    100% { transform: scale(1); }
}

.rk-ozc-cta-box h3 {
    color: #ffffff;
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.rk-ozc-cta-box p {
    color: #bfdbfe;
    font-size: 17px;
    max-width: 700px;
    margin: 0 auto 35px auto;
    line-height: 1.6;
}

.rk-ozc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #ffffff;
    color: var(--rk-ozc-cta1);
    font-size: 18px;
    font-weight: 900;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
    text-transform: uppercase;
}

.rk-ozc-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.4);
    color: var(--rk-ozc-cta2);
    background: var(--rk-ozc-bg-light);
}

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

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

@media (max-width: 768px) {
    .rk-ozc-workspace { grid-template-columns: 1fr; }
    .rk-ozc-header, .rk-ozc-controls, .rk-ozc-visual, .rk-ozc-cta-box { padding: 30px 25px; }
    .rk-ozc-cta-box h3 { font-size: 26px; }
    .rk-ozc-btn { width: 100%; padding: 18px 20px; font-size: 15px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-projekt-ozc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Jak glikol wpływa na projekt ogrzewania podłogowego?",
    "description": "Zastosowanie glikolu wywraca koncepcję projektową. Wymaga przeliczenia OZC, zagęszczenia rur do 10 cm, skrócenia pętli do 75m i powiększenia naczynia wzbiorczego.",
    "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-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-ozc",
    "name": "Parametry korygujące dla projektu OZC z udziałem glikolu",
    "description": "Zestawienie inżynieryjnych zmian architektonicznych w układzie płaszczyznowym wywołanych zmianą medium grzewczego z wody na glikol.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowe obciążenie cieplne OZC",
      "rozstaw rur w ogrzewaniu podłogowym",
      "maksymalna długość pętli podłogówki",
      "zbilansowanie układu z glikolem",
      "rozszerzalność cieplna glikolu",
      "dobór naczynia przeponowego"
    ],
    "measurementTechnique": "Przeliczenie gęstości strumienia cieplnego (q) i oporów wzdłużnych (liczba Reynoldsa) wg normy PN-EN 12831.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw rur: Zagęszczenie z 15 cm do 10 cm z uwagi na 15% deficyt mocy.",
        "Długość pętli: Skrócenie z 100 m do 75-80 m ze względu na wzrost lepkości i oporów.",
        "Naczynie wzbiorcze: Zwiększenie pojemności całkowitej o 20% (rozszerzalność 0,00055/K)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-ozc",
    "name": "Symulator Architektury Układu Podłogowego",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Dynamiczne narzędzie wizualizujące wpływ zmiany czynnika roboczego na podstawowe parametry architektury ogrzewania podłogowego (rozstaw, długość, naczynie).",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Interaktywna symulacja zagęszczenia wężownicy (15cm -> 10cm)",
      "Wizualizacja przeskalowania naczynia wzbiorczego (+20%)",
      "Automatyczna zmiana rekomendacji długości pętli grzewczej"
    ]
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-ozc-module" id="rk-ozc-simulator-app">
    
    <!-- Sekcja Edukacyjna -->
    <div class="rk-ozc-header">
        <h2>Jak to wpływa na projekt ogrzewania podłogowego?</h2>
        <div class="rk-ozc-text-block">
            <p>
                Zastosowanie płynu niezamarzającego w układzie wywraca do góry nogami całą koncepcję projektową i <strong>bezwzględnie wymaga przeliczenia rzutu instalacji</strong> zgodnie z Projektowym Obciążeniem Cieplnym (OZC) wyliczonym z normy <span class="rk-ozc-highlight">PN-EN 12831</span>. Projektant, wiedząc o 15% deficycie mocy wynikającym z gorszych parametrów oddawania ciepła, musi skompensować te straty na etapie układania wężownic.
            </p>
            <p>
                W praktyce oznacza to radykalne zmiany w architekturze układu: rozstaw rur w strefach podstawowych, obliczony pierwotnie na 15 cm, <strong>musi ulec zagęszczeniu do 10 cm</strong>, aby zagwarantować odpowiednią gęstość strumienia cieplnego (q = W/m²). Zwiększona lepkość płynu drastycznie podnosi opory wzdłużne strumienia laminarnie płynącego płynu (spadek liczby Reynoldsa), co zmusza projektanta do skrócenia dopuszczalnej maksymalnej długości pętli rury PEX 16x2.0 z powszechnie stosowanych 100 metrów do zaledwie <span class="rk-ozc-alert-inline">75-80 metrów</span>. W przeciwnym razie żaden, nawet najwyższej klasy rozdzielacz, nie będzie w stanie równomiernie zbilansować układu.
            </p>
            <p>
                Zmienia się także dobór naczyń wzbiorczych – ze względu na ponad dwukrotnie większą rozszerzalność cieplną glikolu (0,00055/K względem 0,00021/K dla wody), wymagane jest zastosowanie naczynia przeponowego o <strong>20% większej pojemności całkowitej</strong>, co zapobiegnie wyrzucaniu czynnika przez zawór bezpieczeństwa w szczytowych momentach wygrzewania posadzki.
            </p>
        </div>
    </div>

    <!-- Przestrzeń Symulatora -->
    <div class="rk-ozc-workspace" id="rk-ozc-board">
        
        <!-- Panel Kontrolny i Metryki -->
        <div class="rk-ozc-controls">
            <div>
                <h3 class="rk-ozc-title-sm">Symulacja Projektowa</h3>
                <p class="rk-ozc-desc-sm">Zmień czynnik instalacyjny i zaobserwuj, jak modyfikuje się fizyka oraz geometria układu podłogowego.</p>
                
                <div class="rk-ozc-toggle-wrapper">
                    <span class="rk-ozc-toggle-label">Czynnik Roboczy:</span>
                    <label class="rk-ozc-switch">
                        <input type="checkbox" id="rk-ozc-fluid-toggle">
                        <div class="rk-ozc-track">
                            <div class="rk-ozc-thumb"></div>
                        </div>
                        <span class="rk-ozc-status-text" id="rk-ozc-status">Woda (Standard)</span>
                    </label>
                </div>
            </div>

            <div class="rk-ozc-metrics">
                <div class="rk-ozc-metric-card">
                    <span class="rk-ozc-metric-name">Rozstaw Rur PEX</span>
                    <span class="rk-ozc-metric-val" id="val-spacing">15 cm</span>
                </div>
                <div class="rk-ozc-metric-card">
                    <span class="rk-ozc-metric-name">Max. Długość Pętli</span>
                    <span class="rk-ozc-metric-val" id="val-length">100 metrów</span>
                </div>
                <div class="rk-ozc-metric-card">
                    <span class="rk-ozc-metric-name">Pojemność Naczynia Wzbiorczego</span>
                    <span class="rk-ozc-metric-val" id="val-vessel">Baza obliczeniowa</span>
                </div>
            </div>
        </div>

        <!-- Panel Wizualizacji -->
        <div class="rk-ozc-visual">
            
            <!-- Wizualizacja Wężownicy -->
            <div class="rk-ozc-viz-box">
                <div class="rk-ozc-viz-title">Zagęszczenie Rur (Moc)</div>
                <svg class="rk-ozc-pipe-svg" viewBox="0 0 200 100" preserveAspectRatio="none">
                    <!-- Siatka w tle -->
                    <pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse">
                        <path d="M 10 0 L 0 0 0 10" class="pipe-grid" />
                    </pattern>
                    <rect width="100%" height="100%" fill="url(#grid)" />
                    
                    <!-- Rura Woda (rzadsza) -->
                    <path class="pipe-line pipe-water" d="M 10 20 L 190 20 A 10 10 0 0 1 190 40 L 10 40 A 10 10 0 0 0 10 60 L 190 60 A 10 10 0 0 1 190 80 L 10 80" />
                    
                    <!-- Rura Glikol (gęstsza) -->
                    <path class="pipe-line pipe-glycol" d="M 10 10 L 190 10 A 5 5 0 0 1 190 25 L 10 25 A 5 5 0 0 0 10 40 L 190 40 A 5 5 0 0 1 190 55 L 10 55 A 5 5 0 0 0 10 70 L 190 70 A 5 5 0 0 1 190 85 L 10 85" />
                </svg>
            </div>

            <!-- Wizualizacja Naczynia Wzbiorczego -->
            <div class="rk-ozc-viz-box" style="text-align: center;">
                <div class="rk-ozc-viz-title">Naczynie Przeponowe (+20%)</div>
                <svg class="rk-ozc-vessel-svg" viewBox="0 0 100 120">
                    <!-- Zbiornik -->
                    <path class="vessel-body" d="M 30 10 C 30 0, 70 0, 70 10 L 80 90 C 80 110, 20 110, 20 90 Z" />
                    <!-- Złącze na dole -->
                    <rect x="40" y="105" width="20" height="15" fill="#64748b" />
                    <line x1="40" y1="110" x2="60" y2="110" stroke="#475569" stroke-width="2"/>
                    <!-- Wentyl u góry -->
                    <rect x="45" y="0" width="10" height="10" fill="#94a3b8" />
                </svg>
            </div>

        </div>
    </div>

    <!-- POTĘŻNE CTA -->
    <div class="rk-ozc-cta-box">
        <div class="rk-ozc-badge-alert">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="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>
            Uniknij Katastrofy Hydraulicznej
        </div>
        <h3>Brak dokładnego projektu to zamrożenie gotówki w wadliwym systemie.</h3>
        <p>Instalacja zalana glikolem bez uprzednich obliczeń OZC nie będzie dogrzewać budynku. Zabezpiecz swoją pompę ciepła, wymuś na wykonawcy pracę zgodną ze sztuką inżynierską i nie pozwól na montaż "na oko".</p>
        
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-ozc-btn">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>

</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Zgodnie z wytycznymi - brak H2/H3 w komunikacie błedu)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-ozc-simulator-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 50px 30px; text-align: center; background: #0f172a; color: #ef4444; border: 2px solid #dc2626; 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; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 15px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Ten symulator architektury OZC oraz zintegrowane z nim znaczniki JSON-LD stanowią własność intelektualną serwisu Projekt-Ogrzewania.pl. Wykryto nieautoryzowane użycie kodu.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora (Toggle)
    const toggle = document.getElementById('rk-ozc-fluid-toggle');
    const board = document.getElementById('rk-ozc-board');
    const statusText = document.getElementById('rk-ozc-status');
    
    const valSpacing = document.getElementById('val-spacing');
    const valLength = document.getElementById('val-length');
    const valVessel = document.getElementById('val-vessel');

    toggle.addEventListener('change', function() {
        if (this.checked) {
            // Stan: Glikol
            board.classList.add('state-glycol');
            statusText.innerText = "Glikol (Spadek wydajności)";
            
            valSpacing.innerText = "10 cm (Kompensacja mocy)";
            valLength.innerText = "75 - 80 metrów (Opory)";
            valVessel.innerText = "+20% objętości całkowitej";
        } else {
            // Stan: Woda
            board.classList.remove('state-glycol');
            statusText.innerText = "Woda (Standard)";
            
            valSpacing.innerText = "15 cm";
            valLength.innerText = "100 metrów";
            valVessel.innerText = "Baza obliczeniowa";
        }
    });
});
</script>



<style>
:root {
    --rk-case-bg: #ffffff;
    --rk-case-surface: #f8fafc;
    --rk-case-dark: #0f172a;
    --rk-case-slate: #334155;
    --rk-case-primary: #0ea5e9;
    --rk-case-warning: #f59e0b;
    --rk-case-danger: #ef4444;
    --rk-case-success: #10b981;
    --rk-case-border: #e2e8f0;
    --rk-case-text: #475569;
}

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

/* Sekcja Opisowa */
.rk-case-header {
    padding: 45px 50px 30px;
    background: linear-gradient(145deg, var(--rk-case-dark) 0%, #1e293b 100%);
    color: #ffffff;
    position: relative;
}

.rk-case-badge {
    display: inline-block;
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(239, 68, 68, 0.4);
}

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

.rk-case-story {
    display: flex;
    flex-direction: column;
    gap: 15px;
    font-size: 15px;
    line-height: 1.7;
    color: #cbd5e1;
}

.rk-case-story p { margin: 0; }

.rk-case-story a {
    color: #38bdf8;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.3s;
}

.rk-case-story a:hover {
    color: #ffffff;
}

.rk-case-highlight {
    color: #ffffff;
    font-weight: 800;
    background: rgba(255,255,255,0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Moduł Interaktywny */
.rk-case-workspace {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    background: var(--rk-case-bg);
}

/* Panel Kontrolny */
.rk-case-controls {
    padding: 40px;
    background: var(--rk-case-surface);
    border-right: 1px solid var(--rk-case-border);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

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

/* Timeline Slider */
.rk-timeline-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-timeline-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-case-slate);
    margin-bottom: 15px;
    text-transform: uppercase;
}

.rk-timeline-val {
    color: var(--rk-case-danger);
    font-size: 16px;
}

.rk-timeline-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    outline: none;
    transition: background 0.3s;
}

.rk-timeline-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
    border: 4px solid var(--rk-case-primary);
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    transition: transform 0.1s, border-color 0.3s;
}

.rk-timeline-slider::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

/* Metryki Diagnostyczne */
.rk-diag-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-diag-item {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    padding: 15px;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s;
}

.rk-diag-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--rk-case-text);
}

.rk-diag-val {
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

/* Panel Wizualizatora */
.rk-case-visual {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    position: relative;
}

.rk-status-banner {
    width: 100%;
    padding: 15px 20px;
    border-radius: 12px;
    text-align: center;
    font-weight: 800;
    font-size: 15px;
    margin-bottom: 30px;
    transition: all 0.4s;
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}

.rk-svg-system {
    width: 100%;
    max-width: 250px;
    height: auto;
    overflow: visible;
}

/* Warstwy SVG */
.rk-anim-fluid {
    transition: fill 0.5s;
    fill: #38bdf8; /* woda bazowo */
}

.rk-anim-pump {
    transform-origin: center;
    transition: all 0.5s;
}

.rk-anim-seal {
    transition: stroke 0.5s, stroke-width 0.5s;
    stroke: #334155;
    stroke-width: 4;
}

.rk-anim-leak {
    opacity: 0;
    transition: opacity 0.3s;
}

/* Animacje dla konkretnych etapów */
/* M1: Lekkie ostrzeżenie */
.stage-1 .rk-anim-fluid { fill: #facc15; }
.stage-1 .rk-status-banner { background: #fef3c7; color: #b45309; border-color: #fde68a; }

/* M2: Kwas */
.stage-2 .rk-anim-fluid { fill: #f97316; }
.stage-2 .rk-anim-seal { stroke: #ef4444; stroke-width: 6; stroke-dasharray: 4 2; }
.stage-2 .rk-status-banner { background: #ffedd5; color: #c2410c; border-color: #fed7aa; }

/* M3: Obciążenie i Wycieki */
.stage-3 .rk-anim-fluid { fill: #ef4444; }
.stage-3 .rk-anim-seal { stroke: #b91c1c; stroke-width: 2; stroke-dasharray: 2 4; }
.stage-3 .rk-anim-leak { opacity: 1; animation: dropLeak 1s infinite; fill: #ef4444; }
.stage-3 .rk-anim-pump { animation: pumpShake 0.5s infinite; }
.stage-3 .rk-status-banner { background: #fef2f2; color: #b91c1c; border-color: #fca5a5; }

/* M4: Katastrofa / Zatarcie */
.stage-4 .rk-anim-fluid { fill: #7f1d1d; }
.stage-4 .rk-anim-pump { fill: #475569; animation: none; transform: scale(0.95); }
.stage-4 .rk-anim-pump-rotor { fill: #1e293b; }
.stage-4 .rk-anim-smoke { opacity: 1; animation: smokeRise 2s infinite; }
.stage-4 .rk-status-banner { background: #7f1d1d; color: #ffffff; border-color: #450a0a; box-shadow: 0 4px 15px rgba(127, 29, 29, 0.4); }

@keyframes dropLeak {
    0% { transform: translateY(0) scale(1); opacity: 1; }
    100% { transform: translateY(20px) scale(0); opacity: 0; }
}

@keyframes pumpShake {
    0% { transform: translate(0, 0) rotate(0); }
    25% { transform: translate(-2px, 1px) rotate(-1deg); }
    50% { transform: translate(2px, -1px) rotate(1deg); }
    75% { transform: translate(-1px, -2px) rotate(0); }
    100% { transform: translate(0, 0) rotate(0); }
}

@keyframes smokeRise {
    0% { transform: translateY(0) scale(1); opacity: 0.8; }
    100% { transform: translateY(-30px) scale(1.5); opacity: 0; }
}

.rk-anim-smoke { opacity: 0; fill: #94a3b8; }

@media (max-width: 768px) {
    .rk-case-workspace { grid-template-columns: 1fr; }
    .rk-case-header, .rk-case-controls, .rk-case-visual { padding: 30px 20px; }
    .rk-case-controls { border-right: none; border-bottom: 1px solid var(--rk-case-border); }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Case Study: Zatarcie pompy obiegowej po zalaniu instalacji przypadkowym glikolem",
    "description": "Analiza awarii instalacji ogrzewania podłogowego pod Suwałkami (180m2). Zobacz, jak niewłaściwa mieszanka niezamarzająca i twarda woda zniszczyły uszczelnienia i zatarły pompę w zaledwie 4 miesiące.",
    "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-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-casestudy",
    "name": "Wskaźniki degradacji instalacji: Analiza 4 miesięcy po zalaniu twardą wodą z glikolem samochodowym",
    "description": "Pomiary fizykochemiczne i mechaniczne ilustrujące postępującą awarię uszczelnień i przeciążenie pompy obiegowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zatarcie pompy obiegowej przyczyny",
      "tani glikol a uszczelnienia w podłogówce",
      "awaria rozdzielacza mosiężnego",
      "twarda woda z glikolem skutki",
      "kwasowy odczyn instalacji grzewczej"
    ],
    "measurementTechnique": "Monitoring poziomu pH, lepkości kinetycznej i obciążenia wirnika pompy w interwałach miesięcznych od momentu rozruchu.",
    "variableMeasured": [
      { "@type": "PropertyValue", "name": "Spadek odczynu płynu", "value": "z pH 7.5 do pH 4.0", "unitText": "Skala pH" },
      { "@type": "PropertyValue", "name": "Obciążenie pompy obiegowej", "value": "Wzrost oporów o 150%", "unitText": "% normy" }
    ],
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Miesiąc 1-2: Neutralizacja inhibitorów i wytrącanie osadów przez twardą wodę studzienną.",
        "Miesiąc 3: Spadek pH do poziomu kwasowego, trawienie o-ringów EPDM na rozdzielaczu.",
        "Miesiąc 4: Przeciążenie prądowe, kawitacja i całkowite zatarcie wirnika pompy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-casestudy",
    "name": "Symulator Zatarcia Pompy (Odtworzenie Awarii)",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywny raport czasowy z audytu. Narzędzie pozwala przesunąć oś czasu i zaobserwować korelację między spadkiem pH czynnika grzewczego a degradacją mechaniczną układu (uszkodzenia uszczelnień, przeciążenie pompy).",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Symulacja spadku pH w czasie rzeczywistym",
      "Wizualizacja przeciążenia pompy obiegowej i wycieków",
      "Diagnoza instalatorska krok po kroku"
    ]
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-case-module" id="rk-audyt-app">
    
    <!-- Nagłówek i Historia -->
    <div class="rk-case-header">
        <div class="rk-case-badge">Case Study: Audyt Terenowy (Suwałki)</div>
        <h2>Katastrofa w 4 miesiące od rozruchu</h2>
        <div class="rk-case-story">
            <p>
                W lutym 2026 roku zostałem wezwany na audyt do nowego domu koło Katowic (180 m²). Układ <a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">ogrzewania podłogowego</a> u pana Macieja przestał całkowicie grzać zaledwie cztery miesiące po uruchomieniu.
            </p>
            <p>
                <strong>Diagnoza?</strong> Instalator, chcąc oszczędzić, zalał system przypadkową (najprawdopodobniej samochodową) mieszanką przeciwzamrożeniową rozrobioną z surową, bardzo twardą wodą studzienną. Skutki tej decyzji były katastrofalne. Brak odpowiednich <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">inhibitorów korozji</a> oraz gwałtowny spadek odczynu pH doprowadziły do strawienia uszczelnień (o-ringów) na <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">mosiężnym rozdzielaczu</a>. Jednocześnie ekstremalnie wysoka lepkość „taniego glikolu” sprawiła, że <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa</a> pracowała non-stop na <span class="rk-case-highlight">150% dopuszczalnej normy obciążenia</span>.
            </p>
            <p>
                Koszt wymiany pompy, naprawy uszczelnień i wielogodzinnego, chemicznego płukania całego zładu przekroczył kilka tysięcy złotych. Prześledźmy ten proces na symulatorze:
            </p>
        </div>
    </div>

    <!-- Interaktywna Konsola Diagnostyczna -->
    <div class="rk-case-workspace" id="rk-case-board">
        
        <!-- Kontrolki -->
        <div class="rk-case-controls">
            <h3>Konsola Diagnostyczna</h3>
            
            <div class="rk-timeline-wrapper">
                <div class="rk-timeline-label">
                    <span>Czas eksploatacji</span>
                    <span class="rk-timeline-val" id="val-months">Rozruch</span>
                </div>
                <!-- Suwak od 0 do 4 miesięcy -->
                <input type="range" id="case-slider" class="rk-timeline-slider" min="0" max="4" step="1" value="0">
                <div style="display: flex; justify-content: space-between; font-size: 11px; color: #94a3b8; margin-top: 10px; font-weight: 700;">
                    <span>Start</span>
                    <span>1m</span>
                    <span>2m</span>
                    <span>3m</span>
                    <span>4m</span>
                </div>
            </div>

            <div class="rk-diag-grid">
                <div class="rk-diag-item" id="diag-ph-box">
                    <span class="rk-diag-name">Odczyn czynnika (pH)</span>
                    <span class="rk-diag-val" id="diag-ph" style="color: #10b981;">7.5 (Norma)</span>
                </div>
                <div class="rk-diag-item" id="diag-load-box">
                    <span class="rk-diag-name">Obciążenie pompy</span>
                    <span class="rk-diag-val" id="diag-load" style="color: #10b981;">100%</span>
                </div>
                <div class="rk-diag-item" id="diag-seal-box">
                    <span class="rk-diag-name">Uszczelnienia (EPDM)</span>
                    <span class="rk-diag-val" id="diag-seal" style="color: #10b981;">Szczelne</span>
                </div>
            </div>
        </div>

        <!-- Wizualizator Odtworzenia Awarii -->
        <div class="rk-case-visual">
            
            <div class="rk-status-banner" id="status-message">
                ✅ System pracuje stabilnie. Pozorna bezawaryjność po rozruchu.
            </div>

            <svg class="rk-svg-system" viewBox="0 0 200 200">
                <!-- Rura / Zład -->
                <path d="M 20 120 L 180 120" stroke="#cbd5e1" stroke-width="30" stroke-linecap="round"/>
                <!-- Ciecz z animacją koloru -->
                <path d="M 25 120 L 175 120" stroke-width="24" stroke-linecap="round" class="rk-anim-fluid" stroke="currentColor" style="stroke: inherit;"/>
                
                <!-- Pompa Obiegowa -->
                <g class="rk-anim-pump">
                    <!-- Korpus pompy -->
                    <circle cx="100" cy="70" r="40" fill="#38bdf8" class="rk-anim-fluid"/>
                    <circle cx="100" cy="70" r="30" fill="#ffffff"/>
                    <!-- Wirnik (trójkąt kręcący się) -->
                    <polygon points="100,45 120,85 80,85" fill="#0ea5e9" class="rk-anim-pump-rotor" transform="rotate(0 100 70)">
                        <animateTransform attributeName="transform" type="rotate" from="0 100 70" to="360 100 70" dur="1s" repeatCount="indefinite" id="rotor-anim"/>
                    </polygon>
                    <!-- Złącza pompy -->
                    <rect x="85" y="105" width="30" height="20" fill="#64748b"/>
                </g>

                <!-- Dym z zatartej pompy (Stage 4) -->
                <circle cx="80" cy="20" r="8" class="rk-anim-smoke"/>
                <circle cx="110" cy="15" r="12" class="rk-anim-smoke" style="animation-delay: 0.5s;"/>
                <circle cx="95" cy="5" r="10" class="rk-anim-smoke" style="animation-delay: 1s;"/>

                <!-- Uszczelnienie (O-ring) między rurą a pompą -->
                <line x1="75" y1="110" x2="125" y2="110" class="rk-anim-seal"/>
                
                <!-- Wyciek (Stage 3) -->
                <path d="M 100 135 Q 105 145 100 155 Q 95 145 100 135" class="rk-anim-leak"/>
            </svg>

        </div>

    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-audyt-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Case Study "Audyt Terenowy" oraz jego znaczniki JSON-LD stanowią własność Projekt-Ogrzewania.pl. Wykryto próbę uruchomienia na nieautoryzowanej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora (Timeline)
    const slider = document.getElementById('case-slider');
    const board = document.getElementById('rk-case-board');
    
    // Displays
    const valMonths = document.getElementById('val-months');
    const diagPh = document.getElementById('diag-ph');
    const diagLoad = document.getElementById('diag-load');
    const diagSeal = document.getElementById('diag-seal');
    const statusMsg = document.getElementById('status-message');
    const rotorAnim = document.getElementById('rotor-anim');

    // Kolory slidera i ikonek
    const baseColor = '#0ea5e9';
    const colors = ['#10b981', '#f59e0b', '#f97316', '#ef4444', '#7f1d1d'];

    // Słownik stanów
    const stages = [
        {   // 0: Rozruch
            monthText: "Rozruch (0)",
            ph: "7.5 (Norma)", phColor: "#10b981",
            load: "100%", loadColor: "#10b981",
            seal: "Szczelne", sealColor: "#10b981",
            msg: "✅ System pracuje stabilnie. Instalator zgłasza sukces.",
            animDur: "1s"
        },
        {   // 1: Miesiąc 1
            monthText: "1 miesiąc",
            ph: "6.5 (Neutralizacja)", phColor: "#b45309",
            load: "115% (Opory)", loadColor: "#b45309",
            seal: "Mikro-pęcznienie", sealColor: "#b45309",
            msg: "⚠️ Twarda woda zabija inhibitory. Płyn gęstnieje od osadów.",
            animDur: "0.7s"
        },
        {   // 2: Miesiąc 2
            monthText: "2 miesiące",
            ph: "5.5 (Kwas)", phColor: "#c2410c",
            load: "130% (Przeciążenie)", loadColor: "#c2410c",
            seal: "Trawienie gumy", sealColor: "#c2410c",
            msg: "⚠️ Odczyn kwaśny trawi elementy mosiężne i gumowe uszczelki.",
            animDur: "0.4s"
        },
        {   // 3: Miesiąc 3
            monthText: "3 miesiące",
            ph: "4.5 (Silny Kwas)", phColor: "#b91c1c",
            load: "150% (Krytyczne)", loadColor: "#b91c1c",
            seal: "Przecieki na gwintach", sealColor: "#b91c1c",
            msg: "🔥 Uszczelki puszczają. Pompa dławi się lepką mazią i wchodzi w kawitację.",
            animDur: "0.2s"
        },
        {   // 4: Miesiąc 4
            monthText: "4 miesiące",
            ph: "4.0 (Degradacja)", phColor: "#7f1d1d",
            load: "ERR (Zatarcie)", loadColor: "#7f1d1d",
            seal: "Pęknięcie uszczelnień", sealColor: "#7f1d1d",
            msg: "💥 KATASTROFA: Spalony wirnik pompy, wyciek płynu. System martwy.",
            animDur: "0s" // Stop
        }
    ];

    function updateSimulator() {
        const val = parseInt(slider.value);
        const stageData = stages[val];

        // Zmiana barwy suwaka
        slider.style.background = `linear-gradient(to right, ${colors[val]} ${(val/4)*100}%, #e2e8f0 ${(val/4)*100}%)`;
        slider.style.borderColor = colors[val]; // To needs to target thumb in advanced CSS, handled via CSS variable ideally, but let's keep it simple

        // Aktualizacja tekstów
        valMonths.innerText = stageData.monthText;
        valMonths.style.color = colors[val];

        diagPh.innerText = stageData.ph;
        diagPh.style.color = stageData.phColor;

        diagLoad.innerText = stageData.load;
        diagLoad.style.color = stageData.loadColor;

        diagSeal.innerText = stageData.seal;
        diagSeal.style.color = stageData.sealColor;

        statusMsg.innerText = stageData.msg;

        // Aktualizacja klas CSS dla animacji SVG
        // Usuwamy stare klasy stage-*
        board.classList.remove('stage-0', 'stage-1', 'stage-2', 'stage-3', 'stage-4');
        board.classList.add(`stage-${val}`);

        // Aktualizacja prędkości wirnika pompy
        if (val === 4) {
            rotorAnim.setAttribute('dur', '0s'); // Zatarcie - stop animacji
        } else {
            rotorAnim.setAttribute('dur', stageData.animDur);
        }
    }

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



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

.rk-expert-module {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-quote-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-quote-accent);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Sekcja Cytatu */
.rk-quote-section {
    padding: 40px 45px;
    background: linear-gradient(145deg, #ffffff 0%, var(--rk-quote-surface) 100%);
    display: flex;
    gap: 30px;
    align-items: center;
    border-bottom: 1px solid var(--rk-quote-border);
    position: relative;
}

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

.rk-quote-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 4px solid #ffffff;
    box-shadow: 0 8px 20px rgba(14, 165, 233, 0.2);
}

.rk-quote-badge {
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: var(--rk-quote-primary);
    color: #ffffff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.rk-quote-content {
    flex-grow: 1;
    position: relative;
}

.rk-quote-icon {
    position: absolute;
    top: -20px;
    left: -20px;
    font-size: 60px;
    color: var(--rk-quote-accent);
    opacity: 0.1;
    font-family: serif;
    line-height: 1;
}

.rk-quote-text {
    font-size: 17px;
    line-height: 1.7;
    color: var(--rk-quote-primary);
    font-style: italic;
    font-weight: 600;
    margin: 0 0 15px 0;
    position: relative;
    z-index: 2;
}

.rk-quote-highlight {
    background: #e0f2fe;
    color: #0369a1;
    padding: 2px 6px;
    border-radius: 4px;
}

.rk-quote-author {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-quote-accent);
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
}

.rk-quote-role {
    font-size: 13px;
    font-weight: 600;
    color: var(--rk-quote-text);
}

/* Sekcja Interaktywna (Decyzja Inwestora) */
.rk-decision-section {
    padding: 40px 45px;
    background: var(--rk-quote-primary);
    color: #ffffff;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.rk-decision-controls h3 {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 900;
    color: #ffffff;
}

.rk-decision-controls p {
    color: #94a3b8;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 25px;
}

.rk-decision-toggle-box {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px;
    border-radius: 16px;
}

.rk-decision-options {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-radio-label {
    display: flex;
    align-items: center;
    gap: 15px;
    cursor: pointer;
    padding: 12px 15px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s;
}

.rk-radio-label:hover {
    background: rgba(255, 255, 255, 0.08);
}

.rk-radio-label input[type="radio"] {
    display: none;
}

.rk-radio-custom {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #cbd5e1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.rk-radio-custom::after {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--rk-quote-accent);
    transform: scale(0);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-radio-label input[type="radio"]:checked + .rk-radio-custom {
    border-color: var(--rk-quote-accent);
}

.rk-radio-label input[type="radio"]:checked + .rk-radio-custom::after {
    transform: scale(1);
}

.rk-radio-text {
    font-size: 15px;
    font-weight: 700;
    color: #e2e8f0;
}

/* Wizualizator Scenariusza */
.rk-scenario-display {
    background: #ffffff;
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-scenario-icon-wrap {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.rk-scenario-svg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0; left: 0;
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-scenario-svg.active {
    opacity: 1;
    transform: scale(1);
}

.rk-scenario-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-quote-primary);
    margin-bottom: 10px;
}

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

.rk-verdict-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    margin-top: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* SVG Animations */
.anim-water-drop { transform-origin: bottom; animation: pulseDrop 2s infinite alternate; }
.anim-heat-wave { stroke-dasharray: 10; animation: riseHeat 1.5s infinite linear; }
.anim-snow { transform-origin: center; animation: spinSnow 10s infinite linear; }
.anim-shield { stroke-dasharray: 60; animation: dashShield 3s infinite linear; }

@keyframes pulseDrop { from { transform: scale(1); } to { transform: scale(1.05); } }
@keyframes riseHeat { to { stroke-dashoffset: -20; } }
@keyframes spinSnow { to { transform: rotate(360deg); } }
@keyframes dashShield { to { stroke-dashoffset: 120; } }

@media (max-width: 768px) {
    .rk-quote-section { flex-direction: column; text-align: center; }
    .rk-decision-section { grid-template-columns: 1fr; }
    .rk-quote-icon { left: 50%; transform: translateX(-50%); top: -10px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-podsumowanie-cytat",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Eksperckie podsumowanie zastosowania glikolu w ogrzewaniu płaszczyznowym",
    "description": "Złota zasada inżynierska Roberta Kucharskiego: Glikol to kompromis termodynamiczny do zadań specjalnych, a nie ulepszacz dla całorocznych domów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Wielu inwestorów i niestety instalatorów traktuje glikol jako uniwersalną tarczę ochronną. To ogromny błąd. Glikol w podłogówce to nie jest ulepszacz – to twardy kompromis termodynamiczny. Stosujemy go tylko tam, gdzie mróz realnie zagraża rurom, czyli w domkach letniskowych czy garażach. Zalanie nim całorocznego domu z pompą ciepła to celowe obniżenie sprawności SCOP i wyrzucenie w błoto minimum 500 zł każdego sezonu grzewczego. Czysta woda z inhibitorem to fundament wydajności.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Inżynier HVAC & Projektant",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-decyzje",
    "name": "Matryca decyzyjna: Wybór nośnika ciepła",
    "description": "Zestawienie rekomendowanych płynów instalacyjnych w zależności od profilu energetycznego i przeznaczenia budynku.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zastosowanie glikolu w podłogówce",
      "dom letniskowy ogrzewanie glikol",
      "sprawność SCOP pompa ciepła",
      "woda z inhibitorem do podłogówki",
      "kompromis termodynamiczny ogrzewania"
    ],
    "measurementTechnique": "Ocena ryzyka zamarznięcia (temperatura < 0°C) zderzona z analizą spadku wydajności cieplnej instalacji w cyklu rocznym.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dom Całoroczny (WT2021): Brak ryzyka zamarznięcia. Rekomendowana woda + inhibitor dla max. sprawności SCOP.",
        "Obiekt Okresowy (Letniskowy/Garaż): Wysokie ryzyko zamarznięcia. Rekomendowany glikol propylenowy (30%) jako ochrona, kosztem wyższych rachunków."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-decyzje",
    "name": "Symulator Decyzji Inwestora: Nośnik Ciepła",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Interaktywne narzędzie pozwalające dopasować typ czynnika grzewczego (woda vs glikol) na podstawie profilu użytkowania budynku (całoroczny vs okresowy).",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Dynamiczna diagnoza zastosowania czynnika chłodniczego",
      "Wizualizacja wektorowa optymalizacji wydajności (Woda)",
      "Wizualizacja wektorowa zabezpieczenia przed zamarzaniem (Glikol)"
    ]
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-expert-module" id="rk-quote-decision-app">
    
    <!-- Sekcja Cytatu Eksperckiego -->
    <div class="rk-quote-section">
        <div class="rk-quote-photo-wrap">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Inżynier HVAC" class="rk-quote-photo" loading="lazy">
            <div class="rk-quote-badge">
                <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 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
            </div>
        </div>
        
        <div class="rk-quote-content">
            <div class="rk-quote-icon">"</div>
            <p class="rk-quote-text">
                Wielu inwestorów i niestety instalatorów traktuje glikol jako uniwersalną tarczę ochronną. To ogromny błąd. Glikol w podłogówce to nie jest ulepszacz – to <span class="rk-quote-highlight">twardy kompromis termodynamiczny</span>. Stosujemy go tylko tam, gdzie mróz realnie zagraża rurom, czyli w domkach letniskowych czy garażach. Zalanie nim całorocznego domu z pompą ciepła to celowe obniżenie sprawności SCOP i wyrzucenie w błoto 500 zł każdego sezonu. Czysta woda z inhibitorem to fundament wydajności.
            </p>
            <span class="rk-quote-author">Robert Kucharski</span>
            <span class="rk-quote-role">Inżynier HVAC & Główny Projektant Projekt-Ogrzewania.pl</span>
        </div>
    </div>

    <!-- Sekcja Interaktywna: Symulator Decyzji -->
    <div class="rk-decision-section">
        
        <div class="rk-decision-controls">
            <h3>Sprawdź, czy potrzebujesz glikolu</h3>
            <p>Wybierz profil swojego budynku, aby zobaczyć rekomendację inżynierską dostosowaną do Twojej inwestycji.</p>
            
            <div class="rk-decision-toggle-box" id="rk-decision-form">
                <div class="rk-decision-options">
                    <label class="rk-radio-label">
                        <input type="radio" name="building_type" value="home" checked>
                        <div class="rk-radio-custom"></div>
                        <span class="rk-radio-text">Dom ogrzewany całorocznie (WT2021)</span>
                    </label>
                    
                    <label class="rk-radio-label">
                        <input type="radio" name="building_type" value="holiday">
                        <div class="rk-radio-custom"></div>
                        <span class="rk-radio-text">Dom letniskowy / Magazyn / Garaż</span>
                    </label>
                </div>
            </div>
        </div>

        <div class="rk-scenario-display">
            <div class="rk-scenario-icon-wrap">
                <!-- WODA (Dom całoroczny) -->
                <svg class="rk-scenario-svg active" id="svg-water" viewBox="0 0 100 100">
                    <path d="M50 85 C 70 85, 80 70, 80 50 C 80 25, 50 10, 50 10 C 50 10, 20 25, 20 50 C 20 70, 30 85, 50 85 Z" fill="#e0f2fe" stroke="#0ea5e9" stroke-width="4" class="anim-water-drop"/>
                    <path d="M 40 70 Q 45 40 40 25 M 50 75 Q 55 45 50 30 M 60 70 Q 65 40 60 25" fill="none" stroke="#0ea5e9" stroke-width="3" stroke-linecap="round" class="anim-heat-wave"/>
                </svg>

                <!-- GLIKOL (Dom letniskowy) -->
                <svg class="rk-scenario-svg" id="svg-glycol" viewBox="0 0 100 100">
                    <circle cx="50" cy="50" r="40" fill="none" stroke="#f59e0b" stroke-width="4" class="anim-shield"/>
                    <g class="anim-snow" stroke="#f59e0b" stroke-width="4" stroke-linecap="round">
                        <line x1="50" y1="25" x2="50" y2="75" />
                        <line x1="25" y1="50" x2="75" y2="50" />
                        <line x1="32" y1="32" x2="68" y2="68" />
                        <line x1="32" y1="68" x2="68" y2="32" />
                    </g>
                </svg>
            </div>

            <div class="rk-scenario-title" id="scenario-title">Woda + Inhibitor Korozji</div>
            <p class="rk-scenario-desc" id="scenario-desc">
                Idealny wybór. Otrzymujesz 100% wydajności hydraulicznej, brak oporów na rotametrach i najwyższy współczynnik SCOP Twojej pompy ciepła.
            </p>
            <div class="rk-verdict-badge" id="scenario-badge" style="background: #dcfce7; color: #16a34a;">Werdykt: Optymalnie</div>
        </div>

    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków H2/H3 w alercie)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-quote-decision-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Ten moduł ekspercki wraz z danymi strukturalnymi JSON-LD stanowi własność Projekt-Ogrzewania.pl. Wykryto nieautoryzowane użycie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Decyzji Inwestora
    const radios = document.querySelectorAll('input[name="building_type"]');
    const svgWater = document.getElementById('svg-water');
    const svgGlycol = document.getElementById('svg-glycol');
    const title = document.getElementById('scenario-title');
    const desc = document.getElementById('scenario-desc');
    const badge = document.getElementById('scenario-badge');

    const data = {
        'home': {
            title: 'Woda + Inhibitor Korozji',
            desc: 'Idealny wybór. Otrzymujesz 100% wydajności hydraulicznej, brak oporów na rotametrach i najwyższy współczynnik SCOP pompy ciepła.',
            badgeText: 'Werdykt: Optymalnie',
            badgeBg: '#dcfce7',
            badgeColor: '#16a34a'
        },
        'holiday': {
            title: 'Roztwór Glikolu (30%)',
            desc: 'Konieczny kompromis. Zabezpieczysz układ przed rozsadzeniem przez mróz do -15°C, ale musisz pogodzić się z wyższymi rachunkami i mniejszą mocą.',
            badgeText: 'Werdykt: Konieczność',
            badgeBg: '#ffedd5',
            badgeColor: '#c2410c'
        }
    };

    radios.forEach(radio => {
        radio.addEventListener('change', function() {
            const val = this.value;
            
            // Toggle SVGs
            if (val === 'home') {
                svgGlycol.classList.remove('active');
                svgWater.classList.add('active');
            } else {
                svgWater.classList.remove('active');
                svgGlycol.classList.add('active');
            }

            // Update Text
            title.innerText = data[val].title;
            desc.innerText = data[val].desc;
            
            // Update Badge
            badge.innerText = data[val].badgeText;
            badge.style.backgroundColor = data[val].badgeBg;
            badge.style.color = data[val].badgeColor;
        });
    });
});
</script>



<style>
:root {
    --rk-faq-bg: #ffffff;
    --rk-faq-surface: #f8fafc;
    --rk-faq-dark: #0f172a;
    --rk-faq-slate: #334155;
    --rk-faq-primary: #0ea5e9;
    --rk-faq-primary-light: #e0f2fe;
    --rk-faq-success: #10b981;
    --rk-faq-warning: #f59e0b;
    --rk-faq-danger: #ef4444;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #475569;
}

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

/* Header */
.rk-faq-header {
    padding: 40px 45px 30px;
    background: linear-gradient(135deg, var(--rk-faq-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

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

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

/* Workspace */
.rk-faq-workspace {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    background: var(--rk-faq-bg);
}

/* Accordion Section */
.rk-faq-accordion-container {
    padding: 40px 30px 40px 45px;
    border-right: 1px solid var(--rk-faq-border);
}

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

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

.rk-faq-item.active {
    border-color: var(--rk-faq-primary);
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.15);
}

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

.rk-faq-item.active .rk-faq-question {
    color: var(--rk-faq-primary);
    background: var(--rk-faq-primary-light);
}

.rk-faq-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-faq-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-faq-primary);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

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

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

.rk-faq-answer-inner {
    padding: 0 20px 20px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-text);
}

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

.rk-faq-answer-inner a:hover {
    color: var(--rk-faq-dark);
    border-bottom-color: var(--rk-faq-dark);
}

/* Visualizer Section */
.rk-faq-visualizer {
    padding: 40px;
    background: var(--rk-faq-surface);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.rk-viz-card {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    padding: 30px;
    width: 100%;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.rk-viz-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-faq-slate);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* SVG Animations Container */
.rk-viz-svg-container {
    width: 120px;
    height: 120px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-viz-svg {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    opacity: 0;
    transform: scale(0.9);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-viz-svg.active {
    opacity: 1;
    transform: scale(1);
}

/* Specific SVG Animations */
/* Q1: PEX Pipe */
.anim-pex-shield { stroke-dasharray: 60; animation: dashSpin 4s linear infinite; }
@keyframes dashSpin { to { stroke-dashoffset: -120; } }

/* Q2: pH Meter */
.anim-ph-needle { transition: transform 1s cubic-bezier(0.34, 1.56, 0.64, 1); transform-origin: bottom center; }
.rk-viz-svg.active .anim-ph-needle { transform: rotate(-30deg); } /* Points to acidic */

/* Q3: Propylene vs Ethylene */
.anim-leaf { transform-origin: center; animation: pulseLeaf 2s infinite alternate; }
@keyframes pulseLeaf { from { transform: scale(1); } to { transform: scale(1.1); } }

/* Q4: Bills Graph */
.anim-chart-line { stroke-dasharray: 200; stroke-dashoffset: 200; }
.rk-viz-svg.active .anim-chart-line { animation: drawChart 1.5s forwards ease-out; }
@keyframes drawChart { to { stroke-dashoffset: 0; } }

/* Q5: Flushing */
.anim-gear { transform-origin: center; animation: spinGear 3s linear infinite; }
@keyframes spinGear { to { transform: rotate(360deg); } }

.rk-viz-desc {
    font-size: 15px;
    font-weight: 600;
    color: var(--rk-faq-primary);
    background: var(--rk-faq-primary-light);
    padding: 8px 16px;
    border-radius: 8px;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .rk-faq-workspace { grid-template-columns: 1fr; }
    .rk-faq-header, .rk-faq-accordion-container, .rk-faq-visualizer { padding: 30px 20px; }
    .rk-faq-accordion-container { border-right: none; border-bottom: 1px solid var(--rk-faq-border); }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania o glikol w podłogówce",
    "description": "Zbiór kluczowych pytań inwestorów dotyczących wpływu glikolu na rury PEX, częstotliwości serwisowania, toksyczności oraz wzrostu kosztów ogrzewania pompą ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy glikol niszczy rury PEX lub PERT w ogrzewaniu podłogowym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, wysokiej klasy rury sieciowane (PEX) i polietylenowe o podwyższonej odporności termicznej (PERT) są całkowicie odporne na chemiczne działanie wodnych roztworów glikolu do stężenia 35%. Zagrożeniem dla polimeru nie jest sam glikol, lecz ewentualne przekroczenie maksymalnej temperatury zasilania określonej w klasach zastosowania według normy PN-EN ISO 15875."
        }
      },
      {
        "@type": "Question",
        "name": "Jak często konieczna jest wymiana glikolu w podłogówce domowej?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wymiany płynu niezamarzającego w instalacjach podłogowych należy dokonywać średnio co 5 do 8 lat, opierając się na corocznych pomiarach pH oraz gęstości refraktometrem. Degradacja inhibitorów korozji powoduje zakwaszenie środowiska i utratę właściwości ochronnych zładu, co niszczy elementy mosiężne."
        }
      },
      {
        "@type": "Question",
        "name": "Czym różni się glikol propylenowy od etylenowego i który wybrać?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Glikol propylenowy (PG) to biodegradowalna, nietoksyczna substancja powszechnie dopuszczona do instalacji wewnątrz budynków mieszkalnych. Glikol etylenowy (EG) ma nieco lepsze parametry lepkościowe i termiczne, jednak jest skrajnie toksyczną trucizną, dlatego jego zastosowanie ogranicza się wyłącznie do układów przemysłowych."
        }
      },
      {
        "@type": "Question",
        "name": "Czy glikol podnosi rachunki za ogrzewanie pompą ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, glikol zwiększa rachunki za energię elektryczną, ponieważ jego niższa pojemność cieplna zmusza automatykę do podwyższenia temperatury zasilania krzywej grzewczej układu CO. Praca pompy ciepła na wyższym parametrze obniża jej efektywność (SCOP), co przekłada się na wzrost wydatków rzędu 400-600 PLN rocznie."
        }
      },
      {
        "@type": "Question",
        "name": "Czy mogę samodzielnie dolać koncentrat glikolu do pracującej instalacji z wodą?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zabrania się chaotycznego dolewania glikolu do starych układów ze względu na ryzyko oderwania się złogów biologicznych i kamienia pod wpływem wchodzących w skład płynu środków powierzchniowo czynnych. Proces przejścia z wody na glikol bezwzględnie wymaga uprzedniego chemicznego płukania instalacji."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-faq",
    "name": "Baza Wiedzy Eksploatacyjnej: Glikol vs Woda",
    "description": "Kluczowe dane eksploatacyjne dotyczące żywotności, kompatybilności materiałowej i bezpieczeństwa stosowania glikolu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wymiana glikolu w podłogówce",
      "glikol propylenowy a etylenowy",
      "rury PEX odporność na glikol",
      "wzrost kosztów pompa ciepła glikol",
      "płukanie instalacji przed glikolem"
    ],
    "measurementTechnique": "Analiza cyklu życia płynów instalacyjnych oraz ich interakcji z polimerami (PN-EN ISO 15875) i stopami mosiądzu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Cykl życia płynu: 5-8 lat do momentu degradacji buforów pH.",
        "Kompatybilność PEX/PERT: 100% odporności do stężenia 35% PG.",
        "Spadek efektywności: Generuje koszty wyższe o 400-600 PLN/rok."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-faq",
    "name": "Interaktywny Asystent Eksploatacji",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Moduł typu Accordion z dynamicznym panelem diagnostycznym, wizualizujący zjawiska takie jak zakwaszanie zładu, toksyczność czy opory hydrauliczne.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "featureList": [
      "Interaktywne odpowiedzi na pytania techniczne",
      "Kontekstowa wizualizacja wektorowa zjawisk fizykochemicznych",
      "Dynamiczne podsumowania diagnostyczne"
    ]
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-faq-module" id="rk-glycol-faq-app">
    
    <!-- Nagłówek -->
    <div class="rk-faq-header">
        <h2>FAQ – Najczęściej zadawane pytania o glikol</h2>
        <p>
            Teoria inżynierska to jedno, ale codzienna eksploatacja budzi najwięcej wątpliwości. Wybierz pytanie, aby zobaczyć twarde dane techniczne i diagnozę problemu.
        </p>
    </div>

    <!-- Przestrzeń Interaktywna -->
    <div class="rk-faq-workspace">
        
        <!-- Lewa strona: Akordeon FAQ -->
        <div class="rk-faq-accordion-container" id="rk-faq-list">
            
            <!-- Pytanie 1 -->
            <div class="rk-faq-item active" data-viz="viz-pex">
                <button class="rk-faq-question" aria-expanded="true">
                    Czy glikol niszczy rury PEX lub PERT?
                    <div class="rk-faq-icon">
                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-faq-answer" style="max-height: 500px;">
                    <div class="rk-faq-answer-inner">
                        Nie, wysokiej klasy <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rury sieciowane (PEX)</a> i polietylenowe o podwyższonej odporności termicznej (PERT) są <strong>całkowicie odporne na chemiczne działanie</strong> wodnych roztworów glikolu do stężenia 35%. Zagrożeniem dla polimeru nie jest sama chemia płynu, lecz ewentualne przekroczenie maksymalnej temperatury zasilania określonej w klasach zastosowania według normy <a href="https://projekt-ogrzewania.pl/norma-en-iso-15875/">PN-EN ISO 15875</a>.
                    </div>
                </div>
            </div>

            <!-- Pytanie 2 -->
            <div class="rk-faq-item" data-viz="viz-ph">
                <button class="rk-faq-question" aria-expanded="false">
                    Jak często wymieniać glikol w domu?
                    <div class="rk-faq-icon">
                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-faq-answer">
                    <div class="rk-faq-answer-inner">
                        Wymiany płynu niezamarzającego należy dokonywać średnio <strong>co 5 do 8 lat</strong>. Jest to absolutnie konieczne z uwagi na wyczerpywanie się buforów zasadowych. Należy to weryfikować opierając się na corocznych pomiarach pH oraz gęstości refraktometrem. Degradacja inhibitorów korozji powoduje zakwaszenie środowiska i <strong>utratę właściwości ochronnych zładu</strong>, co skutkuje niszczeniem złączek mosiężnych. Zobacz więcej w dziale o <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">serwisowaniu podłogówki</a>.
                    </div>
                </div>
            </div>

            <!-- Pytanie 3 -->
            <div class="rk-faq-item" data-viz="viz-tox">
                <button class="rk-faq-question" aria-expanded="false">
                    Glikol propylenowy (PG) vs etylenowy (EG)?
                    <div class="rk-faq-icon">
                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-faq-answer">
                    <div class="rk-faq-answer-inner">
                        Glikol propylenowy (PG) to biodegradowalna, nietoksyczna substancja powszechnie dopuszczona do instalacji wewnątrz budynków mieszkalnych. Glikol etylenowy (EG) ma nieco lepsze parametry lepkościowe i termiczne, jednak <strong>jest skrajnie toksyczną trucizną</strong>. Wypicie nawet niewielkiej ilości przez uszkodzony wymiennik CWU jest śmiertelne, dlatego jego zastosowanie ogranicza się <strong>wyłącznie do szczelnych układów przemysłowych</strong>.
                    </div>
                </div>
            </div>

            <!-- Pytanie 4 -->
            <div class="rk-faq-item" data-viz="viz-bill">
                <button class="rk-faq-question" aria-expanded="false">
                    Czy glikol podnosi rachunki za pompę ciepła?
                    <div class="rk-faq-icon">
                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-faq-answer">
                    <div class="rk-faq-answer-inner">
                        Tak. Niższa pojemność cieplna glikolu zmusza automatykę do podwyższenia temperatury zasilania na krzywej grzewczej układu CO. Praca <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> na wyższym parametrze obniża jej efektywność sezonową (SCOP), co przekłada się na realne wzrosty wydatków eksploatacyjnych rzędu <strong>400-600 PLN rocznie</strong> w średniej wielkości domu jednorodzinnym.
                    </div>
                </div>
            </div>

            <!-- Pytanie 5 -->
            <div class="rk-faq-item" data-viz="viz-flush">
                <button class="rk-faq-question" aria-expanded="false">
                    Czy mogę sam dolać glikol do starej instalacji?
                    <div class="rk-faq-icon">
                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-faq-answer">
                    <div class="rk-faq-answer-inner">
                        <strong>Kategorycznie zabrania się</strong> chaotycznego dolewania koncentratu glikolu do pracujących starych układów wodnych. Środki powierzchniowo czynne zawarte w glikolu natychmiast oderwą stare złogi biologiczne i osady kamienne z rur, co błyskawicznie zablokuje rotametry i wymiennik ciepła. Proces przejścia z <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/">wody demineralizowanej</a> na glikol bezwzględnie wymaga uprzedniego chemicznego płukania instalacji stacjami asystującymi.
                    </div>
                </div>
            </div>

        </div>

        <!-- Prawa strona: Dynamiczny Wizualizator -->
        <div class="rk-faq-visualizer">
            <div class="rk-viz-card">
                <div class="rk-viz-title">Panel Diagnostyczny</div>
                
                <div class="rk-viz-svg-container">
                    
                    <!-- VIZ 1: PEX (Active by default) -->
                    <svg class="rk-viz-svg active" id="viz-pex" viewBox="0 0 100 100">
                        <circle cx="50" cy="50" r="30" fill="none" stroke="#e2e8f0" stroke-width="8"/>
                        <circle cx="50" cy="50" r="30" fill="none" stroke="#10b981" stroke-width="8" class="anim-pex-shield" stroke-dasharray="20 10"/>
                        <text x="50" y="55" font-size="14" font-weight="900" fill="#0f172a" text-anchor="middle">PEX</text>
                    </svg>

                    <!-- VIZ 2: pH -->
                    <svg class="rk-viz-svg" id="viz-ph" viewBox="0 0 100 100">
                        <path d="M 20 50 A 30 30 0 0 1 80 50" fill="none" stroke="#e2e8f0" stroke-width="8" stroke-linecap="round"/>
                        <path d="M 20 50 A 30 30 0 0 1 50 20" fill="none" stroke="#ef4444" stroke-width="8" stroke-linecap="round"/>
                        <line x1="50" y1="50" x2="50" y2="25" stroke="#334155" stroke-width="4" stroke-linecap="round" class="anim-ph-needle"/>
                        <circle cx="50" cy="50" r="6" fill="#0f172a"/>
                    </svg>

                    <!-- VIZ 3: Toxicity -->
                    <svg class="rk-viz-svg" id="viz-tox" viewBox="0 0 100 100">
                        <!-- Shield/Leaf -->
                        <path d="M 50 15 C 70 30 70 60 50 85 C 30 60 30 30 50 15" fill="#10b981" opacity="0.2"/>
                        <path d="M 50 15 C 70 30 70 60 50 85 C 30 60 30 30 50 15" fill="none" stroke="#10b981" stroke-width="4" stroke-linejoin="round" class="anim-leaf"/>
                        <text x="50" y="55" font-size="20" font-weight="900" fill="#047857" text-anchor="middle">PG</text>
                    </svg>

                    <!-- VIZ 4: Bills -->
                    <svg class="rk-viz-svg" id="viz-bill" viewBox="0 0 100 100">
                        <line x1="20" y1="80" x2="80" y2="80" stroke="#94a3b8" stroke-width="2"/>
                        <line x1="20" y1="80" x2="20" y2="20" stroke="#94a3b8" stroke-width="2"/>
                        <path d="M 25 70 L 40 60 L 55 65 L 75 30" fill="none" stroke="#ef4444" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" class="anim-chart-line"/>
                        <polygon points="70,30 75,30 75,35" fill="#ef4444"/>
                    </svg>

                    <!-- VIZ 5: Flush -->
                    <svg class="rk-viz-svg" id="viz-flush" viewBox="0 0 100 100">
                        <circle cx="50" cy="50" r="25" fill="none" stroke="#0ea5e9" stroke-width="4"/>
                        <path d="M 50 15 L 50 25 M 50 75 L 50 85 M 15 50 L 25 50 M 75 50 L 85 50 M 25 25 L 32 32 M 75 75 L 68 68 M 25 75 L 32 68 M 75 25 L 68 32" stroke="#0ea5e9" stroke-width="4" stroke-linecap="round" class="anim-gear"/>
                        <circle cx="50" cy="50" r="10" fill="#0ea5e9"/>
                    </svg>

                </div>

                <div class="rk-viz-desc" id="rk-viz-text">
                    Pełna odporność chemiczna polimeru.
                </div>
            </div>
        </div>

    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE DOMENOWE
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-glycol-faq-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Moduł FAQ oraz jego znaczniki strukturalne JSON-LD stanowią własność Projekt-Ogrzewania.pl. Wykryto próbę uruchomienia na nieautoryzowanej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Accordionu i Wizualizatora
    const faqItems = document.querySelectorAll('.rk-faq-item');
    const svgs = document.querySelectorAll('.rk-viz-svg');
    const vizText = document.getElementById('rk-viz-text');

    // Słownik opisów dla wizualizacji
    const vizDescriptions = {
        'viz-pex': 'Pełna odporność chemiczna polimeru.',
        'viz-ph': 'Kwasowy odczyn trawi mosiądz (pH < 7).',
        'viz-tox': 'Wybieraj tylko nietoksyczny wariant PG.',
        'viz-bill': 'Spadek SCOP = wyższe koszty prądu.',
        'viz-flush': 'Konieczne chemiczne płukanie instalacji.'
    };

    // Kolory badge'a diagnostycznego
    const vizColors = {
        'viz-pex': { bg: 'var(--rk-faq-primary-light)', color: 'var(--rk-faq-primary)' },
        'viz-ph': { bg: '#fef2f2', color: '#ef4444' },
        'viz-tox': { bg: '#ecfdf5', color: '#10b981' },
        'viz-bill': { bg: '#fef2f2', color: '#ef4444' },
        'viz-flush': { bg: 'var(--rk-faq-primary-light)', color: 'var(--rk-faq-primary)' }
    };

    // Ustawienie wysokości pierwszego (aktywnego) elementu przy ładowaniu
    const firstAnswer = faqItems[0].querySelector('.rk-faq-answer');
    firstAnswer.style.maxHeight = firstAnswer.scrollHeight + "px";

    faqItems.forEach(item => {
        const questionBtn = item.querySelector('.rk-faq-question');
        
        questionBtn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            // Zamknij wszystkie
            faqItems.forEach(el => {
                el.classList.remove('active');
                el.querySelector('.rk-faq-question').setAttribute('aria-expanded', 'false');
                el.querySelector('.rk-faq-answer').style.maxHeight = null;
            });

            // Ukryj wszystkie SVG
            svgs.forEach(svg => svg.classList.remove('active'));

            if (!isActive) {
                // Otwórz kliknięty
                item.classList.add('active');
                questionBtn.setAttribute('aria-expanded', 'true');
                const answer = item.querySelector('.rk-faq-answer');
                answer.style.maxHeight = answer.scrollHeight + "px";

                // Pokaż odpowiednie SVG
                const targetViz = item.getAttribute('data-viz');
                const svgToShow = document.getElementById(targetViz);
                if(svgToShow) {
                    // Wymuszenie reflow dla restartu animacji (opcjonalne, ale dodaje efektu)
                    void svgToShow.offsetWidth;
                    svgToShow.classList.add('active');
                }

                // Aktualizuj tekst i kolor panelu diagnostycznego
                vizText.innerText = vizDescriptions[targetViz];
                vizText.style.backgroundColor = vizColors[targetViz].bg;
                vizText.style.color = vizColors[targetViz].color;
            } else {
                // Jeśli użytkownik zamknął aktywny element, przywracamy domyślny wizualizator (np. pierwszy)
                const defaultViz = 'viz-pex';
                document.getElementById(defaultViz).classList.add('active');
                vizText.innerText = vizDescriptions[defaultViz];
                vizText.style.backgroundColor = vizColors[defaultViz].bg;
                vizText.style.color = vizColors[defaultViz].color;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-exp-primary: #0f172a;
    --rk-exp-accent: #0ea5e9;
    --rk-exp-accent-dark: #0369a1;
    --rk-exp-bg: #ffffff;
    --rk-exp-surface: #f8fafc;
    --rk-exp-water: #38bdf8;
    --rk-exp-water-light: #e0f2fe;
    --rk-exp-glycol: #f59e0b;
    --rk-exp-glycol-light: #fef3c7;
    --rk-exp-text: #475569;
    --rk-exp-border: #e2e8f0;
}

.rk-expert-verdict-wrapper {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

.rk-expert-header {
    text-align: center;
    margin-bottom: 30px;
}

.rk-expert-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-exp-primary);
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

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

/* Interaktywny selektor scenariusza */
.rk-exp-scenario-nav {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-exp-nav-btn {
    padding: 12px 24px;
    border-radius: 12px;
    border: 2px solid var(--rk-exp-border);
    background: #ffffff;
    font-weight: 800;
    font-size: 14px;
    color: var(--rk-exp-text);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-exp-nav-btn:hover {
    background: var(--rk-exp-surface);
    border-color: #cbd5e1;
}

.rk-exp-nav-btn.active[data-scenario="home"] {
    background: var(--rk-exp-water-light);
    border-color: var(--rk-exp-water);
    color: var(--rk-exp-accent-dark);
    box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.2);
}

.rk-exp-nav-btn.active[data-scenario="holiday"] {
    background: var(--rk-exp-glycol-light);
    border-color: var(--rk-exp-glycol);
    color: #b45309;
    box-shadow: 0 10px 15px -3px rgba(245, 158, 11, 0.2);
}

/* Kontener Cytatu */
.rk-expert-tip-container {
    background: var(--rk-exp-surface);
    border-radius: 20px;
    padding: 35px 40px;
    display: flex;
    gap: 35px;
    align-items: center;
    border-left: 8px solid var(--rk-exp-accent);
    position: relative;
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.05);
    transition: all 0.5s ease;
    overflow: hidden;
}

.rk-expert-tip-container.state-holiday {
    border-left-color: var(--rk-exp-glycol);
    background: #fffbeb;
}

/* Animowane tło (Subtelne SVG) */
.rk-exp-bg-icon {
    position: absolute;
    right: -20px;
    bottom: -20px;
    width: 200px;
    height: 200px;
    opacity: 0.05;
    transition: all 0.5s ease;
    pointer-events: none;
}

.rk-expert-tip-container.state-holiday .rk-exp-bg-icon {
    color: var(--rk-exp-glycol);
    transform: rotate(-15deg) scale(1.1);
}

.rk-expert-photo-wrap {
    flex-shrink: 0;
    width: 110px;
    height: 110px;
    position: relative;
    z-index: 2;
}

.rk-expert-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 4px solid #ffffff;
    box-shadow: 0 8px 15px rgba(0,0,0,0.1);
}

/* Odznaka na zdjęciu */
.rk-expert-badge {
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: #ffffff;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    transition: all 0.4s;
}

.rk-anim-badge-icon {
    animation: pulseBadgeIcon 2s infinite alternate;
}

@keyframes pulseBadgeIcon {
    from { transform: scale(0.9); }
    to { transform: scale(1.1); }
}

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

.rk-expert-label {
    display: inline-block;
    font-size: 12px;
    font-weight: 900;
    color: var(--rk-exp-accent);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
    background: var(--rk-exp-water-light);
    padding: 4px 10px;
    border-radius: 6px;
    transition: all 0.4s;
}

.rk-expert-tip-container.state-holiday .rk-expert-label {
    color: #b45309;
    background: #fef3c7;
}

.rk-expert-text {
    font-size: 17px;
    line-height: 1.7;
    color: var(--rk-exp-primary);
    font-style: italic;
    font-weight: 600;
    margin: 0;
    transition: opacity 0.3s;
}

.rk-expert-signature {
    display: block;
    margin-top: 15px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-exp-text);
}

.rk-expert-signature span {
    color: var(--rk-exp-primary);
    font-weight: 900;
}

/* Elementy ukryte do podmiany JS */
.rk-hidden-content { display: none; }

@media (max-width: 768px) {
    .rk-expert-tip-container { flex-direction: column; text-align: center; padding: 30px 25px; }
    .rk-expert-photo-wrap { margin-bottom: 10px; }
    .rk-exp-scenario-nav { flex-direction: column; padding: 0 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-werdykt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Werdykt końcowy inżyniera: Glikol czy woda zdemineralizowana?",
    "description": "Ostateczna rekomendacja Roberta Kucharskiego. Glikol to rozwiązanie do zadań specjalnych (domki letniskowe). W domach całorocznych należy stosować wodę demineralizowaną z inhibitorem.",
    "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-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "W standardowym, całorocznym domu jednorodzinnym izolowanym według standardu WT2021, stosowanie glikolu jest poważnym błędem sztuki inżynierskiej i ekonomicznym samobójstwem. Obniża sprawność przekazywania ciepła i dławi wydajność pomp obiegowych.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "CEO & Główny Projektant HVAC",
      "url": "https://projekt-ogrzewania.pl"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-werdykt",
    "name": "Wytyczne projektowe dla nośników ciepła (Podsumowanie)",
    "description": "Zestawienie rekomendacji wyboru czynnika roboczego w zależności od profilu termicznego budynku.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "woda zdemineralizowana z inhibitorem korozji",
      "glikol w domu letniskowym",
      "spadek efektywności pompy ciepła glikol",
      "ekonomiczne samobójstwo w instalacji CO",
      "wytyczne WT2021 ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Analiza wskaźników efektywności ekonomicznej (ROI) oraz bezpieczeństwa hydraulicznego instalacji płaszczyznowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dom Całoroczny (WT2021): Bezwzględnie woda zdemineralizowana + inhibitor. Gwarantuje maksymalną wydajność pomp obiegowych i ciepła.",
        "Obiekt Okresowy (Letniskowy/Garaż): Konieczny wodny roztwór glikolu propylenowego (25-35%) w celu ochrony przed rozerwaniem rur."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-werdykt",
    "name": "Interaktywny Werdykt Eksperta",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Moduł decyzyjny podsumowujący artykuł, pozwalający na wyświetlenie spersonalizowanej rekomendacji inżynierskiej zależnie od typu posiadanego obiektu budowlanane.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-expert-verdict-wrapper" id="rk-verdict-app">
    
    <div class="rk-expert-header">
        <h2>
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Ostateczny Werdykt Inżyniera
        </h2>
        <p>Wybierz typ swojego budynku, aby sprawdzić, co ostatecznie polecam zastosować w Twojej instalacji.</p>
    </div>

    <div class="rk-exp-scenario-nav">
        <button class="rk-exp-nav-btn active" data-scenario="home">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
            Dom całoroczny (Standard)
        </button>
        <button class="rk-exp-nav-btn" data-scenario="holiday">
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            Dom letniskowy / Garaż
        </button>
    </div>
    
    <div class="rk-expert-tip-container" id="rk-quote-box">
        
        <svg class="rk-exp-bg-icon" id="rk-bg-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
            <path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path>
        </svg>

        <div class="rk-expert-photo-wrap">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Inżynier HVAC" class="rk-expert-photo" loading="lazy">
            <div class="rk-expert-badge" id="rk-badge-icon">
                <svg class="rk-anim-badge-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#0ea5e9" stroke-width="3" stroke-linecap="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
            </div>
        </div>
        
        <div class="rk-expert-content">
            <span class="rk-expert-label" id="rk-quote-label">Rekomendacja dla domu całorocznego</span>
            <p class="rk-expert-text" id="rk-quote-text">
                "W standardowym, całorocznym domu jednorodzinnym izolowanym według standardu WT2021, stosowanie glikolu jest <strong>poważnym błędem sztuki inżynierskiej i ekonomicznym samobójstwem</strong>. Obniża sprawność przekazywania ciepła i dławi wydajność pomp obiegowych. Zleć profesjonaliście napełnienie układu <strong style="color:var(--rk-exp-accent);">wodą zdemineralizowaną z inhibitorem korozji</strong>. Taki układ posłuży bezawaryjnie przez dekady."
            </p>
            <span class="rk-expert-signature"><span>Robert Kucharski</span>, Główny Projektant Projekt-Ogrzewania.pl</span>
        </div>
    </div>

    <div class="rk-hidden-content" id="data-holiday">
        <span class="rk-hidden-label">Rekomendacja dla obiektów okresowych</span>
        <div class="rk-hidden-text">
            "W domkach letniskowych, halach czy nieogrzewanych garażach glikol to <strong>narzędzie do zadań specjalnych</strong>. Tutaj priorytetem nie jest walka o każdy ułamek sprawności SCOP, ale ochrona rur przed rozsadzeniem przez mróz. Należy bezwzględnie zastosować <strong style="color:#b45309;">nietoksyczny glikol propylenowy (PG)</strong> i pamiętać, by układ został zaprojektowany z uwzględnieniem większych oporów hydraulicznych i gęstszego rozstawu wężownic."
        </div>
        <div class="rk-hidden-svg">
            <path d="M22 12h-4l-3 9L9 3l-3 9H2"></path>
        </div>
        <div class="rk-hidden-badge-color">#f59e0b</div>
        <div class="rk-hidden-badge-path">
            <line x1="12" y1="2" x2="12" y2="22"></line><line x1="22" y1="12" x2="2" y2="12"></line><line x1="19.07" y1="4.93" x2="4.93" y2="19.07"></line><line x1="19.07" y1="19.07" x2="4.93" y2="4.93"></line>
        </div>
    </div>

    <div class="rk-hidden-content" id="data-home">
        <span class="rk-hidden-label">Rekomendacja dla domu całorocznego</span>
        <div class="rk-hidden-text">
            "W standardowym, całorocznym domu jednorodzinnym izolowanym według standardu WT2021, stosowanie glikolu jest <strong>poważnym błędem sztuki inżynierskiej i ekonomicznym samobójstwem</strong>. Obniża sprawność przekazywania ciepła i dławi wydajność pomp obiegowych. Zleć profesjonaliście napełnienie układu <strong style="color:var(--rk-exp-accent);">wodą zdemineralizowaną z inhibitorem korozji</strong>. Taki układ posłuży bezawaryjnie przez dekady."
        </div>
        <div class="rk-hidden-svg">
            <path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path>
        </div>
        <div class="rk-hidden-badge-color">#0ea5e9</div>
        <div class="rk-hidden-badge-path">
            <polyline points="20 6 9 17 4 12"></polyline>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków H2/H3 w komunikacie)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-verdict-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; width: 100%; border: 2px solid #dc2626;">
                    <span style="font-size: 32px; margin-bottom: 15px; display:block;">🔒</span>
                    <div style="font-size: 20px; font-weight: bold; margin-bottom: 10px;">Moduł ekspercki chroniony autorsko</div>
                    <p style="font-size: 14px; color: #7f1d1d; line-height:1.6; max-width: 500px; margin: 0 auto;">Rekomendacja ekspercka oraz struktura danych JSON-LD jest własnością Projekt-Ogrzewania.pl. Wykryto nieautoryzowane użycie.</p>
                </div>
            `;
        }
        return;
    }

    // 2. Logika Zmiany Scenariusza
    const btns = document.querySelectorAll('.rk-exp-nav-btn');
    const quoteBox = document.getElementById('rk-quote-box');
    const quoteLabel = document.getElementById('rk-quote-label');
    const quoteText = document.getElementById('rk-quote-text');
    const bgIcon = document.getElementById('rk-bg-icon');
    const badgeIcon = document.querySelector('.rk-anim-badge-icon');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Animacja wygaszania
            quoteText.style.opacity = 0;
            
            setTimeout(() => {
                // Aktywacja przycisku
                btns.forEach(b => b.classList.remove('active'));
                this.classList.add('active');

                const scenario = this.getAttribute('data-scenario');
                const dataSrc = document.getElementById('data-' + scenario);

                // Zmiana stylu kontenera
                if (scenario === 'holiday') {
                    quoteBox.classList.add('state-holiday');
                } else {
                    quoteBox.classList.remove('state-holiday');
                }

                // Podmiana danych z ukrytego kontenera
                quoteLabel.innerHTML = dataSrc.querySelector('.rk-hidden-label').innerHTML;
                quoteText.innerHTML = dataSrc.querySelector('.rk-hidden-text').innerHTML;
                bgIcon.innerHTML = dataSrc.querySelector('.rk-hidden-svg').innerHTML;
                
                // Podmiana ikony w badge'u
                badgeIcon.style.stroke = dataSrc.querySelector('.rk-hidden-badge-color').innerText;
                badgeIcon.innerHTML = dataSrc.querySelector('.rk-hidden-badge-path').innerHTML;

                // Animacja pojawiania
                quoteText.style.opacity = 1;
            }, 300);
        });
    });
});
</script>



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

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

/* Sekcja Nagłówkowa i Cytat */
.rk-sum-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, var(--rk-sum-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
}

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

.rk-sum-quote-box {
    position: relative;
    max-width: 700px;
    margin: 0 auto;
}

.rk-sum-quote-mark {
    font-size: 80px;
    color: rgba(255,255,255,0.1);
    position: absolute;
    top: -30px;
    left: -20px;
    line-height: 1;
    font-family: serif;
}

.rk-sum-quote-text {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.4;
    color: #ffffff;
    margin: 0 0 15px 0;
    position: relative;
    z-index: 1;
}

.rk-sum-author {
    font-size: 14px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
}

.rk-sum-author span { color: var(--rk-sum-gold); }

/* Interaktywny Symulator Decyzji */
.rk-sum-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-decision-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-sum-border);
    border-radius: 20px;
    padding: 10px;
    margin-bottom: 30px;
}

.rk-decision-btn {
    padding: 20px;
    border-radius: 16px;
    border: 2px solid transparent;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

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

.rk-decision-btn.active[data-choice="pro"] {
    background: var(--rk-sum-green-light);
    border-color: var(--rk-sum-green);
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.2);
}

.rk-decision-btn.active[data-choice="amateur"] {
    background: #fef2f2;
    border-color: var(--rk-sum-red);
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.2);
}

.rk-decision-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #64748b;
    transition: all 0.3s;
}

.rk-decision-btn.active[data-choice="pro"] .rk-decision-icon {
    background: var(--rk-sum-green);
    color: #ffffff;
}

.rk-decision-btn.active[data-choice="amateur"] .rk-decision-icon {
    background: var(--rk-sum-red);
    color: #ffffff;
}

.rk-decision-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-sum-dark);
    margin: 0;
}

/* Wynik symulacji */
.rk-sim-result {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 30px;
    align-items: center;
    padding: 30px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-sum-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-anim-svg {
    width: 100%;
    height: auto;
    max-width: 120px;
    margin: 0 auto;
}

.anim-element {
    transform-origin: center;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.state-pro .anim-element { fill: var(--rk-sum-green); stroke: #047857; animation: pulseDrop 2s infinite; }
.state-amateur .anim-element { fill: transparent; stroke: var(--rk-sum-red); stroke-dasharray: 10 10; animation: freezePipe 0.8s forwards infinite alternate; }

@keyframes pulseDrop {
    0% { filter: drop-shadow(0 0 0 rgba(16, 185, 129, 0.4)); transform: scale(0.95) translateY(0); }
    50% { filter: drop-shadow(0 0 15px rgba(16, 185, 129, 0.8)); transform: scale(1.05) translateY(-5px); }
    100% { filter: drop-shadow(0 0 0 rgba(16, 185, 129, 0.4)); transform: scale(0.95) translateY(0); }
}

@keyframes freezePipe {
    0% { stroke-dashoffset: 20; opacity: 1; transform: scale(1); filter: drop-shadow(0 0 0 rgba(239, 68, 68, 0.8));}
    100% { stroke-dashoffset: 0; opacity: 0.7; transform: scale(0.95); filter: drop-shadow(0 0 10px rgba(239, 68, 68, 0.8));}
}

.rk-result-content h4 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-sum-dark);
}

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

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

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

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

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

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

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

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

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

@media (max-width: 768px) {
    .rk-sum-header, .rk-sum-interactive, .rk-sum-cta-box { padding: 35px 25px; }
    .rk-decision-wrapper { grid-template-columns: 1fr; gap: 10px; }
    .rk-sim-result { grid-template-columns: 1fr; text-align: center; padding: 25px; }
    .rk-anim-svg { max-width: 80px; }
    .rk-sum-quote-text { font-size: 18px; }
    .rk-btn-massive { width: 100%; padding: 16px 20px; font-size: 16px; }
}
</style>

<!-- ==========================================
     INVISIBLE DATA (JSON-LD)
=========================================== -->
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Werdykt końcowy inżyniera – Glikol czy woda w podłogówce?",
    "description": "Ostateczny werdykt: kiedy stosować glikol, a kiedy wodę zdemineralizowaną z inhibitorem w instalacji ogrzewania podłogowego. Wpływ na koszty i sprawność układu.",
    "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-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset",
    "name": "Porównanie efektywności: Woda zdemineralizowana vs Glikol Propylenowy",
    "description": "Zestawienie parametrów hydraulicznych i termodynamicznych wpływających na sprawność pompy ciepła i koszty eksploatacji ogrzewania.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "glikol w podłogówce",
      "woda zdemineralizowana z inhibitorem",
      "sprawność pompy obiegowej",
      "koszty eksploatacji ogrzewania",
      "standard WT2021"
    ],
    "measurementTechnique": "Analiza różnic w pojemności cieplnej, lepkości i wpływu na wydajność hydrauliczną układu grzewczego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Woda zdemineralizowana z inhibitorem: Gwarantuje maksymalną sprawność przekazywania ciepła i żywotność urządzeń w domach całorocznych.",
        "Glikol Propylenowy: Generuje spadki efektywności, dławi rotametry. Zalecany wyłącznie do zadań specjalnych (domy letniskowe, hale)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp",
    "name": "Symulator Czynnika Grzewczego: Woda vs Glikol",
    "description": "Interaktywne narzędzie obrazujące różnice pomiędzy zastosowaniem wody zdemineralizowanej a glikolu w standardowej instalacji ogrzewania podłogowego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<!-- ==========================================
     HTML KONTENERA
=========================================== -->
<div class="rk-sum-container" id="glikol-sum-app">
    <!-- Nagłówek i Cytat -->
    <div class="rk-sum-header">
        <div class="rk-sum-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            Werdykt Końcowy
        </div>
        <div class="rk-sum-quote-box">
            <div class="rk-sum-quote-mark">"</div>
            <p class="rk-sum-quote-text">
                Glikol w podłogówce to narzędzie do zadań specjalnych, a nie uniwersalny dodatek. W standardowym domu całorocznym to inżynierski błąd i ekonomiczne samobójstwo.
            </p>
            <div class="rk-sum-author">
                <span>Robert Kucharski</span> | CEO HVAC
            </div>
        </div>
    </div>

    <!-- Symulator Standardu -->
    <div class="rk-sum-interactive">
        <div class="rk-decision-wrapper" id="simDecisionsGlikol">
            <button class="rk-decision-btn active" data-choice="pro">
                <div class="rk-decision-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg>
                </div>
                <h4 class="rk-decision-title">Woda Demineralizowana</h4>
            </button>
            <button class="rk-decision-btn" data-choice="amateur">
                <div class="rk-decision-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon><line x1="12" y1="2" x2="12" y2="22"></line><line x1="22" y1="9.27" x2="2" y2="9.27"></line></svg>
                </div>
                <h4 class="rk-decision-title">Mieszanka Glikolowa</h4>
            </button>
        </div>

        <div class="rk-sim-result state-pro" id="simResultBoxGlikol">
            <svg class="rk-anim-svg" viewBox="0 0 100 100">
                <!-- SVG animacja dla wody (Kropla) -->
                <path class="anim-element water-drop" d="M50 15 C 50 15, 20 50, 20 70 C 20 86.5 33.5 100 50 100 C 66.5 100 80 86.5 80 70 C 80 50, 50 15, 50 15 Z" stroke-width="4" stroke-linejoin="round"/>
                <polyline class="anim-check" points="35 65 45 75 65 45" fill="none" stroke="#ffffff" stroke-width="6" stroke-linecap="round" stroke-linejoin="round" />
            </svg>
            <div class="rk-result-content" id="simResultContentGlikol">
                <h4 style="color: var(--rk-sum-green);">Maksymalna wydajność układu</h4>
                <p>Napełnienie instalacji <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/">wodą zdemineralizowaną z inhibitorem korozji</a> gwarantuje brak dławienia na <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrach</a> i stabilną, wysoce efektywną pracę <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>.</p>
                <p>To rozwiązanie dedykowane dla standardowych domów z izolacją WT2021. Prawidłowo obliczona instalacja posłuży bezawaryjnie kilkadziesiąt lat.</p>
            </div>
        </div>
    </div>

    <!-- Mocne CTA -->
    <div class="rk-sum-cta-box">
        <h3 class="rk-sum-cta-title">Optymalizuj zyski i tnij koszty eksploatacji</h3>
        <p class="rk-sum-cta-text">
            Chcesz wiedzieć, kiedy inwestycja w technologie grzewcze ma sens matematyczny? Poznaj wyliczenia, które pomogą Ci podjąć opłacalne decyzje instalacyjne na ten rok.
        </p>
        <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/" class="rk-btn-massive">
            SPRAWDŹ REALNY ZWROT Z INWESTYCJI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<!-- ==========================================
     LOGIKA JS I ZABEZPIECZENIE (DOMAIN LOCK)
=========================================== -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('glikol-sum-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #f87171; border: 2px solid #ef4444; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛑</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Naruszenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Kontener podsumowujący oraz struktura JSON-LD są własnością serwisu Projekt-Ogrzewania.pl. Wykryto próbę kradzieży kodu na nieautoryzowanej domenie.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Symulatora Decyzji
    const btns = document.querySelectorAll('#simDecisionsGlikol .rk-decision-btn');
    const resultBox = document.getElementById('simResultBoxGlikol');
    const resultContent = document.getElementById('simResultContentGlikol');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Zmiana aktywnych przycisków
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const choice = this.getAttribute('data-choice');

            // Aktualizacja wizualizacji
            if (choice === 'pro') {
                resultBox.className = 'rk-sim-result state-pro';
                resultContent.innerHTML = `
                    <h4 style="color: var(--rk-sum-green);">Maksymalna wydajność układu</h4>
                    <p>Napełnienie instalacji <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-w-ogrzewaniu-podlogowym-dlaczego-to-najlepszy-wybor-zamiast-zwyklej-wody-z-kranu/">wodą zdemineralizowaną z inhibitorem korozji</a> gwarantuje brak dławienia na <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrach</a> i stabilną, wysoce efektywną pracę <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>.</p>
                    <p>To rozwiązanie dedykowane dla standardowych domów z izolacją WT2021. Prawidłowo obliczona instalacja posłuży bezawaryjnie kilkadziesiąt lat.</p>
                `;
                resultBox.querySelector('.anim-element').setAttribute('d', 'M50 15 C 50 15, 20 50, 20 70 C 20 86.5 33.5 100 50 100 C 66.5 100 80 86.5 80 70 C 80 50, 50 15, 50 15 Z'); // Kropla
                resultBox.querySelector('.anim-check').style.display = 'block';
            } else {
                resultBox.className = 'rk-sim-result state-amateur';
                resultContent.innerHTML = `
                    <h4 style="color: var(--rk-sum-red);">Utrata sprawności i wyższe koszty</h4>
                    <p>Mieszanka glikolowa obniża zdolność przekazywania ciepła o 15% i zmusza do podniesienia temperatury na źródle ciepła, drastycznie zawyżając <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/" style="color: var(--rk-sum-red);">rachunki za prąd z pompy ciepła</a>.</p>
                    <p>Dodatkowo zmusza inwestora do wymiany drogiego czynnika co 5-8 lat. Rozwiązanie to stosuj tylko do budynków letniskowych, narażonych na zamarznięcie.</p>
                `;
                resultBox.querySelector('.anim-element').setAttribute('d', 'M50 10 L10 25 L10 50 C10 75 40 90 50 95 C60 90 90 75 90 50 L90 25 Z'); // Tarcza pękająca
                resultBox.querySelector('.anim-check').style.display = 'none';
            }
        });
    });
});
</script>



<style>
:root {
    --rk-res-dark: #0f172a;
    --rk-res-blue: #0ea5e9;
    --rk-res-blue-dark: #0369a1;
    --rk-res-accent: #f59e0b;
    --rk-res-bg: #ffffff;
    --rk-res-surface: #f8fafc;
    --rk-res-border: #e2e8f0;
    --rk-res-text: #334155;
    --rk-res-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.rk-resource-hub {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--rk-res-bg);
    border-radius: 24px;
    border: 1px solid var(--rk-res-border);
    box-shadow: var(--rk-res-shadow);
    overflow: hidden;
}

/* Header */
.rk-res-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-res-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
}

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

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

/* Interaktywny Selektor Materiałów */
.rk-res-workspace {
    padding: 40px;
    background: #ffffff;
}

.rk-res-toggle-nav {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
}

.rk-res-btn {
    padding: 14px 28px;
    border-radius: 14px;
    border: 2px solid var(--rk-res-border);
    background: #ffffff;
    cursor: pointer;
    font-weight: 800;
    font-size: 14px;
    color: var(--rk-res-text);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-res-btn:hover {
    border-color: var(--rk-res-blue);
    background: var(--rk-res-surface);
}

.rk-res-btn.active {
    background: var(--rk-res-blue);
    border-color: var(--rk-res-blue);
    color: #ffffff;
    box-shadow: 0 10px 15px -3px rgba(14, 165, 233, 0.3);
}

/* Panele Zawartości */
.rk-res-panel {
    display: none;
    animation: resFadeIn 0.5s ease-out forwards;
}

.rk-res-panel.active {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

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

/* Wizualizacja Dokumentu */
.rk-res-visual {
    background: var(--rk-res-surface);
    border-radius: 20px;
    padding: 30px;
    position: relative;
    border: 1px solid var(--rk-res-border);
    display: flex;
    justify-content: center;
}

.rk-svg-doc {
    width: 100%;
    max-width: 220px;
    filter: drop-shadow(0 15px 20px rgba(0,0,0,0.1));
}

.anim-line { stroke-dasharray: 100; stroke-dashoffset: 100; animation: drawLine 2s forwards; }
@keyframes drawLine { to { stroke-dashoffset: 0; } }

/* Treść Techniczna */
.rk-res-info h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-res-dark);
    margin: 0 0 15px 0;
}

.rk-res-info p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-res-text);
    margin-bottom: 20px;
}

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

.rk-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-res-dark);
    margin-bottom: 12px;
}

.rk-feature-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rk-res-blue);
}

/* Download Buttons */
.rk-download-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--rk-res-dark);
    color: #ffffff;
    text-decoration: none;
    padding: 18px 35px;
    border-radius: 14px;
    font-weight: 900;
    font-size: 16px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.2);
}

.rk-download-link:hover {
    background: var(--rk-res-blue-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(3, 105, 161, 0.3);
}

/* Sekcja Dataset / ROI */
.rk-res-footer {
    padding: 30px 45px;
    background: var(--rk-res-surface);
    border-top: 1px solid var(--rk-res-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rk-res-meta {
    font-size: 13px;
    color: var(--rk-res-muted);
    font-weight: 600;
}

.rk-res-meta strong { color: var(--rk-res-dark); }

@media (max-width: 768px) {
    .rk-res-panel.active { grid-template-columns: 1fr; text-align: center; }
    .rk-res-toggle-nav { flex-direction: column; }
    .rk-res-visual { order: -1; }
    .rk-download-link { width: 100%; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#article-hub",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/"
    },
    "headline": "Centrum Wiedzy o Glikolu: Infografika i Przewodnik Inżynierski PDF",
    "description": "Zestaw profesjonalnych materiałów edukacyjnych opracowanych przez Roberta Kucharskiego. Pobierz infografikę stężeń oraz pełny podręcznik eksploatacji instalacji glikolowej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Glikol-w-ogrzewaniu-podlogowym.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-09-10",
    "dateModified": "2026-05-09"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#dataset-materialy",
    "name": "Baza Parametrów Eksploatacyjnych Glikolu MPG 2026",
    "description": "Strukturyzowane dane techniczne dotyczące temperatur krzepnięcia, lepkości kinematycznej oraz spadków sprawności cieplnej zawarte w plikach PDF i WebP.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tabela stężeń glikolu propylenowego",
      "przewodność cieplna glikolu mpg",
      "spadek sprawności podłogówki o 15%",
      "instrukcja napełniania instalacji co",
      "norma PN-EN 12828 wytyczne"
    ],
    "measurementTechnique": "Analiza laboratoryjna roztworów glikolowych MPG w funkcji temperatury pracy układu CO (20-60°C).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Glikol 30%: Ochrona do -14°C, spadek przewodności o 10%.",
        "Glikol 35%: Ochrona do -20°C, wzrost oporów o 20%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/#webapp-hub",
    "name": "Interaktywny Eksplorator Zasobów Inżynierskich",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Narzędzie interaktywne pozwalające na natychmiastowy dostęp do wiedzy eksperckiej, symulację korzyści z pobrania dokumentacji oraz weryfikację zgodności z normą PN-EN 12828.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-resource-hub" id="rk-resources-app">
    
    <div class="rk-res-header">
        <h2>Pobierz Kompletny Przewodnik Inżynierski</h2>
        <p>Zintegrowany pakiet wiedzy: interaktywna infografika dla szybkiej analizy oraz pełna dokumentacja techniczna PDF dla Twojej instalacji. Sprawdź twarde dane przed podjęciem decyzji.</p>
    </div>

    <div class="rk-res-workspace">
        
        <div class="rk-res-toggle-nav">
            <button class="rk-res-btn active" data-target="panel-infographic">
                <span>🖼️</span> Infografika Ekspercka
            </button>
            <button class="rk-res-btn" data-target="panel-pdf">
                <span>📄</span> Poradnik Techniczny (PDF)
            </button>
        </div>

        <div class="rk-res-panel active" id="panel-infographic">
            <div class="rk-res-visual">
                <svg class="rk-svg-doc" viewBox="0 0 100 140">
                    <rect x="10" y="10" width="80" height="120" rx="5" fill="#fff" stroke="#cbd5e1" stroke-width="2"/>
                    <rect x="20" y="30" width="60" height="40" rx="2" fill="#e0f2fe"/>
                    <line x1="20" y1="85" x2="80" y2="85" stroke="#cbd5e1" stroke-width="4" class="anim-line"/>
                    <line x1="20" y1="100" x2="60" y2="100" stroke="#cbd5e1" stroke-width="4" class="anim-line" style="animation-delay: 0.5s;"/>
                    <circle cx="50" cy="50" r="10" fill="none" stroke="#0ea5e9" stroke-width="3"/>
                </svg>
            </div>
            <div class="rk-res-info">
                <h3>Szybka diagnoza dla inwestora</h3>
                <p>Opracowana przeze mnie infografika pozwala w 30 sekund zrozumieć, czy Twój dom potrzebuje ochrony glikolowej. Zawiera kluczowy wykres sprawności.</p>
                <ul class="rk-feature-list">
                    <li class="rk-feature-item"><div class="rk-feature-dot"></div> Tabela stężeń vs temperatura</li>
                    <li class="rk-feature-item"><div class="rk-feature-dot"></div> Diagnoza spadku przewodności cieplnej</li>
                    <li class="rk-feature-item"><div class="rk-feature-dot"></div> Lista 3 krytycznych błędów serwisowych</li>
                </ul>
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Glikol-w-ogrzewaniu-podlogowym.webp" target="_blank" class="rk-download-link">
                    POBIERZ INFOGRAFIKĘ (WEBP)
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3"/></svg>
                </a>
            </div>
        </div>

        <div class="rk-res-panel" id="panel-pdf">
            <div class="rk-res-visual">
                <svg class="rk-svg-doc" viewBox="0 0 100 140">
                    <rect x="10" y="10" width="80" height="120" rx="5" fill="#1e293b" stroke="#334155" stroke-width="2"/>
                    <text x="25" y="45" fill="#ffffff" font-size="12" font-weight="900">PDF</text>
                    <rect x="25" y="60" width="50" height="4" rx="2" fill="#0ea5e9"/>
                    <rect x="25" y="75" width="50" height="4" rx="2" fill="#334155"/>
                    <rect x="25" y="90" width="30" height="4" rx="2" fill="#334155"/>
                </svg>
            </div>
            <div class="rk-res-info">
                <h3>Wytyczne projektowe (Full PDF)</h3>
                <p>Kompletne opracowanie techniczne dla instalatorów i projektantów. Zawiera konkretne wyliczenia ubytku wydajności hydraulicznej o 11%.</p>
                <ul class="rk-feature-list">
                    <li class="rk-feature-item"><div class="rk-feature-dot" style="background:#f59e0b"></div> Pełna zgodność z normą PN-EN 12828</li>
                    <li class="rk-feature-item"><div class="rk-feature-dot" style="background:#f59e0b"></div> Korekta OZC dla rozstawu 10 cm</li>
                    <li class="rk-feature-item"><div class="rk-feature-dot" style="background:#f59e0b"></div> Protokół weryfikacji pH i inhibitorów</li>
                </ul>
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/05/Infografika-Glikol-w-ogrzewaniu-podlogowym.pdf" target="_blank" class="rk-download-link" style="background: var(--rk-res-blue-dark)">
                    POBIERZ PEŁNY PORADNIK (PDF)
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3"/></svg>
                </a>
            </div>
        </div>

    </div>

    <div class="rk-res-footer">
        <div class="rk-res-meta">
            Ostatnia aktualizacja: <strong>09.05.2026</strong> | Norma: <strong>PN-EN 12828</strong>
        </div>
        <div class="rk-res-meta">
            Projektant: <a href="https://projekt-ogrzewania.pl/" style="color:var(--rk-res-blue); text-decoration:none;">Robert Kucharski</a>
        </div>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie Domenowe (Bez nagłówków H2/H3 w komunikacie)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('rk-resources-app');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #0f172a; color: #ef4444; border: 2px solid #dc2626; border-radius: 20px; font-family: sans-serif;">
                    <div style="font-size: 36px; margin-bottom: 15px;">🛡️</div>
                    <div style="font-size: 18px; font-weight: 900; margin-bottom: 10px; text-transform: uppercase;">Zabezpieczenie Praw Autorskich</div>
                    <div style="font-size: 14px; color: #cbd5e1; max-width: 500px; margin: 0 auto; line-height: 1.6;">
                        Interaktywny Hub Zasobów oraz warstwa Invisible Data są własnością intelektualną serwisu Projekt-Ogrzewania.pl. Wykryto próbę kradzieży kodu.
                    </div>
                </div>
            `;
            return;
        }
    }

    // 2. Logika Przełączania Paneli
    const btns = document.querySelectorAll('.rk-res-btn');
    const panels = document.querySelectorAll('.rk-res-panel');

    btns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Active Button
            btns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Active Panel
            const target = this.getAttribute('data-target');
            panels.forEach(p => {
                p.classList.remove('active');
                if (p.id === target) p.classList.add('active');
            });
        });
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/">Glikol w ogrzewaniu podłogowym – prawda i mity, które musi znać każdy inwestor.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
