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

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa glikol etylenowy - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/glikol-etylenowy/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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>
		<item>
		<title>Czym napełnić instalację ogrzewania podłogowego?</title>
		<link>https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 31 Jan 2025 12:30:43 +0000</pubDate>
				<category><![CDATA[Bezpieczeństwo instalacji]]></category>
		<category><![CDATA[Budowa i remont]]></category>
		<category><![CDATA[Dom i wnętrze]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Konserwacja systemów grzewczych]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[efektywność grzewcza]]></category>
		<category><![CDATA[glikol etylenowy]]></category>
		<category><![CDATA[glikol propylenowy]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[konserwacja ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[płyny grzewcze]]></category>
		<category><![CDATA[płyny niezamarzające]]></category>
		<category><![CDATA[poradnik ogrzewanie]]></category>
		<category><![CDATA[woda w instalacji]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2046</guid>

					<description><![CDATA[<p>Planujesz montaż ogrzewania podłogowego lub wymianę płynu w istniejącej instalacji? Dowiedz się, czym napełnić instalację ogrzewania podłogowego, aby zapewnić jej wydajność i trwałość. W artykule omawiamy różne opcje, takie jak woda z dodatkami czy płyny niezamarzające, oraz podpowiadamy, na co zwrócić uwagę przy wyborze płynu grzewczego. Sprawdź, jak uniknąć błędów i cieszyć się komfortem cieplnym przez lata!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/">Czym napełnić instalację ogrzewania podłogowego?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ogrzewanie podłogowe to coraz popularniejsze rozwiązanie, które zapewnia komfort cieplny i równomierne rozprowadzenie ciepła w pomieszczeniach. Jednak aby system działał sprawnie i efektywnie, kluczowe jest odpowiednie napełnienie instalacji ogrzewania podłogowego. W tym artykule dowiesz się,&nbsp;<strong>czym napełnić instalację ogrzewania podłogowego</strong>, jakie są dostępne opcje oraz na co zwrócić uwagę, aby uniknąć problemów w przyszłości.</p>



<h2 class="wp-block-heading"><strong>Dlaczego właściwe napełnienie instalacji jest tak ważne?</strong></h2>



<p class="wp-block-paragraph">Odpowiednie napełnienie instalacji ogrzewania podłogowego ma kluczowe znaczenie dla jej wydajności i trwałości. <strong>Niewłaściwy płyn grzewczy</strong> może prowadzić do korozji, osadzania się kamienia, a nawet uszkodzenia <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rur</a>. Dlatego wybór odpowiedniego medium grzewczego to nie tylko kwestia komfortu, ale także bezpieczeństwa i oszczędności.</p>



<h3 class="wp-block-heading"><strong>Woda jako podstawowy nośnik ciepła</strong>.</h3>



<p class="wp-block-paragraph">Najczęstszym wyborem do napełnienia instalacji ogrzewania podłogowego jest&nbsp;<strong>woda</strong>. Jest to tanie i łatwo dostępne rozwiązanie, które doskonale przewodzi ciepło. Jednak woda nie jest pozbawiona wad – może powodować korozję rur, a w niskich temperaturach zamarzać, co grozi uszkodzeniem całego systemu.</p>



<p class="wp-block-paragraph">Aby zminimalizować te ryzyka, do wody często dodaje się&nbsp;<strong>inhibitory korozji</strong>&nbsp;oraz&nbsp;<strong>środki zapobiegające zamarzaniu</strong>. W ten sposób powstaje mieszanka, która chroni instalację przed szkodliwymi czynnikami.</p>



<h3 class="wp-block-heading"><strong>Płyny niezamarzające – alternatywa dla wody</strong>.</h3>



<p class="wp-block-paragraph">Jeśli obawiasz się zamarznięcia wody w instalacji, warto rozważyć zastosowanie&nbsp;<strong>płynów niezamarzających</strong>. Są to specjalne preparaty, które obniżają temperaturę krzepnięcia, zapewniając bezpieczeństwo nawet w mroźne zimy.</p>



<p class="wp-block-paragraph">Popularne płyny niezamarzające to m.in.:</p>



<ul class="wp-block-list">
<li><strong>Glikol propylenowy</strong>&nbsp;– bezpieczny dla środowiska i ludzi, często stosowany w domowych instalacjach.</li>



<li><strong>Glikol etylenowy</strong>&nbsp;– bardziej wydajny, ale toksyczny, dlatego wymaga ostrożności podczas stosowania.</li>
</ul>



<p class="wp-block-paragraph">Pamiętaj, że płyny niezamarzające mają niższą pojemność cieplną niż woda, co może wpłynąć na efektywność ogrzewania. Dlatego przed ich zastosowaniem warto skonsultować się z fachowcem.</p>



<h2 class="wp-block-heading"><strong>Jakie parametry płynu grzewczego są ważne?</strong></h2>



<p class="wp-block-paragraph">Wybierając płyn do napełnienia instalacji <a href="https://projekt-ogrzewania.pl/category/ogrzewanie-podlogowe/">ogrzewania podłogowego</a>, zwróć uwagę na kilka kluczowych parametrów:</p>



<ol start="1" class="wp-block-list">
<li><strong>Temperatura krzepnięcia</strong>&nbsp;– im niższa, tym lepiej, zwłaszcza w regionach o surowych zimach.</li>



<li><strong>Odporność na korozję</strong>&nbsp;– płyn powinien zawierać inhibitory, które chronią rury i elementy instalacji.</li>



<li><strong>Przewodność cieplna</strong>&nbsp;– im wyższa, tym lepsza efektywność ogrzewania.</li>



<li><strong>Bezpieczeństwo dla środowiska i ludzi</strong>&nbsp;– szczególnie ważne w przypadku wycieków.</li>
</ol>



<h3 class="wp-block-heading"><strong>Czy można mieszać różne płyny grzewcze?</strong></h3>



<p class="wp-block-paragraph">Mieszanie różnych płynów grzewczych może prowadzić do nieprzewidzianych reakcji chemicznych, które uszkodzą instalację. Dlatego&nbsp;<strong>nie zaleca się łączenia różnych preparatów</strong>. Jeśli chcesz zmienić płyn w istniejącej instalacji, najpierw dokładnie ją przepłucz.</p>



<h2 class="wp-block-heading"><strong>Jak prawidłowo napełnić instalację ogrzewania podłogowego?</strong></h2>



<p class="wp-block-paragraph">Napełnianie instalacji ogrzewania podłogowego to proces, który wymaga precyzji i odpowiedniego sprzętu. Oto kroki, które warto podjąć:</p>



<ol start="1" class="wp-block-list">
<li><strong>Przepłucz instalację</strong>&nbsp;– usuń ewentualne zanieczyszczenia i resztki starego płynu.</li>



<li><strong>Sprawdź szczelność</strong>&nbsp;– przed napełnieniem upewnij się, że system nie ma przecieków.</li>



<li><strong>Użyj pompy do napełniania</strong>&nbsp;– pozwala to na równomierne rozprowadzenie płynu w całej instalacji.</li>



<li><strong>Usuń powietrze z systemu</strong>&nbsp;– odpowietrzenie jest kluczowe dla efektywnego działania ogrzewania.</li>
</ol>



<h3 class="wp-block-heading"><strong>Kiedy warto skorzystać z pomocy specjalisty?</strong></h3>



<p class="wp-block-paragraph">Jeśli nie masz doświadczenia w pracy z instalacjami grzewczymi, warto skorzystać z pomocy fachowca.&nbsp;<strong>Niewłaściwe napełnienie instalacji</strong>&nbsp;może prowadzić do poważnych awarii, a koszty napraw często przewyższają koszt usługi profesjonalisty.</p>



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



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1738325680175"><strong class="schema-faq-question"><strong>Czy można użyć zwykłej wody do napełnienia instalacji ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Tak, ale warto dodać inhibitory korozji i środki zapobiegające zamarzaniu, aby chronić instalację przed uszkodzeniami.</p> </div> <div class="schema-faq-section" id="faq-question-1738325691439"><strong class="schema-faq-question"><strong>Kiedy warto zastosować płyny niezamarzające?</strong></strong> <p class="schema-faq-answer">Płyny niezamarzające są zalecane w regionach o surowych zimach, gdzie istnieje ryzyko zamarznięcia wody w instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1738325717276"><strong class="schema-faq-question"><strong>Czy można mieszać różne płyny grzewcze?</strong></strong> <p class="schema-faq-answer">Nie, mieszanie różnych płynów może prowadzić do reakcji chemicznych, które uszkodzą instalację. Zawsze używaj jednego rodzaju płynu.</p> </div> <div class="schema-faq-section" id="faq-question-1738325740397"><strong class="schema-faq-question"><strong>Jak często należy wymieniać płyn w instalacji ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Zaleca się wymianę płynu co 3-5 lat, w zależności od zaleceń producenta i stanu instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1738325750896"><strong class="schema-faq-question"><strong>Czy napełnianie instalacji ogrzewania podłogowego wymaga specjalistycznego sprzętu?</strong></strong> <p class="schema-faq-answer">Tak, do prawidłowego napełnienia i odpowietrzenia instalacji potrzebna jest pompa oraz wiedza techniczna. W razie wątpliwości warto skorzystać z pomocy fachowca.</p> </div> </div>



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



<p class="wp-block-paragraph">Wybór odpowiedniego płynu do napełnienia instalacji ogrzewania podłogowego ma ogromne znaczenie dla jej wydajności i trwałości.&nbsp;<strong>Woda z dodatkami</strong>&nbsp;to najczęstszy wybór, ale w przypadku ryzyka zamarzania warto rozważyć&nbsp;<strong>płyny niezamarzające</strong>. Pamiętaj, aby zwracać uwagę na parametry płynu, takie jak temperatura krzepnięcia, odporność na korozję i bezpieczeństwo.</p>



<p class="wp-block-paragraph">Jeśli masz wątpliwości, zawsze możesz <a href="https://projekt-ogrzewania.pl/kontakt/">skonsultować się z ekspertem</a>, który pomoże dobrać najlepsze rozwiązanie dla Twojej instalacji. Dzięki temu będziesz cieszyć się komfortem cieplnym przez wiele lat!</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="wuo39ZeHCg"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=i4qNmCuOf6#?secret=wuo39ZeHCg" data-secret="wuo39ZeHCg" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/">Czym napełnić instalację ogrzewania podłogowego?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
